arm_compute v18.08
diff --git a/documentation/namespacearm__compute.xhtml b/documentation/namespacearm__compute.xhtml
index bf52da2..2f3d996 100644
--- a/documentation/namespacearm__compute.xhtml
+++ b/documentation/namespacearm__compute.xhtml
@@ -40,7 +40,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Compute Library
-   &#160;<span id="projectnumber">18.05</span>
+   &#160;<span id="projectnumber">18.08</span>
    </div>
   </td>
  </tr>
@@ -192,9 +192,6 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_array.xhtml">Array</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the <a class="el" href="classarm__compute_1_1_i_array.xhtml" title="Array of type T. ">IArray</a> interface which allocates a static number of T values.  <a href="classarm__compute_1_1_array.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assembly kernel glue.  <a href="classarm__compute_1_1_assembly_kernel_glue.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_lifetime_manager.xhtml">BlobLifetimeManager</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concrete class that tracks the lifetime of registered tensors and calculates the systems memory requirements in terms of blobs.  <a href="classarm__compute_1_1_blob_lifetime_manager.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -240,6 +237,12 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the arithmetic addition kernel.  <a href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_division.xhtml">CLArithmeticDivision</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_division_kernel.xhtml">CLArithmeticDivisionKernel</a>.  <a href="classarm__compute_1_1_c_l_arithmetic_division.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_division_kernel.xhtml">CLArithmeticDivisionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the arithmetic division kernel.  <a href="classarm__compute_1_1_c_l_arithmetic_division_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml">CLArithmeticSubtraction</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a>.  <a href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -330,6 +333,9 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the color convert kernel.  <a href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_concatenate_layer.xhtml">CLConcatenateLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along a given axis.  <a href="classarm__compute_1_1_c_l_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convert_fully_connected_weights.xhtml">CLConvertFullyConnectedWeights</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_convert_fully_connected_weights_kernel.xhtml">CLConvertFullyConnectedWeightsKernel</a>.  <a href="classarm__compute_1_1_c_l_convert_fully_connected_weights.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -476,6 +482,9 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_flatten_layer.xhtml">CLFlattenLayer</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute flatten.  <a href="classarm__compute_1_1_c_l_flatten_layer.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_flatten_layer_kernel.xhtml">CLFlattenLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL interface for the flatten kernel.  <a href="classarm__compute_1_1_c_l_flatten_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor.xhtml">CLFloor</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a>.  <a href="classarm__compute_1_1_c_l_floor.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -973,6 +982,9 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml">enable_bitwise_ops&lt; arm_compute::GPUTarget &gt;</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable bitwise operations on GPUTarget enumerations.  <a href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_fully_connected_layer_info.xhtml">FullyConnectedLayerInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fully connected layer info.  <a href="structarm__compute_1_1_fully_connected_layer_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_absolute_difference.xhtml">GCAbsoluteDifference</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_absolute_difference_kernel.xhtml">GCAbsoluteDifferenceKernel</a>.  <a href="classarm__compute_1_1_g_c_absolute_difference.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1302,9 +1314,6 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml">INEWarpKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for warp affine and warp perspective.  <a href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_winograd_layer_batched_g_e_m_m_kernel.xhtml">INEWinogradLayerBatchedGEMMKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the NEON kernel to perform Winograd.  <a href="classarm__compute_1_1_i_n_e_winograd_layer_batched_g_e_m_m_kernel.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_winograd_layer_transform_input_kernel.xhtml">INEWinogradLayerTransformInputKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the NEON kernel to perform Winograd input transform.  <a href="classarm__compute_1_1_i_n_e_winograd_layer_transform_input_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1487,6 +1496,9 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the color convert kernel.  <a href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convert_fully_connected_weights.xhtml">NEConvertFullyConnectedWeights</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_convert_fully_connected_weights_kernel.xhtml">NEConvertFullyConnectedWeightsKernel</a>.  <a href="classarm__compute_1_1_n_e_convert_fully_connected_weights.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1503,7 +1515,7 @@
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a convolution layer.  <a href="classarm__compute_1_1_n_e_convolution_layer.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml">NEConvolutionLayerReshapeWeights</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reshape and perform 1xW transposition on the weights.  <a href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reshape the weights.  <a href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml">NEConvolutionRectangle</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non-square convolution.  <a href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml#details">More...</a><br /></td></tr>
@@ -1514,6 +1526,12 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute convolution of size 5x5, 7x7, 9x9.  <a href="classarm__compute_1_1_n_e_convolution_square.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_copy.xhtml">NECopy</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_copy_kernel.xhtml">NECopyKernel</a>.  <a href="classarm__compute_1_1_n_e_copy.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_copy_kernel.xhtml">NECopyKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a copy between two tensors.  <a href="classarm__compute_1_1_n_e_copy_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml">NECumulativeDistributionKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the cumulative distribution (cummulative summmation) calculation kernel.  <a href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1664,8 +1682,11 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml">NEGEMMAssemblyBaseKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for GEMM NEON kernels implemented in Assembly.  <a href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_assembly_dispatch.xhtml">NEGEMMAssemblyDispatch</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assembly kernel glue.  <a href="classarm__compute_1_1_n_e_g_e_m_m_assembly_dispatch.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_convolution_layer.xhtml">NEGEMMConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a convolution layer.  <a href="classarm__compute_1_1_n_e_g_e_m_m_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute the convolution layer.  <a href="classarm__compute_1_1_n_e_g_e_m_m_convolution_layer.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml">NEGEMMInterleave4x4</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml" title="NEON kernel to interleave the elements of a matrix. ">NEGEMMInterleave4x4Kernel</a>.  <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml#details">More...</a><br /></td></tr>
@@ -1673,6 +1694,9 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td><td class="mdescRight">Equivalent to arm_gemm::GemmInterleaved 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">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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">&#160;</td></tr>
@@ -1895,6 +1919,9 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform tensor reshaping.  <a href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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">&#160;</td></tr>
@@ -1919,6 +1946,9 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Vertical pass of a Separable Convolution.  <a href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_simple_assembly_function.xhtml">NESimpleAssemblyFunction</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for functions which have a single NEON GEMM wrapper kernel to run.  <a href="classarm__compute_1_1_n_e_simple_assembly_function.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3.xhtml">NESobel3x3</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 3x3 filter.  <a href="classarm__compute_1_1_n_e_sobel3x3.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1979,11 +2009,17 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml">NEWeightsReshapeKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform reshaping on the weights used by convolution and locally connected layer.  <a href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_width_concatenate_layer.xhtml">NEWidthConcatenateLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along x axis.  <a href="classarm__compute_1_1_n_e_width_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_width_concatenate_layer_kernel.xhtml">NEWidthConcatenateLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the width concatenate kernel.  <a href="classarm__compute_1_1_n_e_width_concatenate_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_convolution_layer.xhtml">NEWinogradConvolutionLayer</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a convolution layer.  <a href="classarm__compute_1_1_n_e_winograd_convolution_layer.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_batched_g_e_m_m_kernel.xhtml">NEWinogradLayerBatchedGEMMKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Winograd.  <a href="classarm__compute_1_1_n_e_winograd_layer_batched_g_e_m_m_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_configuration.xhtml">NEWinogradLayerConfiguration</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Winograd.  <a href="classarm__compute_1_1_n_e_winograd_layer_configuration.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_transform_input_kernel.xhtml">NEWinogradLayerTransformInputKernel</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Winograd input transform.  <a href="classarm__compute_1_1_n_e_winograd_layer_transform_input_kernel.xhtml#details">More...</a><br /></td></tr>
@@ -2072,6 +2108,9 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the tensor interface.  <a href="classarm__compute_1_1_tensor.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_accessor.xhtml">TensorAccessor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> accessors to make it easier to interface with arm_gemm.  <a href="classarm__compute_1_1_tensor_accessor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml">TensorAllocator</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a CPU memory tensor allocator.  <a href="classarm__compute_1_1_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -2093,6 +2132,9 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describe a multidimensional execution window.  <a href="classarm__compute_1_1_window.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_window_iterator.xhtml">WindowIterator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate over a portion of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a>.  <a href="classarm__compute_1_1_window_iterator.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Winograd information.  <a href="structarm__compute_1_1_winograd_info.xhtml#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -2177,18 +2219,6 @@
 <tr class="memitem:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> = <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
 <tr class="memdesc:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for CPP Images.  <a href="#ac20902ac1ef01783c8a8d71a9bdf1100">More...</a><br /></td></tr>
 <tr class="separator:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> = int8_t</td></tr>
-<tr class="memdesc:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar value  <a href="#a4c3f681c30c9398c45bc3cd5dc4f038a">More...</a><br /></td></tr>
-<tr class="separator:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1521eea74b97de8f2df9304e44179400"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> = int16_t</td></tr>
-<tr class="memdesc:a1521eea74b97de8f2df9304e44179400"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar value  <a href="#a1521eea74b97de8f2df9304e44179400">More...</a><br /></td></tr>
-<tr class="separator:a1521eea74b97de8f2df9304e44179400"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa06c95f9976f3729316d689b4419089f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> = int32_t</td></tr>
-<tr class="memdesc:aa06c95f9976f3729316d689b4419089f"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point scalar value  <a href="#aa06c95f9976f3729316d689b4419089f">More...</a><br /></td></tr>
-<tr class="separator:aa06c95f9976f3729316d689b4419089f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adc3be0bc3741b081217b2609abcf0333"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> = int64_t</td></tr>
-<tr class="memdesc:adc3be0bc3741b081217b2609abcf0333"><td class="mdescLeft">&#160;</td><td class="mdescRight">64 bit fixed point scalar value  <a href="#adc3be0bc3741b081217b2609abcf0333">More...</a><br /></td></tr>
-<tr class="separator:adc3be0bc3741b081217b2609abcf0333"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a39070701484fa98eaa18cfcdb6aeb175"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a39070701484fa98eaa18cfcdb6aeb175">IGCImage</a> = <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a></td></tr>
 <tr class="memdesc:a39070701484fa98eaa18cfcdb6aeb175"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for GLES Compute image.  <a href="#a39070701484fa98eaa18cfcdb6aeb175">More...</a><br /></td></tr>
 <tr class="separator:a39070701484fa98eaa18cfcdb6aeb175"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -2286,10 +2316,6 @@
 <tr class="memitem:a19699533eb1b662e46a10715f6086487"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19699533eb1b662e46a10715f6086487">INELKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> &gt;</td></tr>
 <tr class="memdesc:a19699533eb1b662e46a10715f6086487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for NEON <a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a> of Internal Key Points.  <a href="#a19699533eb1b662e46a10715f6086487">More...</a><br /></td></tr>
 <tr class="separator:a19699533eb1b662e46a10715f6086487"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="memTemplParams" colspan="2">template&lt;MagnitudeType mag_type, PhaseType phase_type&gt; </td></tr>
-<tr class="memitem:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0d4d47f41fae07bb3efb2d723b9965c3">NEMagnitudePhaseFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a>&lt; mag_type, phase_type &gt;</td></tr>
-<tr class="memdesc:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase.  <a href="#a0d4d47f41fae07bb3efb2d723b9965c3">More...</a><br /></td></tr>
-<tr class="separator:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a38cad49e6beaef76bc1ec5064c9e9dba">NENonMaximaSuppression3x3FP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
 <tr class="memdesc:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in FP16 if the input data type is FP32.  <a href="#a38cad49e6beaef76bc1ec5064c9e9dba">More...</a><br /></td></tr>
 <tr class="separator:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -2308,63 +2334,6 @@
 <tr class="memitem:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> = uint8x16_t</td></tr>
 <tr class="memdesc:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit quantized asymmetric vector with 16 elements  <a href="#ac7e1832b8c58f07a98fc8d390b16ac27">More...</a><br /></td></tr>
 <tr class="separator:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16a1bee14f1db073f75caa76dacf5078"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> = int8x8_t</td></tr>
-<tr class="memdesc:a16a1bee14f1db073f75caa76dacf5078"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 8 elements  <a href="#a16a1bee14f1db073f75caa76dacf5078">More...</a><br /></td></tr>
-<tr class="separator:a16a1bee14f1db073f75caa76dacf5078"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace2375b626995858a398e1ffb3108f14"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ace2375b626995858a398e1ffb3108f14">qint8x8x2_t</a> = int8x8x2_t</td></tr>
-<tr class="memdesc:ace2375b626995858a398e1ffb3108f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 16 elements  <a href="#ace2375b626995858a398e1ffb3108f14">More...</a><br /></td></tr>
-<tr class="separator:ace2375b626995858a398e1ffb3108f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a252c74fae9a9238ef7c23d306e670706"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a252c74fae9a9238ef7c23d306e670706">qint8x8x3_t</a> = int8x8x3_t</td></tr>
-<tr class="memdesc:a252c74fae9a9238ef7c23d306e670706"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 24 elements  <a href="#a252c74fae9a9238ef7c23d306e670706">More...</a><br /></td></tr>
-<tr class="separator:a252c74fae9a9238ef7c23d306e670706"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a01ae65c0a0736d4293e657a66bde1538"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01ae65c0a0736d4293e657a66bde1538">qint8x8x4_t</a> = int8x8x4_t</td></tr>
-<tr class="memdesc:a01ae65c0a0736d4293e657a66bde1538"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 32 elements  <a href="#a01ae65c0a0736d4293e657a66bde1538">More...</a><br /></td></tr>
-<tr class="separator:a01ae65c0a0736d4293e657a66bde1538"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> = int8x16_t</td></tr>
-<tr class="memdesc:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 16 elements  <a href="#a5b99ed49abd6b7bf13dafdd17bcef855">More...</a><br /></td></tr>
-<tr class="separator:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09108711e0c18d4e9811ea4597d573b1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a09108711e0c18d4e9811ea4597d573b1">qint8x16x2_t</a> = int8x16x2_t</td></tr>
-<tr class="memdesc:a09108711e0c18d4e9811ea4597d573b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 32 elements  <a href="#a09108711e0c18d4e9811ea4597d573b1">More...</a><br /></td></tr>
-<tr class="separator:a09108711e0c18d4e9811ea4597d573b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e175277ee7de6a5aeb5cd8916dbb346">qint8x16x3_t</a> = int8x16x3_t</td></tr>
-<tr class="memdesc:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 48 elements  <a href="#a7e175277ee7de6a5aeb5cd8916dbb346">More...</a><br /></td></tr>
-<tr class="separator:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c4b33603ffff71e9f02c4be1a2f14d5">qint8x16x4_t</a> = int8x16x4_t</td></tr>
-<tr class="memdesc:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 64 elements  <a href="#a3c4b33603ffff71e9f02c4be1a2f14d5">More...</a><br /></td></tr>
-<tr class="separator:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82c56f0856f56d430393e6a00baee983"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> = int16x4_t</td></tr>
-<tr class="memdesc:a82c56f0856f56d430393e6a00baee983"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 4 elements  <a href="#a82c56f0856f56d430393e6a00baee983">More...</a><br /></td></tr>
-<tr class="separator:a82c56f0856f56d430393e6a00baee983"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8d57e0f4f122442011213667168ef538"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8d57e0f4f122442011213667168ef538">qint16x4x2_t</a> = int16x4x2_t</td></tr>
-<tr class="memdesc:a8d57e0f4f122442011213667168ef538"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 8 elements  <a href="#a8d57e0f4f122442011213667168ef538">More...</a><br /></td></tr>
-<tr class="separator:a8d57e0f4f122442011213667168ef538"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a63f034ee885f20111e7f5d44e48e6d93"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a63f034ee885f20111e7f5d44e48e6d93">qint16x4x3_t</a> = int16x4x3_t</td></tr>
-<tr class="memdesc:a63f034ee885f20111e7f5d44e48e6d93"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 12 elements  <a href="#a63f034ee885f20111e7f5d44e48e6d93">More...</a><br /></td></tr>
-<tr class="separator:a63f034ee885f20111e7f5d44e48e6d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8525b18a2f34c3497bbfbd0e7c3a7875">qint16x4x4_t</a> = int16x4x4_t</td></tr>
-<tr class="memdesc:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 16 elements  <a href="#a8525b18a2f34c3497bbfbd0e7c3a7875">More...</a><br /></td></tr>
-<tr class="separator:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4e15143176bfacdde8b06f4bb0b67427"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> = int16x8_t</td></tr>
-<tr class="memdesc:a4e15143176bfacdde8b06f4bb0b67427"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 8 elements  <a href="#a4e15143176bfacdde8b06f4bb0b67427">More...</a><br /></td></tr>
-<tr class="separator:a4e15143176bfacdde8b06f4bb0b67427"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> = int16x8x2_t</td></tr>
-<tr class="memdesc:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 16 elements  <a href="#a3c4099e91913f28017e1f57b8e5cbf9f">More...</a><br /></td></tr>
-<tr class="separator:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a65e109cf43ade8a2a3c57a1120b90b05"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65e109cf43ade8a2a3c57a1120b90b05">qint16x8x3_t</a> = int16x8x3_t</td></tr>
-<tr class="memdesc:a65e109cf43ade8a2a3c57a1120b90b05"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 24 elements  <a href="#a65e109cf43ade8a2a3c57a1120b90b05">More...</a><br /></td></tr>
-<tr class="separator:a65e109cf43ade8a2a3c57a1120b90b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6bc1e8d62f1055278d8f05454faa422f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6bc1e8d62f1055278d8f05454faa422f">qint16x8x4_t</a> = int16x8x4_t</td></tr>
-<tr class="memdesc:a6bc1e8d62f1055278d8f05454faa422f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 32 elements  <a href="#a6bc1e8d62f1055278d8f05454faa422f">More...</a><br /></td></tr>
-<tr class="separator:a6bc1e8d62f1055278d8f05454faa422f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:addcffa8e8086154c0449c23e6b0dff83"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> = int32x2_t</td></tr>
-<tr class="memdesc:addcffa8e8086154c0449c23e6b0dff83"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector with 2 elements  <a href="#addcffa8e8086154c0449c23e6b0dff83">More...</a><br /></td></tr>
-<tr class="separator:addcffa8e8086154c0449c23e6b0dff83"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd854c117af4dbd12633db2fbc01dd49"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> = int32x4_t</td></tr>
-<tr class="memdesc:abd854c117af4dbd12633db2fbc01dd49"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector with 4 elements  <a href="#abd854c117af4dbd12633db2fbc01dd49">More...</a><br /></td></tr>
-<tr class="separator:abd854c117af4dbd12633db2fbc01dd49"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6ed7f8448a2a08a531e8202334e4dcdd">qint32x4x2_t</a> = int32x4x2_t</td></tr>
-<tr class="memdesc:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector with 8 elements  <a href="#a6ed7f8448a2a08a531e8202334e4dcdd">More...</a><br /></td></tr>
-<tr class="separator:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="memItemLeft" align="right" valign="top">using&#160;</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">&#160;</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">&#160;</td></tr>
@@ -2478,15 +2447,6 @@
 <tr class="memitem:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memItemLeft" align="right" valign="top">using&#160;</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>&lt; <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &gt;</td></tr>
 <tr class="memdesc:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
-<tr class="memitem:aa0ae8d74ae5f69f30679b9acf678eca5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa0ae8d74ae5f69f30679b9acf678eca5">AssemblyKernelGlueF32</a> = <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt; float, float &gt;</td></tr>
-<tr class="memdesc:aa0ae8d74ae5f69f30679b9acf678eca5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Float 32 assembly kernel glue.  <a href="#aa0ae8d74ae5f69f30679b9acf678eca5">More...</a><br /></td></tr>
-<tr class="separator:aa0ae8d74ae5f69f30679b9acf678eca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abb1d131ce675ab28d22ff80bf0942c4d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abb1d131ce675ab28d22ff80bf0942c4d">AssemblyKernelGlueU8U32</a> = <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt; uint8_t, uint32_t &gt;</td></tr>
-<tr class="memdesc:abb1d131ce675ab28d22ff80bf0942c4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uint 8 to Uint 32 kernel glue.  <a href="#abb1d131ce675ab28d22ff80bf0942c4d">More...</a><br /></td></tr>
-<tr class="separator:abb1d131ce675ab28d22ff80bf0942c4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a08ae4f1297248a1e6d46564cd97066b4"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a08ae4f1297248a1e6d46564cd97066b4">AssemblyKernelGlueS8S32</a> = <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt; int8_t, int32_t &gt;</td></tr>
-<tr class="memdesc:a08ae4f1297248a1e6d46564cd97066b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Int 8 to Int 32 kernel glue.  <a href="#a08ae4f1297248a1e6d46564cd97066b4">More...</a><br /></td></tr>
-<tr class="separator:a08ae4f1297248a1e6d46564cd97066b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:adbc7771d367ba8f51da1450d3602e5c0"><td class="memItemLeft" align="right" valign="top">using&#160;</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>&lt; 5 &gt;</td></tr>
 <tr class="memdesc:adbc7771d367ba8f51da1450d3602e5c0"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
@@ -2528,15 +2488,21 @@
  }<tr class="memdesc:a3a440b3893fa10608d4428958be1c52e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available OpenCL Version.  <a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">More...</a><br /></td></tr>
 </td></tr>
 <tr class="separator:a3a440b3893fa10608d4428958be1c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa41d7415a5386798147cccae2333d5d4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> { <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, 
+<tr class="memitem:aa41d7415a5386798147cccae2333d5d4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> { <br />
+&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, 
+<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>, 
+<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>, 
 <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>, 
-<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>, 
+<br />
+&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>, 
 <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>
+<br />
  }<tr class="memdesc:aa41d7415a5386798147cccae2333d5d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU models - we only need to detect CPUs we have microarchitecture-specific code for.  <a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">More...</a><br /></td></tr>
 </td></tr>
 <tr class="separator:aa41d7415a5386798147cccae2333d5d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a59e56af19e754a6aa26a612ebf91d05f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> { <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">OK</a>, 
-<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>
+<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>, 
+<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>
  }<tr class="memdesc:a59e56af19e754a6aa26a612ebf91d05f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available error codes.  <a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">More...</a><br /></td></tr>
 </td></tr>
 <tr class="separator:a59e56af19e754a6aa26a612ebf91d05f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -2556,7 +2522,7 @@
 <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a> = 0x231, 
 <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a> = 0x232, 
 <br />
-&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e">TNOX</a> = 0x240, 
+&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a> = 0x240, 
 <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a> = 0x250, 
 <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a> = 0x260
 <br />
@@ -2599,24 +2565,20 @@
 &#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, 
 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5">U8</a>, 
 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, 
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, 
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, 
 <br />
-&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, 
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, 
+&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, 
 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>, 
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, 
-<br />
-&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, 
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, 
 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, 
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, 
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, 
 <br />
-&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, 
+&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</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 />
-&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
+&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, 
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
 <br />
  }<tr class="memdesc:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available data types.  <a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">More...</a><br /></td></tr>
 </td></tr>
@@ -2753,19 +2715,6 @@
  }<tr class="memdesc:af0a4d6be70322c742c12da1edccbb74d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mapping type.  <a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">More...</a><br /></td></tr>
 </td></tr>
 <tr class="separator:af0a4d6be70322c742c12da1edccbb74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afa20b6a7f4383003babd690f026f22dc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> { <br />
-&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d">ADD</a>, 
-<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb">SUB</a>, 
-<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, 
-<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, 
-<br />
-&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, 
-<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, 
-<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>
-<br />
- }<tr class="memdesc:afa20b6a7f4383003babd690f026f22dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fixed point operation.  <a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:afa20b6a7f4383003babd690f026f22dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae46abc5ecac309cbece5c06cb80daaf7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> { <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>
  }<tr class="memdesc:ae46abc5ecac309cbece5c06cb80daaf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gradient dimension type.  <a href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">More...</a><br /></td></tr>
 </td></tr>
@@ -2782,9 +2731,9 @@
 <tr class="memitem:afc95473636a442507fda7ad48f3414c0"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc95473636a442507fda7ad48f3414c0">get_underlying_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
 <tr class="memdesc:afc95473636a442507fda7ad48f3414c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates fixed point tensor data type to the underlying OpenCL type.  <a href="#afc95473636a442507fda7ad48f3414c0">More...</a><br /></td></tr>
 <tr class="separator:afc95473636a442507fda7ad48f3414c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9d0143bdde8255313aae6ac020dd629c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d0143bdde8255313aae6ac020dd629c">get_target_from_device</a> (cl::Device &amp;device)</td></tr>
-<tr class="memdesc:a9d0143bdde8255313aae6ac020dd629c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from CL device.  <a href="#a9d0143bdde8255313aae6ac020dd629c">More...</a><br /></td></tr>
-<tr class="separator:a9d0143bdde8255313aae6ac020dd629c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22bd4d0de8eb9d2989a9fe61b1003e70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22bd4d0de8eb9d2989a9fe61b1003e70">get_target_from_device</a> (const cl::Device &amp;device)</td></tr>
+<tr class="memdesc:a22bd4d0de8eb9d2989a9fe61b1003e70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from CL device.  <a href="#a22bd4d0de8eb9d2989a9fe61b1003e70">More...</a><br /></td></tr>
+<tr class="separator:a22bd4d0de8eb9d2989a9fe61b1003e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a54c9b94a266f8065b64f001c47815b68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a54c9b94a266f8065b64f001c47815b68">get_cl_version</a> (const cl::Device &amp;device)</td></tr>
 <tr class="memdesc:a54c9b94a266f8065b64f001c47815b68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the highest OpenCL version supported.  <a href="#a54c9b94a266f8065b64f001c47815b68">More...</a><br /></td></tr>
 <tr class="separator:a54c9b94a266f8065b64f001c47815b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -2797,12 +2746,30 @@
 <tr class="memitem:a1faf3c8249d988fd152ab2dd16b029dc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1faf3c8249d988fd152ab2dd16b029dc">arm_non_uniform_workgroup_supported</a> (const cl::Device &amp;device)</td></tr>
 <tr class="memdesc:a1faf3c8249d988fd152ab2dd16b029dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the arm_non_uniform_work_group_size extension is supported.  <a href="#a1faf3c8249d988fd152ab2dd16b029dc">More...</a><br /></td></tr>
 <tr class="separator:a1faf3c8249d988fd152ab2dd16b029dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e1a11146f191cc0dc152e1be09b9339"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e1a11146f191cc0dc152e1be09b9339">dot8_supported</a> (const cl::Device &amp;device)</td></tr>
+<tr class="memdesc:a3e1a11146f191cc0dc152e1be09b9339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_arm_integer_dot_product_int8 extension is supported.  <a href="#a3e1a11146f191cc0dc152e1be09b9339">More...</a><br /></td></tr>
+<tr class="separator:a3e1a11146f191cc0dc152e1be09b9339"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b3ca013e6190e8a57de25064bf7caad"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b3ca013e6190e8a57de25064bf7caad">dot8_acc_supported</a> (const cl::Device &amp;device)</td></tr>
+<tr class="memdesc:a5b3ca013e6190e8a57de25064bf7caad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_arm_integer_dot_product_accumulate_int8 extension is supported.  <a href="#a5b3ca013e6190e8a57de25064bf7caad">More...</a><br /></td></tr>
+<tr class="separator:a5b3ca013e6190e8a57de25064bf7caad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd16b14c21838b5e9858f41d80bdcce7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afd16b14c21838b5e9858f41d80bdcce7">cl_winograd_convolution_layer_supported</a> (const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;output_tile, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;kernel_size, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout)</td></tr>
+<tr class="memdesc:afd16b14c21838b5e9858f41d80bdcce7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks if the Winograd configuration (defined through the output tile, kernel size and the data layout) is supported on OpenCL.  <a href="#afd16b14c21838b5e9858f41d80bdcce7">More...</a><br /></td></tr>
+<tr class="separator:afd16b14c21838b5e9858f41d80bdcce7"><td class="memSeparator" colspan="2">&#160;</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>&#160;</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">&#160;</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">&#160;</td></tr>
 <tr class="memitem:a0f68015f649819f1102aa73d7b88b29e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0f68015f649819f1102aa73d7b88b29e">enqueue</a> (cl::CommandQueue &amp;queue, <a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &amp;kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const cl::NDRange &amp;lws_hint=<a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get</a>().default_ndrange())</td></tr>
 <tr class="memdesc:a0f68015f649819f1102aa73d7b88b29e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the kernel to the command queue with the given window.  <a href="#a0f68015f649819f1102aa73d7b88b29e">More...</a><br /></td></tr>
 <tr class="separator:a0f68015f649819f1102aa73d7b88b29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa4f4d7a58287017588fc338965873f14"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa4f4d7a58287017588fc338965873f14">opencl_is_available</a> ()</td></tr>
 <tr class="memdesc:aa4f4d7a58287017588fc338965873f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if OpenCL is available.  <a href="#aa4f4d7a58287017588fc338965873f14">More...</a><br /></td></tr>
 <tr class="separator:aa4f4d7a58287017588fc338965873f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8e79316e933e15539e39cace39ba0e35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8e79316e933e15539e39cace39ba0e35">error_on_unsupported_cpu_fp16</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info)</td></tr>
+<tr class="memdesc:a8e79316e933e15539e39cace39ba0e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor info is FP16 and FP16 support is not compiled in.  <a href="#a8e79316e933e15539e39cace39ba0e35">More...</a><br /></td></tr>
+<tr class="separator:a8e79316e933e15539e39cace39ba0e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af2619085e2d6192b99df91fd805d8d30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af2619085e2d6192b99df91fd805d8d30">error_on_unsupported_cpu_fp16</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
+<tr class="memdesc:af2619085e2d6192b99df91fd805d8d30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor is FP16 and FP16 support is not compiled in.  <a href="#af2619085e2d6192b99df91fd805d8d30">More...</a><br /></td></tr>
+<tr class="separator:af2619085e2d6192b99df91fd805d8d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a096590f2456b9e9bcb8db98175720b60"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr class="memitem:a096590f2456b9e9bcb8db98175720b60"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a096590f2456b9e9bcb8db98175720b60">operator==</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;lhs, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;rhs)</td></tr>
 <tr class="memdesc:a096590f2456b9e9bcb8db98175720b60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check that given dimensions are equal.  <a href="#a096590f2456b9e9bcb8db98175720b60">More...</a><br /></td></tr>
@@ -2824,114 +2791,6 @@
 <tr class="memitem:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a568b0fbfa3d903099d9c9f7b6acf188d">error</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
 <tr class="memdesc:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print an error message then throw an std::runtime_error.  <a href="#a568b0fbfa3d903099d9c9f7b6acf188d">More...</a><br /></td></tr>
 <tr class="separator:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a203882febb616f5468d1b63b60ffb331"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int shift)</td></tr>
-<tr class="memdesc:a203882febb616f5468d1b63b60ffb331"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating shift left  <a href="#a203882febb616f5468d1b63b60ffb331">More...</a><br /></td></tr>
-<tr class="separator:a203882febb616f5468d1b63b60ffb331"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3e4f9ff20167e78399975ec02c009c95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e4f9ff20167e78399975ec02c009c95">sshr_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int shift)</td></tr>
-<tr class="memdesc:a3e4f9ff20167e78399975ec02c009c95"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar shift right  <a href="#a3e4f9ff20167e78399975ec02c009c95">More...</a><br /></td></tr>
-<tr class="separator:a3e4f9ff20167e78399975ec02c009c95"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1dfcf4fd912cbd9853c0f7ddfcf3a163">sshr_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int shift)</td></tr>
-<tr class="memdesc:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar shift right  <a href="#a1dfcf4fd912cbd9853c0f7ddfcf3a163">More...</a><br /></td></tr>
-<tr class="separator:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a383b9d12f86c35ceed6dd5922439aa4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int shift)</td></tr>
-<tr class="memdesc:a383b9d12f86c35ceed6dd5922439aa4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating shift left  <a href="#a383b9d12f86c35ceed6dd5922439aa4c">More...</a><br /></td></tr>
-<tr class="separator:a383b9d12f86c35ceed6dd5922439aa4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a43315c66c4d00207f70143233b189085"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
-<tr class="memdesc:a43315c66c4d00207f70143233b189085"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar absolute value  <a href="#a43315c66c4d00207f70143233b189085">More...</a><br /></td></tr>
-<tr class="separator:a43315c66c4d00207f70143233b189085"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d49ea329c81268d6e12031f6f13f1eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
-<tr class="memdesc:a5d49ea329c81268d6e12031f6f13f1eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar absolute value  <a href="#a5d49ea329c81268d6e12031f6f13f1eb">More...</a><br /></td></tr>
-<tr class="separator:a5d49ea329c81268d6e12031f6f13f1eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa8cee074ec68e2ae7830a9472efd8429"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">sadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
-<tr class="memdesc:aa8cee074ec68e2ae7830a9472efd8429"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar add  <a href="#aa8cee074ec68e2ae7830a9472efd8429">More...</a><br /></td></tr>
-<tr class="separator:aa8cee074ec68e2ae7830a9472efd8429"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab30659aa2125bd5857547d424e601e34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">sadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
-<tr class="memdesc:ab30659aa2125bd5857547d424e601e34"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar add  <a href="#ab30659aa2125bd5857547d424e601e34">More...</a><br /></td></tr>
-<tr class="separator:ab30659aa2125bd5857547d424e601e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a532d90e007d0cb6f3d43107229c40c32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
-<tr class="memdesc:a532d90e007d0cb6f3d43107229c40c32"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating add  <a href="#a532d90e007d0cb6f3d43107229c40c32">More...</a><br /></td></tr>
-<tr class="separator:a532d90e007d0cb6f3d43107229c40c32"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45669fcc0f31fce521179510e85dcb62"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
-<tr class="memdesc:a45669fcc0f31fce521179510e85dcb62"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating add  <a href="#a45669fcc0f31fce521179510e85dcb62">More...</a><br /></td></tr>
-<tr class="separator:a45669fcc0f31fce521179510e85dcb62"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af1a4a8b0eeee4d2d1c14774e2417f3de">sqadd_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a, <a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> b)</td></tr>
-<tr class="memdesc:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point scalar saturating add  <a href="#af1a4a8b0eeee4d2d1c14774e2417f3de">More...</a><br /></td></tr>
-<tr class="separator:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab97841950d268532e51f28a208ddafd4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
-<tr class="memdesc:ab97841950d268532e51f28a208ddafd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar subtraction  <a href="#ab97841950d268532e51f28a208ddafd4">More...</a><br /></td></tr>
-<tr class="separator:ab97841950d268532e51f28a208ddafd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a70476eda2d46c943d572362fe2fc9d14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
-<tr class="memdesc:a70476eda2d46c943d572362fe2fc9d14"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar subtraction  <a href="#a70476eda2d46c943d572362fe2fc9d14">More...</a><br /></td></tr>
-<tr class="separator:a70476eda2d46c943d572362fe2fc9d14"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae74bbb6e25cc1b774428722b2faad00c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
-<tr class="memdesc:ae74bbb6e25cc1b774428722b2faad00c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating subtraction  <a href="#ae74bbb6e25cc1b774428722b2faad00c">More...</a><br /></td></tr>
-<tr class="separator:ae74bbb6e25cc1b774428722b2faad00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a217e5c603560d6f73971983c6d1572a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
-<tr class="memdesc:a217e5c603560d6f73971983c6d1572a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating subtraction  <a href="#a217e5c603560d6f73971983c6d1572a1">More...</a><br /></td></tr>
-<tr class="separator:a217e5c603560d6f73971983c6d1572a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aec48f137adc904d648dd7eba0d828fab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:aec48f137adc904d648dd7eba0d828fab"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar multiply  <a href="#aec48f137adc904d648dd7eba0d828fab">More...</a><br /></td></tr>
-<tr class="separator:aec48f137adc904d648dd7eba0d828fab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar multiply  <a href="#a7e6eff2c8b93f18002c06059b7e5b79a">More...</a><br /></td></tr>
-<tr class="separator:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af0b73b0c4980a551d7cd4edec43ffd92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:af0b73b0c4980a551d7cd4edec43ffd92"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating multiply  <a href="#af0b73b0c4980a551d7cd4edec43ffd92">More...</a><br /></td></tr>
-<tr class="separator:af0b73b0c4980a551d7cd4edec43ffd92"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a55c8a365b4242664f8c0f19e91bcee92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a55c8a365b4242664f8c0f19e91bcee92"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating multiply  <a href="#a55c8a365b4242664f8c0f19e91bcee92">More...</a><br /></td></tr>
-<tr class="separator:a55c8a365b4242664f8c0f19e91bcee92"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0721e062e6d7a90f07fd08aeda5e7eda">sqmull_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar multiply long  <a href="#a0721e062e6d7a90f07fd08aeda5e7eda">More...</a><br /></td></tr>
-<tr class="separator:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7f9fcf8e60c300e602327f8ff67800cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f9fcf8e60c300e602327f8ff67800cb">sqmull_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a7f9fcf8e60c300e602327f8ff67800cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar multiply long  <a href="#a7f9fcf8e60c300e602327f8ff67800cb">More...</a><br /></td></tr>
-<tr class="separator:a7f9fcf8e60c300e602327f8ff67800cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab768d7001612a149c0bf695b773d659b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab768d7001612a149c0bf695b773d659b">sinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ab768d7001612a149c0bf695b773d659b"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar inverse square root  <a href="#ab768d7001612a149c0bf695b773d659b">More...</a><br /></td></tr>
-<tr class="separator:ab768d7001612a149c0bf695b773d659b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a162390097e05ddc016310bad881c461c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a162390097e05ddc016310bad881c461c">sinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a162390097e05ddc016310bad881c461c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar inverse square root  <a href="#a162390097e05ddc016310bad881c461c">More...</a><br /></td></tr>
-<tr class="separator:a162390097e05ddc016310bad881c461c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae39636f0e83dd3b854b89181a230216f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">sdiv_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:ae39636f0e83dd3b854b89181a230216f"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar division  <a href="#ae39636f0e83dd3b854b89181a230216f">More...</a><br /></td></tr>
-<tr class="separator:ae39636f0e83dd3b854b89181a230216f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a62b21ae2dd27770147d5b7c265fa534c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">sdiv_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a62b21ae2dd27770147d5b7c265fa534c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar division  <a href="#a62b21ae2dd27770147d5b7c265fa534c">More...</a><br /></td></tr>
-<tr class="separator:a62b21ae2dd27770147d5b7c265fa534c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a20724c7cb556b1ff4fd9d01c7020d762"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a20724c7cb556b1ff4fd9d01c7020d762">sqexp_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a20724c7cb556b1ff4fd9d01c7020d762"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar exponential  <a href="#a20724c7cb556b1ff4fd9d01c7020d762">More...</a><br /></td></tr>
-<tr class="separator:a20724c7cb556b1ff4fd9d01c7020d762"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aba5b39758733711eaf3015d17839feb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba5b39758733711eaf3015d17839feb5">sqexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aba5b39758733711eaf3015d17839feb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar exponential  <a href="#aba5b39758733711eaf3015d17839feb5">More...</a><br /></td></tr>
-<tr class="separator:aba5b39758733711eaf3015d17839feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acc38b787d0451ec4a3e632ed919ac298"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acc38b787d0451ec4a3e632ed919ac298">sexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:acc38b787d0451ec4a3e632ed919ac298"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar exponential  <a href="#acc38b787d0451ec4a3e632ed919ac298">More...</a><br /></td></tr>
-<tr class="separator:acc38b787d0451ec4a3e632ed919ac298"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">slog_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar logarithm  <a href="#a596a7e3c63f80e67ea7cb713e8fc9992">More...</a><br /></td></tr>
-<tr class="separator:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">slog_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar logarithm  <a href="#ad45601a3c0f1d9f6210041651f4e2f4b">More...</a><br /></td></tr>
-<tr class="separator:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a62232512d049619479b670c58a607924"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62232512d049619479b670c58a607924">scvt_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a62232512d049619479b670c58a607924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an 8 bit fixed point to float.  <a href="#a62232512d049619479b670c58a607924">More...</a><br /></td></tr>
-<tr class="separator:a62232512d049619479b670c58a607924"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4f425447c1efb8d2b48cb50b110f4739"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4f425447c1efb8d2b48cb50b110f4739">sqcvt_qs8_f32</a> (float a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a4f425447c1efb8d2b48cb50b110f4739"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float to 8 bit fixed point.  <a href="#a4f425447c1efb8d2b48cb50b110f4739">More...</a><br /></td></tr>
-<tr class="separator:a4f425447c1efb8d2b48cb50b110f4739"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a55e8e161b9a16d750a6cff3fba6cd480"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55e8e161b9a16d750a6cff3fba6cd480">scvt_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a55e8e161b9a16d750a6cff3fba6cd480"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 16 bit fixed point to float.  <a href="#a55e8e161b9a16d750a6cff3fba6cd480">More...</a><br /></td></tr>
-<tr class="separator:a55e8e161b9a16d750a6cff3fba6cd480"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a790df824287a4f498e648dbbb481906b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a790df824287a4f498e648dbbb481906b">sqcvt_qs16_f32</a> (float a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a790df824287a4f498e648dbbb481906b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float to 16 bit fixed point.  <a href="#a790df824287a4f498e648dbbb481906b">More...</a><br /></td></tr>
-<tr class="separator:a790df824287a4f498e648dbbb481906b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad555b251940cba2ca1c6eb168f0bbea4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad555b251940cba2ca1c6eb168f0bbea4">sqmovn_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
-<tr class="memdesc:ad555b251940cba2ca1c6eb168f0bbea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar saturating move and narrow.  <a href="#ad555b251940cba2ca1c6eb168f0bbea4">More...</a><br /></td></tr>
-<tr class="separator:ad555b251940cba2ca1c6eb168f0bbea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4a4859f4f212d3824e70a36aed901b5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4a4859f4f212d3824e70a36aed901b5b">sqmovn_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a)</td></tr>
-<tr class="memdesc:a4a4859f4f212d3824e70a36aed901b5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar saturating move and narrow.  <a href="#a4a4859f4f212d3824e70a36aed901b5b">More...</a><br /></td></tr>
-<tr class="separator:a4a4859f4f212d3824e70a36aed901b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac2b27a559f3ff7deecfcd13e1e24194b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac2b27a559f3ff7deecfcd13e1e24194b">get_target_from_device</a> ()</td></tr>
 <tr class="memdesc:ac2b27a559f3ff7deecfcd13e1e24194b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from GLES using GL_RENDERER enum.  <a href="#ac2b27a559f3ff7deecfcd13e1e24194b">More...</a><br /></td></tr>
 <tr class="separator:ac2b27a559f3ff7deecfcd13e1e24194b"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3033,9 +2892,9 @@
 <tr class="memitem:a5045aaec85553032a782c44ab8d26341"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5045aaec85553032a782c44ab8d26341">permute</a> (<a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &amp;perm)</td></tr>
 <tr class="memdesc:a5045aaec85553032a782c44ab8d26341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutes given <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> according to a permutation vector.  <a href="#a5045aaec85553032a782c44ab8d26341">More...</a><br /></td></tr>
 <tr class="separator:a5045aaec85553032a782c44ab8d26341"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9a20062caae09fce4a567be558f9d702"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9a20062caae09fce4a567be558f9d702">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, int num_channels, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type, int fixed_point_position, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> quantization_info=<a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>())</td></tr>
-<tr class="memdesc:a9a20062caae09fce4a567be558f9d702"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto initialize the tensor info (shape, number of channels, data type and fixed point position) if the current assignment is empty.  <a href="#a9a20062caae09fce4a567be558f9d702">More...</a><br /></td></tr>
-<tr class="separator:a9a20062caae09fce4a567be558f9d702"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47be6fa38308d0003c25b60b7dbc45ce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a47be6fa38308d0003c25b60b7dbc45ce">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, int num_channels, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> quantization_info=<a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>())</td></tr>
+<tr class="memdesc:a47be6fa38308d0003c25b60b7dbc45ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto initialize the tensor info (shape, number of channels and data type) if the current assignment is empty.  <a href="#a47be6fa38308d0003c25b60b7dbc45ce">More...</a><br /></td></tr>
+<tr class="separator:a47be6fa38308d0003c25b60b7dbc45ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5844c8e025388ddd8c3afc5c3f7a3256">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info_sink, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info_source)</td></tr>
 <tr class="memdesc:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto initialize the tensor info using another tensor info.  <a href="#a5844c8e025388ddd8c3afc5c3f7a3256">More...</a><br /></td></tr>
 <tr class="separator:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3051,9 +2910,6 @@
 <tr class="memitem:aafd98bfd4651f36d691ddd2631a6e5a0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aafd98bfd4651f36d691ddd2631a6e5a0">set_data_layout_if_unknown</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout)</td></tr>
 <tr class="memdesc:aafd98bfd4651f36d691ddd2631a6e5a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data layout to the specified value if the current data layout is unknown.  <a href="#aafd98bfd4651f36d691ddd2631a6e5a0">More...</a><br /></td></tr>
 <tr class="separator:aafd98bfd4651f36d691ddd2631a6e5a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0894ed18ca6f55d6053882676cc2c95c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0894ed18ca6f55d6053882676cc2c95c">set_fixed_point_position_if_zero</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, int fixed_point_position)</td></tr>
-<tr class="memdesc:a0894ed18ca6f55d6053882676cc2c95c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the fixed point position to the specified value if the current fixed point position is 0 and the data type is QS8 or QS16.  <a href="#a0894ed18ca6f55d6053882676cc2c95c">More...</a><br /></td></tr>
-<tr class="separator:a0894ed18ca6f55d6053882676cc2c95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a75509469ec2689ec143f4a37bbcb4437"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a75509469ec2689ec143f4a37bbcb4437">set_quantization_info_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> quantization_info)</td></tr>
 <tr class="memdesc:a75509469ec2689ec143f4a37bbcb4437"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the quantization info to the specified value if the current quantization info is empty and the data type of asymmetric quantized type.  <a href="#a75509469ec2689ec143f4a37bbcb4437">More...</a><br /></td></tr>
 <tr class="separator:a75509469ec2689ec143f4a37bbcb4437"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3069,6 +2925,12 @@
 <tr class="memitem:a46e938020a3ac8c926d0590b7fe957db"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a> (const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout, const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a> data_layout_dimension)</td></tr>
 <tr class="memdesc:a46e938020a3ac8c926d0590b7fe957db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the index of the given dimension.  <a href="#a46e938020a3ac8c926d0590b7fe957db">More...</a><br /></td></tr>
 <tr class="separator:a46e938020a3ac8c926d0590b7fe957db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae76431f34048289454a9cb6dc66d7c6b"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae76431f34048289454a9cb6dc66d7c6b">get_normalization_dimension_index</a> (<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> layout, const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> &amp;info)</td></tr>
+<tr class="memdesc:ae76431f34048289454a9cb6dc66d7c6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the normalization dimension index for a given normalization type.  <a href="#ae76431f34048289454a9cb6dc66d7c6b">More...</a><br /></td></tr>
+<tr class="separator:ae76431f34048289454a9cb6dc66d7c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b0c016b53e97663b39c2f3875f46c24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3b0c016b53e97663b39c2f3875f46c24">compute_winograd_convolution_tiles</a> (const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;in_dims, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;kernel_size, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;output_tile_size, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;conv_info)</td></tr>
+<tr class="memdesc:a3b0c016b53e97663b39c2f3875f46c24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the number of output tiles required by Winograd Convolution layer.  <a href="#a3b0c016b53e97663b39c2f3875f46c24">More...</a><br /></td></tr>
+<tr class="separator:a3b0c016b53e97663b39c2f3875f46c24"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a41c1523098580451b378f76b8c37a0f0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41c1523098580451b378f76b8c37a0f0">adjust_down</a> (int required, int available, int step)</td></tr>
 <tr class="memdesc:a41c1523098580451b378f76b8c37a0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>.  <a href="#a41c1523098580451b378f76b8c37a0f0">More...</a><br /></td></tr>
 <tr class="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3137,391 +2999,6 @@
 <tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad304c0b0a72ed3f65c24fa69ab3cd53e">colorconvert_rgb_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
 <tr class="memdesc:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert RGB to YUV4.  <a href="#ad304c0b0a72ed3f65c24fa69ab3cd53e">More...</a><br /></td></tr>
 <tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a01aba870fcfc162ae8aa04ac2a71699f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01aba870fcfc162ae8aa04ac2a71699f">vget_low_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
-<tr class="memdesc:a01aba870fcfc162ae8aa04ac2a71699f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower half of a 16 elements vector.  <a href="#a01aba870fcfc162ae8aa04ac2a71699f">More...</a><br /></td></tr>
-<tr class="separator:a01aba870fcfc162ae8aa04ac2a71699f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9e66057ae3f10ac402b7d7da1649ca59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9e66057ae3f10ac402b7d7da1649ca59">vget_low_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:a9e66057ae3f10ac402b7d7da1649ca59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower half of a 16 elements vector.  <a href="#a9e66057ae3f10ac402b7d7da1649ca59">More...</a><br /></td></tr>
-<tr class="separator:a9e66057ae3f10ac402b7d7da1649ca59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab1a1485f2120c55da4a57a59be074f27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab1a1485f2120c55da4a57a59be074f27">vget_high_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
-<tr class="memdesc:ab1a1485f2120c55da4a57a59be074f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the higher half of a 16 elements vector.  <a href="#ab1a1485f2120c55da4a57a59be074f27">More...</a><br /></td></tr>
-<tr class="separator:ab1a1485f2120c55da4a57a59be074f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adb8a3a973b625b035f663bcac5781596"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adb8a3a973b625b035f663bcac5781596">vget_high_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:adb8a3a973b625b035f663bcac5781596"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the higher half of a 16 elements vector.  <a href="#adb8a3a973b625b035f663bcac5781596">More...</a><br /></td></tr>
-<tr class="separator:adb8a3a973b625b035f663bcac5781596"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a36fd8142f6f27eb7a663f6d1c2dbd0ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a36fd8142f6f27eb7a663f6d1c2dbd0ff">vld1_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
-<tr class="memdesc:a36fd8142f6f27eb7a663f6d1c2dbd0ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (8 elements)  <a href="#a36fd8142f6f27eb7a663f6d1c2dbd0ff">More...</a><br /></td></tr>
-<tr class="separator:a36fd8142f6f27eb7a663f6d1c2dbd0ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5be0b430ef4d7b6a8da81a09f08f63bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5be0b430ef4d7b6a8da81a09f08f63bc">vld1_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:a5be0b430ef4d7b6a8da81a09f08f63bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (4 elements)  <a href="#a5be0b430ef4d7b6a8da81a09f08f63bc">More...</a><br /></td></tr>
-<tr class="separator:a5be0b430ef4d7b6a8da81a09f08f63bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6fe68b389512d3adff15f45fc061bebd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6fe68b389512d3adff15f45fc061bebd">vld1q_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
-<tr class="memdesc:a6fe68b389512d3adff15f45fc061bebd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (16 elements)  <a href="#a6fe68b389512d3adff15f45fc061bebd">More...</a><br /></td></tr>
-<tr class="separator:a6fe68b389512d3adff15f45fc061bebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac1fbd31b8bc9abfb5d951679c839ec8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac1fbd31b8bc9abfb5d951679c839ec8b">vld1q_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:ac1fbd31b8bc9abfb5d951679c839ec8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (8 elements)  <a href="#ac1fbd31b8bc9abfb5d951679c839ec8b">More...</a><br /></td></tr>
-<tr class="separator:ac1fbd31b8bc9abfb5d951679c839ec8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae6b66e4796e08d83db8fe89721e33d00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae6b66e4796e08d83db8fe89721e33d00">vld1_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
-<tr class="memdesc:ae6b66e4796e08d83db8fe89721e33d00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (8 elements)  <a href="#ae6b66e4796e08d83db8fe89721e33d00">More...</a><br /></td></tr>
-<tr class="separator:ae6b66e4796e08d83db8fe89721e33d00"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afae4f82c3373c53f461bffef703b95ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afae4f82c3373c53f461bffef703b95ff">vld1_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:afae4f82c3373c53f461bffef703b95ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (4 elements)  <a href="#afae4f82c3373c53f461bffef703b95ff">More...</a><br /></td></tr>
-<tr class="separator:afae4f82c3373c53f461bffef703b95ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af6610f298ec273b9c83880a99fec49ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af6610f298ec273b9c83880a99fec49ac">vld1q_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
-<tr class="memdesc:af6610f298ec273b9c83880a99fec49ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (16 elements)  <a href="#af6610f298ec273b9c83880a99fec49ac">More...</a><br /></td></tr>
-<tr class="separator:af6610f298ec273b9c83880a99fec49ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a63c5b930195280ddd6716edd68651e3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a63c5b930195280ddd6716edd68651e3a">vld1q_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:a63c5b930195280ddd6716edd68651e3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (8 elements)  <a href="#a63c5b930195280ddd6716edd68651e3a">More...</a><br /></td></tr>
-<tr class="separator:a63c5b930195280ddd6716edd68651e3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8bab58697ee7d7df117384a05d4e2f92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8bab58697ee7d7df117384a05d4e2f92">vld2q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:a8bab58697ee7d7df117384a05d4e2f92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load two 16 bit fixed point vectors from memory (8x2 elements)  <a href="#a8bab58697ee7d7df117384a05d4e2f92">More...</a><br /></td></tr>
-<tr class="separator:a8bab58697ee7d7df117384a05d4e2f92"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7eed40dd2defff08c98f66bf0c67c61d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7eed40dd2defff08c98f66bf0c67c61d">vst1_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a7eed40dd2defff08c98f66bf0c67c61d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (8 elements)  <a href="#a7eed40dd2defff08c98f66bf0c67c61d">More...</a><br /></td></tr>
-<tr class="separator:a7eed40dd2defff08c98f66bf0c67c61d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5002d49f346614198f3e8b475f27a7eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5002d49f346614198f3e8b475f27a7eb">vst1_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a5002d49f346614198f3e8b475f27a7eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (4 elements)  <a href="#a5002d49f346614198f3e8b475f27a7eb">More...</a><br /></td></tr>
-<tr class="separator:a5002d49f346614198f3e8b475f27a7eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1839b5e8f0a3b1702b661a1838fba830"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1839b5e8f0a3b1702b661a1838fba830">vst1q_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:a1839b5e8f0a3b1702b661a1838fba830"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (16 elements)  <a href="#a1839b5e8f0a3b1702b661a1838fba830">More...</a><br /></td></tr>
-<tr class="separator:a1839b5e8f0a3b1702b661a1838fba830"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af3bb253fc02f0f58278794832cff641c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af3bb253fc02f0f58278794832cff641c">vst1q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:af3bb253fc02f0f58278794832cff641c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (8 elements)  <a href="#af3bb253fc02f0f58278794832cff641c">More...</a><br /></td></tr>
-<tr class="separator:af3bb253fc02f0f58278794832cff641c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a133a4b6b925f585d9e3cab041494ddca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a133a4b6b925f585d9e3cab041494ddca">vst2q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> b)</td></tr>
-<tr class="memdesc:a133a4b6b925f585d9e3cab041494ddca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store two 16 bit fixed point vector to memory (8x2 elements)  <a href="#a133a4b6b925f585d9e3cab041494ddca">More...</a><br /></td></tr>
-<tr class="separator:a133a4b6b925f585d9e3cab041494ddca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a92c2d0b9a8eeb3ab04a39a25fef2b6c3">vqmovn_q16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating narrow (8 elements)  <a href="#a92c2d0b9a8eeb3ab04a39a25fef2b6c3">More...</a><br /></td></tr>
-<tr class="separator:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a12e7578c32321d2362114563881153ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a12e7578c32321d2362114563881153ee">vqmovn_q32</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a)</td></tr>
-<tr class="memdesc:a12e7578c32321d2362114563881153ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector saturating narrow (4 elements)  <a href="#a12e7578c32321d2362114563881153ee">More...</a><br /></td></tr>
-<tr class="separator:a12e7578c32321d2362114563881153ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae5928c224ded2b86475c0e85036aa42b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae5928c224ded2b86475c0e85036aa42b">vdup_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
-<tr class="memdesc:ae5928c224ded2b86475c0e85036aa42b"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector duplicate (8 elements)  <a href="#ae5928c224ded2b86475c0e85036aa42b">More...</a><br /></td></tr>
-<tr class="separator:ae5928c224ded2b86475c0e85036aa42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa6ebf4319713b842c2b95fe5e251d199"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa6ebf4319713b842c2b95fe5e251d199">vdup_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
-<tr class="memdesc:aa6ebf4319713b842c2b95fe5e251d199"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector duplicate (4 elements)  <a href="#aa6ebf4319713b842c2b95fe5e251d199">More...</a><br /></td></tr>
-<tr class="separator:aa6ebf4319713b842c2b95fe5e251d199"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a14e4a79c204d38d9ab1c510180ce3a98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14e4a79c204d38d9ab1c510180ce3a98">vdupq_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
-<tr class="memdesc:a14e4a79c204d38d9ab1c510180ce3a98"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector duplicate (16 elements)  <a href="#a14e4a79c204d38d9ab1c510180ce3a98">More...</a><br /></td></tr>
-<tr class="separator:a14e4a79c204d38d9ab1c510180ce3a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a579ff1fb4795bc28e7eae6f480e03e08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a579ff1fb4795bc28e7eae6f480e03e08">vdupq_n_qs8_f32</a> (float a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a579ff1fb4795bc28e7eae6f480e03e08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a float and convert it to 8 bit fixed point vector (16 elements)  <a href="#a579ff1fb4795bc28e7eae6f480e03e08">More...</a><br /></td></tr>
-<tr class="separator:a579ff1fb4795bc28e7eae6f480e03e08"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa286876d5353075d13377380bf0068ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa286876d5353075d13377380bf0068ef">vdupq_n_qs16_f32</a> (float a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa286876d5353075d13377380bf0068ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a float and convert it to 16 bit fixed point vector (8 elements)  <a href="#aa286876d5353075d13377380bf0068ef">More...</a><br /></td></tr>
-<tr class="separator:aa286876d5353075d13377380bf0068ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a740436aed8843612da747f40ff926875"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:a740436aed8843612da747f40ff926875"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector duplicate (8 elements)  <a href="#a740436aed8843612da747f40ff926875">More...</a><br /></td></tr>
-<tr class="separator:a740436aed8843612da747f40ff926875"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6c5277e56fb1c3434ded55b90faa51e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6c5277e56fb1c3434ded55b90faa51e8">vabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
-<tr class="memdesc:a6c5277e56fb1c3434ded55b90faa51e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 8 bit fixed point vector (8 elements)  <a href="#a6c5277e56fb1c3434ded55b90faa51e8">More...</a><br /></td></tr>
-<tr class="separator:a6c5277e56fb1c3434ded55b90faa51e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a52988f4969583e2677bc4f04da8439e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a52988f4969583e2677bc4f04da8439e4">vabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
-<tr class="memdesc:a52988f4969583e2677bc4f04da8439e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 16 bit fixed point vector (4 elements)  <a href="#a52988f4969583e2677bc4f04da8439e4">More...</a><br /></td></tr>
-<tr class="separator:a52988f4969583e2677bc4f04da8439e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac3a568bc6c67b5706661db5243829f50"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac3a568bc6c67b5706661db5243829f50">vabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
-<tr class="memdesc:ac3a568bc6c67b5706661db5243829f50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 8 bit fixed point vector (16 elements)  <a href="#ac3a568bc6c67b5706661db5243829f50">More...</a><br /></td></tr>
-<tr class="separator:ac3a568bc6c67b5706661db5243829f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade3f03f4b20d7887ab4fa0abf527e1d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade3f03f4b20d7887ab4fa0abf527e1d6">vabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:ade3f03f4b20d7887ab4fa0abf527e1d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 16 bit fixed point vector (8 elements)  <a href="#ade3f03f4b20d7887ab4fa0abf527e1d6">More...</a><br /></td></tr>
-<tr class="separator:ade3f03f4b20d7887ab4fa0abf527e1d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16e9223adc0503cd621862bc579ac8fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a16e9223adc0503cd621862bc579ac8fd">vqabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
-<tr class="memdesc:a16e9223adc0503cd621862bc579ac8fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (8 elements)  <a href="#a16e9223adc0503cd621862bc579ac8fd">More...</a><br /></td></tr>
-<tr class="separator:a16e9223adc0503cd621862bc579ac8fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d7dfd9d3e62db1e218a965839901b63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0d7dfd9d3e62db1e218a965839901b63">vqabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
-<tr class="memdesc:a0d7dfd9d3e62db1e218a965839901b63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (4 elements)  <a href="#a0d7dfd9d3e62db1e218a965839901b63">More...</a><br /></td></tr>
-<tr class="separator:a0d7dfd9d3e62db1e218a965839901b63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abe1d2a5130d2aaf0df28a90a45f8968d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abe1d2a5130d2aaf0df28a90a45f8968d">vqabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
-<tr class="memdesc:abe1d2a5130d2aaf0df28a90a45f8968d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (16 elements)  <a href="#abe1d2a5130d2aaf0df28a90a45f8968d">More...</a><br /></td></tr>
-<tr class="separator:abe1d2a5130d2aaf0df28a90a45f8968d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af6a8c22ef994a8035e92882ac525f416"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af6a8c22ef994a8035e92882ac525f416">vqabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:af6a8c22ef994a8035e92882ac525f416"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (8 elements)  <a href="#af6a8c22ef994a8035e92882ac525f416">More...</a><br /></td></tr>
-<tr class="separator:af6a8c22ef994a8035e92882ac525f416"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1e832672b8b717f5af77bc138c4e684d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1e832672b8b717f5af77bc138c4e684d">vmax_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a1e832672b8b717f5af77bc138c4e684d"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector max (8 elements)  <a href="#a1e832672b8b717f5af77bc138c4e684d">More...</a><br /></td></tr>
-<tr class="separator:a1e832672b8b717f5af77bc138c4e684d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afda7e56c8683e05da9787945eacf027f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afda7e56c8683e05da9787945eacf027f">vmax_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:afda7e56c8683e05da9787945eacf027f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector max (4 elements)  <a href="#afda7e56c8683e05da9787945eacf027f">More...</a><br /></td></tr>
-<tr class="separator:afda7e56c8683e05da9787945eacf027f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5ed31e134ad256235f1b237a5cf16b72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5ed31e134ad256235f1b237a5cf16b72">vmaxq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:a5ed31e134ad256235f1b237a5cf16b72"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector max (16 elements)  <a href="#a5ed31e134ad256235f1b237a5cf16b72">More...</a><br /></td></tr>
-<tr class="separator:a5ed31e134ad256235f1b237a5cf16b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a62b936c1f23af7aedbad5859a6f01c94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62b936c1f23af7aedbad5859a6f01c94">vmaxq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a62b936c1f23af7aedbad5859a6f01c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector max (8 elements)  <a href="#a62b936c1f23af7aedbad5859a6f01c94">More...</a><br /></td></tr>
-<tr class="separator:a62b936c1f23af7aedbad5859a6f01c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac253431834fc1859d112e62ce2a6f59c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac253431834fc1859d112e62ce2a6f59c">vpmax_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:ac253431834fc1859d112e62ce2a6f59c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector pairwise max (8 elements)  <a href="#ac253431834fc1859d112e62ce2a6f59c">More...</a><br /></td></tr>
-<tr class="separator:ac253431834fc1859d112e62ce2a6f59c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45b269785fb545f072e5fd313b8b3648"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45b269785fb545f072e5fd313b8b3648">vpmax_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a45b269785fb545f072e5fd313b8b3648"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector pairwise max (4 elements)  <a href="#a45b269785fb545f072e5fd313b8b3648">More...</a><br /></td></tr>
-<tr class="separator:a45b269785fb545f072e5fd313b8b3648"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a612e9bb7486e8cf609902d247047787c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a612e9bb7486e8cf609902d247047787c">vmin_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a612e9bb7486e8cf609902d247047787c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector min (8 elements)  <a href="#a612e9bb7486e8cf609902d247047787c">More...</a><br /></td></tr>
-<tr class="separator:a612e9bb7486e8cf609902d247047787c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adaa26cd2173ae553d357eddb015f4d69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adaa26cd2173ae553d357eddb015f4d69">vmin_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:adaa26cd2173ae553d357eddb015f4d69"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector min (4 elements)  <a href="#adaa26cd2173ae553d357eddb015f4d69">More...</a><br /></td></tr>
-<tr class="separator:adaa26cd2173ae553d357eddb015f4d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afb63c79277d00a478faf54a760f0f38c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afb63c79277d00a478faf54a760f0f38c">vminq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:afb63c79277d00a478faf54a760f0f38c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector min (16 elements)  <a href="#afb63c79277d00a478faf54a760f0f38c">More...</a><br /></td></tr>
-<tr class="separator:afb63c79277d00a478faf54a760f0f38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae25469583330f615fb9d3729c615cc63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae25469583330f615fb9d3729c615cc63">vminq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:ae25469583330f615fb9d3729c615cc63"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector min (8 elements)  <a href="#ae25469583330f615fb9d3729c615cc63">More...</a><br /></td></tr>
-<tr class="separator:ae25469583330f615fb9d3729c615cc63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9f6abd342d47b531832e11b1837ad0b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f6abd342d47b531832e11b1837ad0b4">vpmin_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a9f6abd342d47b531832e11b1837ad0b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector pairwise min (8 elements)  <a href="#a9f6abd342d47b531832e11b1837ad0b4">More...</a><br /></td></tr>
-<tr class="separator:a9f6abd342d47b531832e11b1837ad0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0ab85cdf2cf2a3c2724a1431cab2d93c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0ab85cdf2cf2a3c2724a1431cab2d93c">vpmin_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a0ab85cdf2cf2a3c2724a1431cab2d93c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector pairwise min (4 elements)  <a href="#a0ab85cdf2cf2a3c2724a1431cab2d93c">More...</a><br /></td></tr>
-<tr class="separator:a0ab85cdf2cf2a3c2724a1431cab2d93c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6ae2c8aa90fad62779e17a2adb06f353"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6ae2c8aa90fad62779e17a2adb06f353">vadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a6ae2c8aa90fad62779e17a2adb06f353"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector add (8 elements)  <a href="#a6ae2c8aa90fad62779e17a2adb06f353">More...</a><br /></td></tr>
-<tr class="separator:a6ae2c8aa90fad62779e17a2adb06f353"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeae8ace3bb6e0cdb407fdac73f1c67a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeae8ace3bb6e0cdb407fdac73f1c67a6">vadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:aeae8ace3bb6e0cdb407fdac73f1c67a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector add (4 elements)  <a href="#aeae8ace3bb6e0cdb407fdac73f1c67a6">More...</a><br /></td></tr>
-<tr class="separator:aeae8ace3bb6e0cdb407fdac73f1c67a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a14157ffd112ba32acb3af50e46d0e76a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14157ffd112ba32acb3af50e46d0e76a">vaddq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:a14157ffd112ba32acb3af50e46d0e76a"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector add (16 elements)  <a href="#a14157ffd112ba32acb3af50e46d0e76a">More...</a><br /></td></tr>
-<tr class="separator:a14157ffd112ba32acb3af50e46d0e76a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a76505d3ed993337fde8186da5060e8e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a76505d3ed993337fde8186da5060e8e8">vaddq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a76505d3ed993337fde8186da5060e8e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector add (8 elements)  <a href="#a76505d3ed993337fde8186da5060e8e8">More...</a><br /></td></tr>
-<tr class="separator:a76505d3ed993337fde8186da5060e8e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a53c990687ed6af989bcf4920b06c5092"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a53c990687ed6af989bcf4920b06c5092">vqadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a53c990687ed6af989bcf4920b06c5092"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating add (8 elements)  <a href="#a53c990687ed6af989bcf4920b06c5092">More...</a><br /></td></tr>
-<tr class="separator:a53c990687ed6af989bcf4920b06c5092"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7b9af77579156d434eb576314495e313"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b9af77579156d434eb576314495e313">vqadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a7b9af77579156d434eb576314495e313"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating add (4 elements)  <a href="#a7b9af77579156d434eb576314495e313">More...</a><br /></td></tr>
-<tr class="separator:a7b9af77579156d434eb576314495e313"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaa057569eb92497b2c8c973b3318adb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaa057569eb92497b2c8c973b3318adb8">vqaddq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:aaa057569eb92497b2c8c973b3318adb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating add (16 elements)  <a href="#aaa057569eb92497b2c8c973b3318adb8">More...</a><br /></td></tr>
-<tr class="separator:aaa057569eb92497b2c8c973b3318adb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac211d3f3dc485752995088353ae380b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac211d3f3dc485752995088353ae380b5">vqaddq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:ac211d3f3dc485752995088353ae380b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating add (8 elements)  <a href="#ac211d3f3dc485752995088353ae380b5">More...</a><br /></td></tr>
-<tr class="separator:ac211d3f3dc485752995088353ae380b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a976c55d88da1b155b4a83130a2c25555"><td class="memItemLeft" align="right" valign="top">int16x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a976c55d88da1b155b4a83130a2c25555">vpaddl_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
-<tr class="memdesc:a976c55d88da1b155b4a83130a2c25555"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating pairwise add (8 elements)  <a href="#a976c55d88da1b155b4a83130a2c25555">More...</a><br /></td></tr>
-<tr class="separator:a976c55d88da1b155b4a83130a2c25555"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac8b8422b0719e35a7faba44cbd81c973"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac8b8422b0719e35a7faba44cbd81c973">vsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:ac8b8422b0719e35a7faba44cbd81c973"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector subtraction (8 elements)  <a href="#ac8b8422b0719e35a7faba44cbd81c973">More...</a><br /></td></tr>
-<tr class="separator:ac8b8422b0719e35a7faba44cbd81c973"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9c19223d683db3fb9a2afae06a9172da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c19223d683db3fb9a2afae06a9172da">vsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a9c19223d683db3fb9a2afae06a9172da"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector subtraction (4 elements)  <a href="#a9c19223d683db3fb9a2afae06a9172da">More...</a><br /></td></tr>
-<tr class="separator:a9c19223d683db3fb9a2afae06a9172da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac081f136f0b4e5e1faba00197b0f5bb6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac081f136f0b4e5e1faba00197b0f5bb6">vsubq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:ac081f136f0b4e5e1faba00197b0f5bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector subtraction (16 elements)  <a href="#ac081f136f0b4e5e1faba00197b0f5bb6">More...</a><br /></td></tr>
-<tr class="separator:ac081f136f0b4e5e1faba00197b0f5bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8d4129255837b86e09fcc326e46821fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8d4129255837b86e09fcc326e46821fb">vsubq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a8d4129255837b86e09fcc326e46821fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector subtraction (8 elements)  <a href="#a8d4129255837b86e09fcc326e46821fb">More...</a><br /></td></tr>
-<tr class="separator:a8d4129255837b86e09fcc326e46821fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8a94adba1cfff4ce4142add654c60521"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a94adba1cfff4ce4142add654c60521">vqsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a8a94adba1cfff4ce4142add654c60521"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating subtraction (8 elements)  <a href="#a8a94adba1cfff4ce4142add654c60521">More...</a><br /></td></tr>
-<tr class="separator:a8a94adba1cfff4ce4142add654c60521"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a496848521c818232b32b1ea1f481d1f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a496848521c818232b32b1ea1f481d1f2">vqsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a496848521c818232b32b1ea1f481d1f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating subtraction (4 elements)  <a href="#a496848521c818232b32b1ea1f481d1f2">More...</a><br /></td></tr>
-<tr class="separator:a496848521c818232b32b1ea1f481d1f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7e8458b3298a996c332d771b1058e515"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e8458b3298a996c332d771b1058e515">vqsubq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:a7e8458b3298a996c332d771b1058e515"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating subtraction (16 elements)  <a href="#a7e8458b3298a996c332d771b1058e515">More...</a><br /></td></tr>
-<tr class="separator:a7e8458b3298a996c332d771b1058e515"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a270d4ddc6689933d1d239eabf7649e54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a270d4ddc6689933d1d239eabf7649e54">vqsubq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a270d4ddc6689933d1d239eabf7649e54"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating subtraction (8 elements)  <a href="#a270d4ddc6689933d1d239eabf7649e54">More...</a><br /></td></tr>
-<tr class="separator:a270d4ddc6689933d1d239eabf7649e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a87756fc439f4a516852d4c1c845006bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a87756fc439f4a516852d4c1c845006bd">vmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a87756fc439f4a516852d4c1c845006bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply (8 elements)  <a href="#a87756fc439f4a516852d4c1c845006bd">More...</a><br /></td></tr>
-<tr class="separator:a87756fc439f4a516852d4c1c845006bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa8689c6e9627c58b6362ac9556b7b85f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8689c6e9627c58b6362ac9556b7b85f">vmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa8689c6e9627c58b6362ac9556b7b85f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply (4 elements)  <a href="#aa8689c6e9627c58b6362ac9556b7b85f">More...</a><br /></td></tr>
-<tr class="separator:aa8689c6e9627c58b6362ac9556b7b85f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9b64880d62b60bb7237d0eb920c02087"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9b64880d62b60bb7237d0eb920c02087">vmulq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a9b64880d62b60bb7237d0eb920c02087"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply (16 elements)  <a href="#a9b64880d62b60bb7237d0eb920c02087">More...</a><br /></td></tr>
-<tr class="separator:a9b64880d62b60bb7237d0eb920c02087"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aff021302b2661f42dffbb9fe4a6e3587"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aff021302b2661f42dffbb9fe4a6e3587">vmulq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:aff021302b2661f42dffbb9fe4a6e3587"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply (8 elements)  <a href="#aff021302b2661f42dffbb9fe4a6e3587">More...</a><br /></td></tr>
-<tr class="separator:aff021302b2661f42dffbb9fe4a6e3587"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a13b07f92cefe3dcc799ab28c351419cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a13b07f92cefe3dcc799ab28c351419cb">vqmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a13b07f92cefe3dcc799ab28c351419cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply (8 elements)  <a href="#a13b07f92cefe3dcc799ab28c351419cb">More...</a><br /></td></tr>
-<tr class="separator:a13b07f92cefe3dcc799ab28c351419cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afdab93549d4c969851a39081a7f282a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afdab93549d4c969851a39081a7f282a1">vqmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:afdab93549d4c969851a39081a7f282a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply (4 elements)  <a href="#afdab93549d4c969851a39081a7f282a1">More...</a><br /></td></tr>
-<tr class="separator:afdab93549d4c969851a39081a7f282a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8391ec73756d60aa43a82c04d5ece85e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8391ec73756d60aa43a82c04d5ece85e">vqmulq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a8391ec73756d60aa43a82c04d5ece85e"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply (16 elements)  <a href="#a8391ec73756d60aa43a82c04d5ece85e">More...</a><br /></td></tr>
-<tr class="separator:a8391ec73756d60aa43a82c04d5ece85e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a97a9dc05834e61a1aca309400bfded8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a97a9dc05834e61a1aca309400bfded8c">vqmulq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a97a9dc05834e61a1aca309400bfded8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply (8 elements)  <a href="#a97a9dc05834e61a1aca309400bfded8c">More...</a><br /></td></tr>
-<tr class="separator:a97a9dc05834e61a1aca309400bfded8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adedd47ca832ff5041f2e3fb9cecda6e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adedd47ca832ff5041f2e3fb9cecda6e9">vmull_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:adedd47ca832ff5041f2e3fb9cecda6e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector long multiply (8 elements)  <a href="#adedd47ca832ff5041f2e3fb9cecda6e9">More...</a><br /></td></tr>
-<tr class="separator:adedd47ca832ff5041f2e3fb9cecda6e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a240b655cf59e7e8e07bd7873e9db0209"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a240b655cf59e7e8e07bd7873e9db0209">vmull_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a240b655cf59e7e8e07bd7873e9db0209"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector long multiply (4 elements)  <a href="#a240b655cf59e7e8e07bd7873e9db0209">More...</a><br /></td></tr>
-<tr class="separator:a240b655cf59e7e8e07bd7873e9db0209"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9148ef4deac37685c5dca50713e1bc51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9148ef4deac37685c5dca50713e1bc51">vmla_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a9148ef4deac37685c5dca50713e1bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (8 elements).  <a href="#a9148ef4deac37685c5dca50713e1bc51">More...</a><br /></td></tr>
-<tr class="separator:a9148ef4deac37685c5dca50713e1bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a65dd9a9ece185e072304bfb84f1da896"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65dd9a9ece185e072304bfb84f1da896">vmla_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a65dd9a9ece185e072304bfb84f1da896"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (4 elements).  <a href="#a65dd9a9ece185e072304bfb84f1da896">More...</a><br /></td></tr>
-<tr class="separator:a65dd9a9ece185e072304bfb84f1da896"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8f7e4ade15cc5e0ff880a5cae0afe551"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8f7e4ade15cc5e0ff880a5cae0afe551">vmlaq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a8f7e4ade15cc5e0ff880a5cae0afe551"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (16 elements).  <a href="#a8f7e4ade15cc5e0ff880a5cae0afe551">More...</a><br /></td></tr>
-<tr class="separator:a8f7e4ade15cc5e0ff880a5cae0afe551"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5740aa7e90f78b876eab289c1f555bd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5740aa7e90f78b876eab289c1f555bd6">vmlaq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a5740aa7e90f78b876eab289c1f555bd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (16 elements).  <a href="#a5740aa7e90f78b876eab289c1f555bd6">More...</a><br /></td></tr>
-<tr class="separator:a5740aa7e90f78b876eab289c1f555bd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ef65dbc253ba9bdf9878d587134948d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ef65dbc253ba9bdf9878d587134948d">vqmla_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a1ef65dbc253ba9bdf9878d587134948d"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (8 elements).  <a href="#a1ef65dbc253ba9bdf9878d587134948d">More...</a><br /></td></tr>
-<tr class="separator:a1ef65dbc253ba9bdf9878d587134948d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82aa0004d0ec3a36047eb9aa8145ae58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82aa0004d0ec3a36047eb9aa8145ae58">vqmla_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a82aa0004d0ec3a36047eb9aa8145ae58"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (4 elements).  <a href="#a82aa0004d0ec3a36047eb9aa8145ae58">More...</a><br /></td></tr>
-<tr class="separator:a82aa0004d0ec3a36047eb9aa8145ae58"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9b87f278c2405ed16a39dd3c727ed176"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9b87f278c2405ed16a39dd3c727ed176">vqmlaq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a9b87f278c2405ed16a39dd3c727ed176"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (16 elements).  <a href="#a9b87f278c2405ed16a39dd3c727ed176">More...</a><br /></td></tr>
-<tr class="separator:a9b87f278c2405ed16a39dd3c727ed176"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7f95e15953c87e04b31dd4fb508ba661"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f95e15953c87e04b31dd4fb508ba661">vqmlaq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a7f95e15953c87e04b31dd4fb508ba661"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (8 elements).  <a href="#a7f95e15953c87e04b31dd4fb508ba661">More...</a><br /></td></tr>
-<tr class="separator:a7f95e15953c87e04b31dd4fb508ba661"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1daaabdf809ac3cbfde6d95555faef78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1daaabdf809ac3cbfde6d95555faef78">vmlal_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a1daaabdf809ac3cbfde6d95555faef78"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate long (8 elements).  <a href="#a1daaabdf809ac3cbfde6d95555faef78">More...</a><br /></td></tr>
-<tr class="separator:a1daaabdf809ac3cbfde6d95555faef78"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a163987dd7c9679354c24ad7d3a32fafb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a163987dd7c9679354c24ad7d3a32fafb">vmlal_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a163987dd7c9679354c24ad7d3a32fafb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate long (4 elements).  <a href="#a163987dd7c9679354c24ad7d3a32fafb">More...</a><br /></td></tr>
-<tr class="separator:a163987dd7c9679354c24ad7d3a32fafb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e9b5e17434f8beaf1010d256b4b41c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2e9b5e17434f8beaf1010d256b4b41c2">vqmlal_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a2e9b5e17434f8beaf1010d256b4b41c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate long (8 elements).  <a href="#a2e9b5e17434f8beaf1010d256b4b41c2">More...</a><br /></td></tr>
-<tr class="separator:a2e9b5e17434f8beaf1010d256b4b41c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3821183742f08737679437e657400fd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3821183742f08737679437e657400fd2">vqmlal_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a3821183742f08737679437e657400fd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate long (4 elements).  <a href="#a3821183742f08737679437e657400fd2">More...</a><br /></td></tr>
-<tr class="separator:a3821183742f08737679437e657400fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a371a36182341de1fa885d16e8780302f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a371a36182341de1fa885d16e8780302f">vqcvt_qs8_f32</a> (const float32x4x2_t a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a371a36182341de1fa885d16e8780302f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4x2 elements to 8 bit fixed point vector with 8 elements.  <a href="#a371a36182341de1fa885d16e8780302f">More...</a><br /></td></tr>
-<tr class="separator:a371a36182341de1fa885d16e8780302f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad6a5927c42259aa1e8e8acef8f42b2be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad6a5927c42259aa1e8e8acef8f42b2be">vqcvt_qs16_f32</a> (const float32x4_t a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ad6a5927c42259aa1e8e8acef8f42b2be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4 elements to 16 bit fixed point vector with 4 elements.  <a href="#ad6a5927c42259aa1e8e8acef8f42b2be">More...</a><br /></td></tr>
-<tr class="separator:ad6a5927c42259aa1e8e8acef8f42b2be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8363f66cbb4859d6bff88722def231bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8363f66cbb4859d6bff88722def231bb">vqcvtq_qs8_f32</a> (const float32x4x4_t &amp;a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a8363f66cbb4859d6bff88722def231bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements.  <a href="#a8363f66cbb4859d6bff88722def231bb">More...</a><br /></td></tr>
-<tr class="separator:a8363f66cbb4859d6bff88722def231bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab65a962155ae0435b66bfa12328e5edf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab65a962155ae0435b66bfa12328e5edf">vqcvtq_qs16_f32</a> (const float32x4x2_t &amp;a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ab65a962155ae0435b66bfa12328e5edf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements.  <a href="#ab65a962155ae0435b66bfa12328e5edf">More...</a><br /></td></tr>
-<tr class="separator:ab65a962155ae0435b66bfa12328e5edf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0e5310342a6ac0682691754a45d968ac"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e5310342a6ac0682691754a45d968ac">vcvt_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a0e5310342a6ac0682691754a45d968ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 8 bit fixed point vector with 8 elements to a float vector with 4x2 elements.  <a href="#a0e5310342a6ac0682691754a45d968ac">More...</a><br /></td></tr>
-<tr class="separator:a0e5310342a6ac0682691754a45d968ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3eadd9dc42dec63c6a23af0044704c0"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3eadd9dc42dec63c6a23af0044704c0">vcvt_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa3eadd9dc42dec63c6a23af0044704c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 16 bit fixed point vector with 4 elements to a float vector with 4 elements.  <a href="#aa3eadd9dc42dec63c6a23af0044704c0">More...</a><br /></td></tr>
-<tr class="separator:aa3eadd9dc42dec63c6a23af0044704c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a19e68f6a298ae587a491df52d6859350"><td class="memItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19e68f6a298ae587a491df52d6859350">vcvtq_qs8_f32</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a19e68f6a298ae587a491df52d6859350"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 8 bit fixed point vector with 16 elements to a float vector with 4x4 elements.  <a href="#a19e68f6a298ae587a491df52d6859350">More...</a><br /></td></tr>
-<tr class="separator:a19e68f6a298ae587a491df52d6859350"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a943abeff66faa34d1c2aeeab4ebfabdf">vcvtq_qs16_f32</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 16 bit fixed point vector with 8 elements to a float vector with 4x2 elements.  <a href="#a943abeff66faa34d1c2aeeab4ebfabdf">More...</a><br /></td></tr>
-<tr class="separator:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8296fccbf09fbf34ad4b92f4021006da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8296fccbf09fbf34ad4b92f4021006da">vrecip_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a8296fccbf09fbf34ad4b92f4021006da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method.  <a href="#a8296fccbf09fbf34ad4b92f4021006da">More...</a><br /></td></tr>
-<tr class="separator:a8296fccbf09fbf34ad4b92f4021006da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6684a81eb6da5626f58dc2f779442363"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6684a81eb6da5626f58dc2f779442363">vrecip_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a6684a81eb6da5626f58dc2f779442363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method.  <a href="#a6684a81eb6da5626f58dc2f779442363">More...</a><br /></td></tr>
-<tr class="separator:a6684a81eb6da5626f58dc2f779442363"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaa8caca8d68cca50001e0c60b01cf3b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaa8caca8d68cca50001e0c60b01cf3b7">vrecipq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aaa8caca8d68cca50001e0c60b01cf3b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method.  <a href="#aaa8caca8d68cca50001e0c60b01cf3b7">More...</a><br /></td></tr>
-<tr class="separator:aaa8caca8d68cca50001e0c60b01cf3b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0c9efa256360bb7dbb87e1ddd439727b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c9efa256360bb7dbb87e1ddd439727b">vrecipq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a0c9efa256360bb7dbb87e1ddd439727b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method.  <a href="#a0c9efa256360bb7dbb87e1ddd439727b">More...</a><br /></td></tr>
-<tr class="separator:a0c9efa256360bb7dbb87e1ddd439727b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae882a78a649d7d737cab1cb496e6e0f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae882a78a649d7d737cab1cb496e6e0f0">vdiv_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int8x8_t b, int fixed_point_position)</td></tr>
-<tr class="memdesc:ae882a78a649d7d737cab1cb496e6e0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 8bit (8 elements)  <a href="#ae882a78a649d7d737cab1cb496e6e0f0">More...</a><br /></td></tr>
-<tr class="separator:ae882a78a649d7d737cab1cb496e6e0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a73c3ec663189efd1ef6e93249939ed02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a73c3ec663189efd1ef6e93249939ed02">vdiv_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a73c3ec663189efd1ef6e93249939ed02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 16 bit (4 elements)  <a href="#a73c3ec663189efd1ef6e93249939ed02">More...</a><br /></td></tr>
-<tr class="separator:a73c3ec663189efd1ef6e93249939ed02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abacd82fd9acb85349b751a3eba0fd8db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abacd82fd9acb85349b751a3eba0fd8db">vdivq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:abacd82fd9acb85349b751a3eba0fd8db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 8bit (16 elements)  <a href="#abacd82fd9acb85349b751a3eba0fd8db">More...</a><br /></td></tr>
-<tr class="separator:abacd82fd9acb85349b751a3eba0fd8db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5830e15cd59ed3198b916ec03efa07a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af5830e15cd59ed3198b916ec03efa07a">vdivq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:af5830e15cd59ed3198b916ec03efa07a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 16 bit (8 elements)  <a href="#af5830e15cd59ed3198b916ec03efa07a">More...</a><br /></td></tr>
-<tr class="separator:af5830e15cd59ed3198b916ec03efa07a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0e0e8c2bd0e807665d319522a9759290"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
-<tr class="memitem:a0e0e8c2bd0e807665d319522a9759290"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e0e8c2bd0e807665d319522a9759290">vtaylor_poly_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a0e0e8c2bd0e807665d319522a9759290"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation.  <a href="#a0e0e8c2bd0e807665d319522a9759290">More...</a><br /></td></tr>
-<tr class="separator:a0e0e8c2bd0e807665d319522a9759290"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1629fb1e72d3c423a27c4b99befdca42"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
-<tr class="memitem:a1629fb1e72d3c423a27c4b99befdca42"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1629fb1e72d3c423a27c4b99befdca42">vtaylor_poly_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a1629fb1e72d3c423a27c4b99befdca42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation.  <a href="#a1629fb1e72d3c423a27c4b99befdca42">More...</a><br /></td></tr>
-<tr class="separator:a1629fb1e72d3c423a27c4b99befdca42"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a026e9fe1c4037706de8f6206efd98a56"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
-<tr class="memitem:a026e9fe1c4037706de8f6206efd98a56"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a026e9fe1c4037706de8f6206efd98a56">vtaylor_polyq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a026e9fe1c4037706de8f6206efd98a56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation.  <a href="#a026e9fe1c4037706de8f6206efd98a56">More...</a><br /></td></tr>
-<tr class="separator:a026e9fe1c4037706de8f6206efd98a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa8fcc7e78931bef2916548369bc928e3"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
-<tr class="memitem:aa8fcc7e78931bef2916548369bc928e3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8fcc7e78931bef2916548369bc928e3">vtaylor_polyq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa8fcc7e78931bef2916548369bc928e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation.  <a href="#aa8fcc7e78931bef2916548369bc928e3">More...</a><br /></td></tr>
-<tr class="separator:aa8fcc7e78931bef2916548369bc928e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a796dc111009ab985d6bac8664743b56e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a796dc111009ab985d6bac8664743b56e">vqexp_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a796dc111009ab985d6bac8664743b56e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (8 elements)  <a href="#a796dc111009ab985d6bac8664743b56e">More...</a><br /></td></tr>
-<tr class="separator:a796dc111009ab985d6bac8664743b56e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8aec993498bbb804d3411179eaae5ce8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8aec993498bbb804d3411179eaae5ce8">vqexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a8aec993498bbb804d3411179eaae5ce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (4 elements)  <a href="#a8aec993498bbb804d3411179eaae5ce8">More...</a><br /></td></tr>
-<tr class="separator:a8aec993498bbb804d3411179eaae5ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7274ff184c5e2bf7fd8159ee7905fb7c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7274ff184c5e2bf7fd8159ee7905fb7c">vqexpq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a7274ff184c5e2bf7fd8159ee7905fb7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (16 elements)  <a href="#a7274ff184c5e2bf7fd8159ee7905fb7c">More...</a><br /></td></tr>
-<tr class="separator:a7274ff184c5e2bf7fd8159ee7905fb7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acb7e4a856a35070e51f402767916fbb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acb7e4a856a35070e51f402767916fbb5">vqexpq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:acb7e4a856a35070e51f402767916fbb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (8 elements)  <a href="#acb7e4a856a35070e51f402767916fbb5">More...</a><br /></td></tr>
-<tr class="separator:acb7e4a856a35070e51f402767916fbb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4ca0ad1dc517c2646d7da1583936867f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ca0ad1dc517c2646d7da1583936867f">vlog_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a4ca0ad1dc517c2646d7da1583936867f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 8 bit (8 elements)  <a href="#a4ca0ad1dc517c2646d7da1583936867f">More...</a><br /></td></tr>
-<tr class="separator:a4ca0ad1dc517c2646d7da1583936867f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a33add780af7e9251ccbb0e3c50c9cc11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a33add780af7e9251ccbb0e3c50c9cc11">vlog_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a33add780af7e9251ccbb0e3c50c9cc11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16 bit (4 elements)  <a href="#a33add780af7e9251ccbb0e3c50c9cc11">More...</a><br /></td></tr>
-<tr class="separator:a33add780af7e9251ccbb0e3c50c9cc11"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a72f1d32348ca1824c4f914d648dd0d61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a72f1d32348ca1824c4f914d648dd0d61">vlogq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a72f1d32348ca1824c4f914d648dd0d61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16bit (16 elements)  <a href="#a72f1d32348ca1824c4f914d648dd0d61">More...</a><br /></td></tr>
-<tr class="separator:a72f1d32348ca1824c4f914d648dd0d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a941057e2a953c1c350edcf384ccb0c0d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a941057e2a953c1c350edcf384ccb0c0d">vlogq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a941057e2a953c1c350edcf384ccb0c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16 bit (8 elements)  <a href="#a941057e2a953c1c350edcf384ccb0c0d">More...</a><br /></td></tr>
-<tr class="separator:a941057e2a953c1c350edcf384ccb0c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a85869673985438d7681e9c114bef6e25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a85869673985438d7681e9c114bef6e25">vinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a85869673985438d7681e9c114bef6e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements)  <a href="#a85869673985438d7681e9c114bef6e25">More...</a><br /></td></tr>
-<tr class="separator:a85869673985438d7681e9c114bef6e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a21e91de60863fd472ebb82d7dc349d8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21e91de60863fd472ebb82d7dc349d8f">vinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a21e91de60863fd472ebb82d7dc349d8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements)  <a href="#a21e91de60863fd472ebb82d7dc349d8f">More...</a><br /></td></tr>
-<tr class="separator:a21e91de60863fd472ebb82d7dc349d8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afcdeee5eb58f1d043bf16fada4d1bbc5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afcdeee5eb58f1d043bf16fada4d1bbc5">vqinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:afcdeee5eb58f1d043bf16fada4d1bbc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements)  <a href="#afcdeee5eb58f1d043bf16fada4d1bbc5">More...</a><br /></td></tr>
-<tr class="separator:afcdeee5eb58f1d043bf16fada4d1bbc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad1c8116664a899f8756dcfe1c9acbea2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad1c8116664a899f8756dcfe1c9acbea2">vqinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ad1c8116664a899f8756dcfe1c9acbea2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements)  <a href="#ad1c8116664a899f8756dcfe1c9acbea2">More...</a><br /></td></tr>
-<tr class="separator:ad1c8116664a899f8756dcfe1c9acbea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40884fce7e40ddc919782b553cd19c83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a40884fce7e40ddc919782b553cd19c83">vinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a40884fce7e40ddc919782b553cd19c83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements)  <a href="#a40884fce7e40ddc919782b553cd19c83">More...</a><br /></td></tr>
-<tr class="separator:a40884fce7e40ddc919782b553cd19c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a14c3ee7e923e6b37c7b3dbf115cbeaf9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14c3ee7e923e6b37c7b3dbf115cbeaf9">vinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a14c3ee7e923e6b37c7b3dbf115cbeaf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements)  <a href="#a14c3ee7e923e6b37c7b3dbf115cbeaf9">More...</a><br /></td></tr>
-<tr class="separator:a14c3ee7e923e6b37c7b3dbf115cbeaf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a097eca47afb2688ec59dc72cd84d442d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a097eca47afb2688ec59dc72cd84d442d">vqinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a097eca47afb2688ec59dc72cd84d442d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements)  <a href="#a097eca47afb2688ec59dc72cd84d442d">More...</a><br /></td></tr>
-<tr class="separator:a097eca47afb2688ec59dc72cd84d442d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9c366f52098f4262c6233f46f565d118"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c366f52098f4262c6233f46f565d118">vqinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a9c366f52098f4262c6233f46f565d118"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (8 elements)  <a href="#a9c366f52098f4262c6233f46f565d118">More...</a><br /></td></tr>
-<tr class="separator:a9c366f52098f4262c6233f46f565d118"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7e2b6f46b6457834c1e0248089a52ec8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e2b6f46b6457834c1e0248089a52ec8">vqtanh_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a7e2b6f46b6457834c1e0248089a52ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (8 elements)  <a href="#a7e2b6f46b6457834c1e0248089a52ec8">More...</a><br /></td></tr>
-<tr class="separator:a7e2b6f46b6457834c1e0248089a52ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a37fac70d8902a85688e7c0e8781099e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a37fac70d8902a85688e7c0e8781099e8">vqtanh_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a37fac70d8902a85688e7c0e8781099e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16 bit (4 elements)  <a href="#a37fac70d8902a85688e7c0e8781099e8">More...</a><br /></td></tr>
-<tr class="separator:a37fac70d8902a85688e7c0e8781099e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa999fb138baf59c481d6a7c40832623c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa999fb138baf59c481d6a7c40832623c">vqtanhq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa999fb138baf59c481d6a7c40832623c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (16 elements)  <a href="#aa999fb138baf59c481d6a7c40832623c">More...</a><br /></td></tr>
-<tr class="separator:aa999fb138baf59c481d6a7c40832623c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a424118de27c3118ff9d2d704663f746c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a424118de27c3118ff9d2d704663f746c">vqtanhq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a424118de27c3118ff9d2d704663f746c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16bit (8 elements)  <a href="#a424118de27c3118ff9d2d704663f746c">More...</a><br /></td></tr>
-<tr class="separator:a424118de27c3118ff9d2d704663f746c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d4cef7d7331ac5a216d8bd3000564db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0d4cef7d7331ac5a216d8bd3000564db">vqpowq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a0d4cef7d7331ac5a216d8bd3000564db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating n power for fixed point 8bit (16 elements).  <a href="#a0d4cef7d7331ac5a216d8bd3000564db">More...</a><br /></td></tr>
-<tr class="separator:a0d4cef7d7331ac5a216d8bd3000564db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7db8aa4f9e7973933b2fb17c8278add0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7db8aa4f9e7973933b2fb17c8278add0">vqpowq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a7db8aa4f9e7973933b2fb17c8278add0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating n power for fixed point 16bit (8 elements).  <a href="#a7db8aa4f9e7973933b2fb17c8278add0">More...</a><br /></td></tr>
-<tr class="separator:a7db8aa4f9e7973933b2fb17c8278add0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ace593813d742d127296b09fa8ab3f85e"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ace593813d742d127296b09fa8ab3f85e">vmax2q_f32</a> (float32x4x2_t a, float32x4x2_t b)</td></tr>
 <tr class="memdesc:ace593813d742d127296b09fa8ab3f85e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute lane-by-lane maximum between elements of a float vector with 4x2 elements.  <a href="#ace593813d742d127296b09fa8ab3f85e">More...</a><br /></td></tr>
 <tr class="separator:ace593813d742d127296b09fa8ab3f85e"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3615,10 +3092,6 @@
 <tr class="memitem:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0101a40c4a6acc2af3b55afa7632f16a">calculate_matrix_scale</a> (const int16_t *matrix, unsigned int matrix_size)</td></tr>
 <tr class="memdesc:a0101a40c4a6acc2af3b55afa7632f16a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the scale of the given square matrix.  <a href="#a0101a40c4a6acc2af3b55afa7632f16a">More...</a><br /></td></tr>
 <tr class="separator:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a075313545533c34978309ed57d18333f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr class="memitem:a075313545533c34978309ed57d18333f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a075313545533c34978309ed57d18333f">calculate_depth_concatenate_shape</a> (const std::vector&lt; T * &gt; &amp;inputs_vector)</td></tr>
-<tr class="memdesc:a075313545533c34978309ed57d18333f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the output shapes of the depth concatenate function.  <a href="#a075313545533c34978309ed57d18333f">More...</a><br /></td></tr>
-<tr class="separator:a075313545533c34978309ed57d18333f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:add7f7487c235331a6518dd16ad1e3b38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">adjust_odd_shape</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
 <tr class="memdesc:add7f7487c235331a6518dd16ad1e3b38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjust tensor shape size if width or height are odd for a given multi-planar format.  <a href="#add7f7487c235331a6518dd16ad1e3b38">More...</a><br /></td></tr>
 <tr class="separator:add7f7487c235331a6518dd16ad1e3b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3685,9 +3158,6 @@
 <tr class="memitem:a0bee325b210f81bb89fe1f9e15badf9c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0bee325b210f81bb89fe1f9e15badf9c">is_data_type_quantized</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
 <tr class="memdesc:a0bee325b210f81bb89fe1f9e15badf9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a given data type is of quantized type.  <a href="#a0bee325b210f81bb89fe1f9e15badf9c">More...</a><br /></td></tr>
 <tr class="separator:a0bee325b210f81bb89fe1f9e15badf9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab6bb62694ae8369d18a9c9687040975e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6bb62694ae8369d18a9c9687040975e">is_data_type_fixed_point</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
-<tr class="memdesc:ab6bb62694ae8369d18a9c9687040975e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a given data type is of fixed point type.  <a href="#ab6bb62694ae8369d18a9c9687040975e">More...</a><br /></td></tr>
-<tr class="separator:ab6bb62694ae8369d18a9c9687040975e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a14f46283f316e7f0fad301d5c1507e9f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
 <tr class="memdesc:a14f46283f316e7f0fad301d5c1507e9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a given data type is of asymmetric quantized type.  <a href="#a14f46283f316e7f0fad301d5c1507e9f">More...</a><br /></td></tr>
 <tr class="separator:a14f46283f316e7f0fad301d5c1507e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3771,14 +3241,6 @@
 <tr class="memitem:a709c2aef39aa212b840c6395fc20ce17"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a709c2aef39aa212b840c6395fc20ce17">error_on_mismatching_data_types</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, Ts...tensors)</td></tr>
 <tr class="memdesc:a709c2aef39aa212b840c6395fc20ce17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different data types.  <a href="#a709c2aef39aa212b840c6395fc20ce17">More...</a><br /></td></tr>
 <tr class="separator:a709c2aef39aa212b840c6395fc20ce17"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aafd4504246cc7e82e108204cb9636a90"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
-<tr class="memitem:aafd4504246cc7e82e108204cb9636a90"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aafd4504246cc7e82e108204cb9636a90">error_on_mismatching_fixed_point</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
-<tr class="memdesc:aafd4504246cc7e82e108204cb9636a90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor infos have different fixed point data types or different fixed point positions.  <a href="#aafd4504246cc7e82e108204cb9636a90">More...</a><br /></td></tr>
-<tr class="separator:aafd4504246cc7e82e108204cb9636a90"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
-<tr class="memitem:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8ecebd0b1ad2f0c593f7b093a1e43448">error_on_mismatching_fixed_point</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
-<tr class="memdesc:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor have different fixed point data types or different fixed point positions.  <a href="#a8ecebd0b1ad2f0c593f7b093a1e43448">More...</a><br /></td></tr>
-<tr class="separator:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:af4c3199d58278db542e1cdfb72a41901"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
 <tr class="memitem:af4c3199d58278db542e1cdfb72a41901"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">error_on_mismatching_quantization_info</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
 <tr class="memdesc:af4c3199d58278db542e1cdfb72a41901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor infos have different asymmetric quantized data types or different quantization info.  <a href="#af4c3199d58278db542e1cdfb72a41901">More...</a><br /></td></tr>
@@ -3807,9 +3269,18 @@
 <tr class="memitem:ad3137e73dbd78133d25751abd84540d8"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">error_on_data_type_channel_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
 <tr class="memdesc:ad3137e73dbd78133d25751abd84540d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided.  <a href="#ad3137e73dbd78133d25751abd84540d8">More...</a><br /></td></tr>
 <tr class="separator:ad3137e73dbd78133d25751abd84540d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76433394f276fbc92390850a15bd2cae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a76433394f276fbc92390850a15bd2cae">error_on_unsupported_fp16</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, bool is_fp16_supported)</td></tr>
+<tr class="memdesc:a76433394f276fbc92390850a15bd2cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor info is FP16 and FP16 extension is not supported by the device.  <a href="#a76433394f276fbc92390850a15bd2cae">More...</a><br /></td></tr>
+<tr class="separator:a76433394f276fbc92390850a15bd2cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea2b331c31943c1f726c9f552348c89c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aea2b331c31943c1f726c9f552348c89c">error_on_unsupported_fp16</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, bool is_fp16_supported)</td></tr>
+<tr class="memdesc:aea2b331c31943c1f726c9f552348c89c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor is FP16 and FP16 extension is not supported by the device.  <a href="#aea2b331c31943c1f726c9f552348c89c">More...</a><br /></td></tr>
+<tr class="separator:aea2b331c31943c1f726c9f552348c89c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9f37a1ead28d12ce216e27209dae2a81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f37a1ead28d12ce216e27209dae2a81">error_on_tensor_not_2d</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
 <tr class="memdesc:a9f37a1ead28d12ce216e27209dae2a81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the tensor is not 2D.  <a href="#a9f37a1ead28d12ce216e27209dae2a81">More...</a><br /></td></tr>
 <tr class="separator:a9f37a1ead28d12ce216e27209dae2a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aca7957ee1166144ae3999c7cf42d29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6aca7957ee1166144ae3999c7cf42d29">error_on_tensor_not_2d</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor)</td></tr>
+<tr class="memdesc:a6aca7957ee1166144ae3999c7cf42d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the tensor info is not 2D.  <a href="#a6aca7957ee1166144ae3999c7cf42d29">More...</a><br /></td></tr>
+<tr class="separator:a6aca7957ee1166144ae3999c7cf42d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae7fcde610527b8fa3d9acdf398187962"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
 <tr class="memitem:ae7fcde610527b8fa3d9acdf398187962"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae7fcde610527b8fa3d9acdf398187962">error_on_channel_not_in</a> (const char *function, const char *file, const int line, T cn, T &amp;&amp;channel, Ts &amp;&amp;...channels)</td></tr>
 <tr class="memdesc:ae7fcde610527b8fa3d9acdf398187962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the channel is not in channels.  <a href="#ae7fcde610527b8fa3d9acdf398187962">More...</a><br /></td></tr>
@@ -3829,39 +3300,47 @@
 <tr class="memitem:a74dd77930a4d0ccf755c1cc648601c63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74dd77930a4d0ccf755c1cc648601c63">error_on_invalid_subtensor_valid_region</a> (const char *function, const char *file, const int line, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;parent_valid_region, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region)</td></tr>
 <tr class="memdesc:a74dd77930a4d0ccf755c1cc648601c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the valid region of a subtensor is not inside the valid region of the parent tensor.  <a href="#a74dd77930a4d0ccf755c1cc648601c63">More...</a><br /></td></tr>
 <tr class="separator:a74dd77930a4d0ccf755c1cc648601c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82c748dc3464dfc48133fbf8f84d7240"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
-<tr class="memitem:a82c748dc3464dfc48133fbf8f84d7240"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82c748dc3464dfc48133fbf8f84d7240">error_on_mismatching_fixed_point_position</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
-<tr class="memdesc:a82c748dc3464dfc48133fbf8f84d7240"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the input fixed-point positions are different.  <a href="#a82c748dc3464dfc48133fbf8f84d7240">More...</a><br /></td></tr>
-<tr class="separator:a82c748dc3464dfc48133fbf8f84d7240"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
-<tr class="memitem:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adec7d6b27c9cacab7940ce67eaab4bf6">error_on_mismatching_fixed_point_position</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
-<tr class="memdesc:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the input fixed-point positions are different.  <a href="#adec7d6b27c9cacab7940ce67eaab4bf6">More...</a><br /></td></tr>
-<tr class="separator:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a902b2c73a1317fd91a167e9d4d3f211b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a902b2c73a1317fd91a167e9d4d3f211b">error_on_value_not_representable_in_fixed_point</a> (const char *function, const char *file, int line, float value, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info)</td></tr>
-<tr class="memdesc:a902b2c73a1317fd91a167e9d4d3f211b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the fixed-point value is not representable in the specified Q format.  <a href="#a902b2c73a1317fd91a167e9d4d3f211b">More...</a><br /></td></tr>
-<tr class="separator:a902b2c73a1317fd91a167e9d4d3f211b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad865b21069f578ddb1c65cb32f3fcaa0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad865b21069f578ddb1c65cb32f3fcaa0">error_on_value_not_representable_in_fixed_point</a> (const char *function, const char *file, int line, float value, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
-<tr class="memdesc:ad865b21069f578ddb1c65cb32f3fcaa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error an error if the fixed-point value is not representable in the specified Q format.  <a href="#ad865b21069f578ddb1c65cb32f3fcaa0">More...</a><br /></td></tr>
-<tr class="separator:ad865b21069f578ddb1c65cb32f3fcaa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe3b7128bf77dd12c85eed944fe5b3d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afe3b7128bf77dd12c85eed944fe5b3d4">convert_window_coord_to_position</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;w, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;<a class="el" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>)</td></tr>
+<tr class="memdesc:afe3b7128bf77dd12c85eed944fe5b3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an offset in window steps into absolute coordinates.  <a href="#afe3b7128bf77dd12c85eed944fe5b3d4">More...</a><br /></td></tr>
+<tr class="separator:afe3b7128bf77dd12c85eed944fe5b3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf5f536bf7ec25ff83b912badcf61405"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
+<tr class="memitem:aaf5f536bf7ec25ff83b912badcf61405"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window_iterator.xhtml">WindowIterator</a>&lt; L &gt;&#160;</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> &amp;w, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;start, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;end, L &amp;&amp;lambda_function)</td></tr>
+<tr class="memdesc:aaf5f536bf7ec25ff83b912badcf61405"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
+<tr class="memitem:ade65ba63cdf4becce903866f4a59815e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade65ba63cdf4becce903866f4a59815e">data_type_from_name</a> (const std::string &amp;name)</td></tr>
+<tr class="memdesc:ade65ba63cdf4becce903866f4a59815e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>.  <a href="#ade65ba63cdf4becce903866f4a59815e">More...</a><br /></td></tr>
+<tr class="separator:ade65ba63cdf4becce903866f4a59815e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7cec6ed141f3eb1d6330533a90bba9e1"><td class="memItemLeft" align="right" valign="top">inline::std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7cec6ed141f3eb1d6330533a90bba9e1">operator&gt;&gt;</a> (::std::istream &amp;stream, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;data_type)</td></tr>
+<tr class="memdesc:a7cec6ed141f3eb1d6330533a90bba9e1"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
+<tr class="memitem:a70c6f92f6b74982b31716cfd2fdf612a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">data_layout_from_name</a> (const std::string &amp;name)</td></tr>
+<tr class="memdesc:a70c6f92f6b74982b31716cfd2fdf612a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>.  <a href="#a70c6f92f6b74982b31716cfd2fdf612a">More...</a><br /></td></tr>
+<tr class="separator:a70c6f92f6b74982b31716cfd2fdf612a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="memItemLeft" align="right" valign="top">inline::std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c4a3d0e80938810dd7b22b16785f5c8">operator&gt;&gt;</a> (::std::istream &amp;stream, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;data_layout)</td></tr>
+<tr class="memdesc:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>.  <a href="#a9c4a3d0e80938810dd7b22b16785f5c8">More...</a><br /></td></tr>
+<tr class="separator:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aba90ba1790209a7ec569f3ce897be586"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba90ba1790209a7ec569f3ce897be586">get_cpu_configuration</a> (<a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a> &amp;cpuinfo)</td></tr>
 <tr class="memdesc:aba90ba1790209a7ec569f3ce897be586"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will try to detect the CPU configuration on the system and will fill the cpuinfo object accordingly to reflect this.  <a href="#aba90ba1790209a7ec569f3ce897be586">More...</a><br /></td></tr>
 <tr class="separator:aba90ba1790209a7ec569f3ce897be586"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a075f941d6e53f1513d8964043a3d809b"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a075f941d6e53f1513d8964043a3d809b">get_threads_hint</a> ()</td></tr>
 <tr class="memdesc:a075f941d6e53f1513d8964043a3d809b"><td class="mdescLeft">&#160;</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="#a075f941d6e53f1513d8964043a3d809b">More...</a><br /></td></tr>
 <tr class="separator:a075f941d6e53f1513d8964043a3d809b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa63c4dc1d1e43b7e57fadcb3e3e93580"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa63c4dc1d1e43b7e57fadcb3e3e93580">allocate_workspace</a> (size_t workspace_size, <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;workspace, <a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> *memory_group, size_t alignment, unsigned int num_threads)</td></tr>
-<tr class="memdesc:aa63c4dc1d1e43b7e57fadcb3e3e93580"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a workspace tensor.  <a href="#aa63c4dc1d1e43b7e57fadcb3e3e93580">More...</a><br /></td></tr>
-<tr class="separator:aa63c4dc1d1e43b7e57fadcb3e3e93580"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd2bf5c0522dab806fa7981c9bc4d38e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr class="memitem:abd2bf5c0522dab806fa7981c9bc4d38e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd2bf5c0522dab806fa7981c9bc4d38e">setup_assembly_kernel</a> (const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *a, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *b, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *d, float alpha, float beta, bool pretranspose_hint, <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;workspace, <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;B_pretranspose, <a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> &amp;memory_group, T &amp;asm_glue)</td></tr>
-<tr class="memdesc:abd2bf5c0522dab806fa7981c9bc4d38e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a wrapper kernel.  <a href="#abd2bf5c0522dab806fa7981c9bc4d38e">More...</a><br /></td></tr>
-<tr class="separator:abd2bf5c0522dab806fa7981c9bc4d38e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa5191117dc677a74552769b87131b1b6"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa5191117dc677a74552769b87131b1b6">string_from_scheduler_type</a> (<a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> t)</td></tr>
 <tr class="memdesc:aa5191117dc677a74552769b87131b1b6"><td class="mdescLeft">&#160;</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="#aa5191117dc677a74552769b87131b1b6">More...</a><br /></td></tr>
 <tr class="separator:aa5191117dc677a74552769b87131b1b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3985189d478b45014e7dead9d002e2a"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af3985189d478b45014e7dead9d002e2a">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> &amp;dim)</td></tr>
+<tr class="memdesc:af3985189d478b45014e7dead9d002e2a"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
+<tr class="memitem:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab75d8ff29ba9b398d5740b3efd156e71">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> &amp;type)</td></tr>
+<tr class="memdesc:ab75d8ff29ba9b398d5740b3efd156e71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the GradientDimension type.  <a href="#ab75d8ff29ba9b398d5740b3efd156e71">More...</a><br /></td></tr>
+<tr class="separator:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memItemLeft" align="right" valign="top">inline::std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1379e5f8a8b4640d7a52d901f0539ccd">operator&gt;&gt;</a> (::std::istream &amp;is, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;mode)</td></tr>
 <tr class="memdesc:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted input of the BorderMode type.  <a href="#a1379e5f8a8b4640d7a52d901f0539ccd">More...</a><br /></td></tr>
 <tr class="separator:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad023d4ca1d3facf3975c941fd728a6f4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ad023d4ca1d3facf3975c941fd728a6f4"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad023d4ca1d3facf3975c941fd728a6f4">to_string_if_not_null</a> (T *arg)</td></tr>
+<tr class="memdesc:ad023d4ca1d3facf3975c941fd728a6f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output if arg is not null.  <a href="#ad023d4ca1d3facf3975c941fd728a6f4">More...</a><br /></td></tr>
+<tr class="separator:ad023d4ca1d3facf3975c941fd728a6f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18d43401e8f84ed020429b41ec4e99f5">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dimensions)</td></tr>
 <tr class="memdesc:a18d43401e8f84ed020429b41ec4e99f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type.  <a href="#a18d43401e8f84ed020429b41ec4e99f5">More...</a><br /></td></tr>
@@ -3893,12 +3372,6 @@
 <tr class="memitem:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad9fd48b3c01116b217a684aaeaf8b24f">to_string</a> (const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &amp;quantization_info)</td></tr>
 <tr class="memdesc:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_quantization_info.xhtml" title="Quantization settings (used for QASYMM8 data type) ">QuantizationInfo</a> type.  <a href="#ad9fd48b3c01116b217a684aaeaf8b24f">More...</a><br /></td></tr>
 <tr class="separator:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2abb76fe917828983d666628badab08d"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2abb76fe917828983d666628badab08d">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;op)</td></tr>
-<tr class="memdesc:a2abb76fe917828983d666628badab08d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the FixedPointOp type.  <a href="#a2abb76fe917828983d666628badab08d">More...</a><br /></td></tr>
-<tr class="separator:a2abb76fe917828983d666628badab08d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3d4684c886b4d13ce004cd6d7fcea9b1">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;op)</td></tr>
-<tr class="memdesc:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the FixedPointOp type.  <a href="#a3d4684c886b4d13ce004cd6d7fcea9b1">More...</a><br /></td></tr>
-<tr class="separator:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d79efe2673aeb3f9a9160b6a78de50c">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> &amp;act_function)</td></tr>
 <tr class="memdesc:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the activation function type.  <a href="#a9d79efe2673aeb3f9a9160b6a78de50c">More...</a><br /></td></tr>
 <tr class="separator:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3932,6 +3405,9 @@
 <tr class="memitem:ae1240e4698e8a901179e519102b5e033"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae1240e4698e8a901179e519102b5e033">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;data_layout)</td></tr>
 <tr class="memdesc:ae1240e4698e8a901179e519102b5e033"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataLayout type.  <a href="#ae1240e4698e8a901179e519102b5e033">More...</a><br /></td></tr>
 <tr class="separator:ae1240e4698e8a901179e519102b5e033"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adec19acb64bfca26fa53ef76f03b79ef"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adec19acb64bfca26fa53ef76f03b79ef">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a> &amp;data_layout_dim)</td></tr>
+<tr class="memdesc:adec19acb64bfca26fa53ef76f03b79ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataLayoutDimension type.  <a href="#adec19acb64bfca26fa53ef76f03b79ef">More...</a><br /></td></tr>
+<tr class="separator:adec19acb64bfca26fa53ef76f03b79ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a685af15532d70b8682bcc52f06f034f9"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a685af15532d70b8682bcc52f06f034f9">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;data_type)</td></tr>
 <tr class="memdesc:a685af15532d70b8682bcc52f06f034f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataType type.  <a href="#a685af15532d70b8682bcc52f06f034f9">More...</a><br /></td></tr>
 <tr class="separator:a685af15532d70b8682bcc52f06f034f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3962,6 +3438,9 @@
 <tr class="memitem:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab8eb6dc1ba89bb8a69f1c3845988a2b">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &amp;policy)</td></tr>
 <tr class="memdesc:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the SamplingPolicy type.  <a href="#aab8eb6dc1ba89bb8a69f1c3845988a2b">More...</a><br /></td></tr>
 <tr class="separator:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab398837465010958bfccff032ad1ee51"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab398837465010958bfccff032ad1ee51">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;info)</td></tr>
+<tr class="memdesc:ab398837465010958bfccff032ad1ee51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_info.xhtml" title="Store the tensor&#39;s metadata. ">TensorInfo</a> type.  <a href="#ab398837465010958bfccff032ad1ee51">More...</a><br /></td></tr>
+<tr class="separator:ab398837465010958bfccff032ad1ee51"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a48fd5e28bdb4975c141841f0b96f8707"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a48fd5e28bdb4975c141841f0b96f8707">to_string</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;info)</td></tr>
 <tr class="memdesc:a48fd5e28bdb4975c141841f0b96f8707"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_info.xhtml" title="Store the tensor&#39;s metadata. ">TensorInfo</a> type.  <a href="#a48fd5e28bdb4975c141841f0b96f8707">More...</a><br /></td></tr>
 <tr class="separator:a48fd5e28bdb4975c141841f0b96f8707"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -3978,6 +3457,33 @@
 <tr class="memitem:a805a74997e303d29108845956a674387"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a805a74997e303d29108845956a674387">to_string</a> (const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;coord)</td></tr>
 <tr class="memdesc:a805a74997e303d29108845956a674387"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> type.  <a href="#a805a74997e303d29108845956a674387">More...</a><br /></td></tr>
 <tr class="separator:a805a74997e303d29108845956a674387"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fc75dce8064a37effa5e71344b6a5d2"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0fc75dce8064a37effa5e71344b6a5d2">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;info)</td></tr>
+<tr class="memdesc:a0fc75dce8064a37effa5e71344b6a5d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type.  <a href="#a0fc75dce8064a37effa5e71344b6a5d2">More...</a><br /></td></tr>
+<tr class="separator:a0fc75dce8064a37effa5e71344b6a5d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5fdae5de2d2cf2e7957f0299d17ce5ec">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;info)</td></tr>
+<tr class="memdesc:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type.  <a href="#a5fdae5de2d2cf2e7957f0299d17ce5ec">More...</a><br /></td></tr>
+<tr class="separator:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6ed8dc0f587448d14a1a33cbd5fc4f70">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;dim)</td></tr>
+<tr class="memdesc:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image&#39;s dimensions with a start, end and step. ">Window::Dimension</a> type.  <a href="#a6ed8dc0f587448d14a1a33cbd5fc4f70">More...</a><br /></td></tr>
+<tr class="separator:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc6e49991e36423027a467eab1e405b2"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc6e49991e36423027a467eab1e405b2">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
+<tr class="memdesc:afc6e49991e36423027a467eab1e405b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type.  <a href="#afc6e49991e36423027a467eab1e405b2">More...</a><br /></td></tr>
+<tr class="separator:afc6e49991e36423027a467eab1e405b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a26a595cd5522bae4fa1c4f2fb9b8f4d5">to_string</a> (const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &amp;info)</td></tr>
+<tr class="memdesc:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type.  <a href="#a26a595cd5522bae4fa1c4f2fb9b8f4d5">More...</a><br /></td></tr>
+<tr class="separator:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adac3c1908846c6361e664a353ad1c3cf"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adac3c1908846c6361e664a353ad1c3cf">to_string</a> (const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;info)</td></tr>
+<tr class="memdesc:adac3c1908846c6361e664a353ad1c3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type.  <a href="#adac3c1908846c6361e664a353ad1c3cf">More...</a><br /></td></tr>
+<tr class="separator:adac3c1908846c6361e664a353ad1c3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8ac2dfdfad6db71a5cf2ecee6b70f722">to_string</a> (const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;info)</td></tr>
+<tr class="memdesc:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type.  <a href="#a8ac2dfdfad6db71a5cf2ecee6b70f722">More...</a><br /></td></tr>
+<tr class="separator:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6ea50ec0a98c2180e6530cfcb5eb366">to_string</a> (const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;dim)</td></tr>
+<tr class="memdesc:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image&#39;s dimensions with a start, end and step. ">Window::Dimension</a> type.  <a href="#ab6ea50ec0a98c2180e6530cfcb5eb366">More...</a><br /></td></tr>
+<tr class="separator:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99aba2774f142d36c6a286cbfe027772"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99aba2774f142d36c6a286cbfe027772">to_string</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
+<tr class="memdesc:a99aba2774f142d36c6a286cbfe027772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type.  <a href="#a99aba2774f142d36c6a286cbfe027772">More...</a><br /></td></tr>
+<tr class="separator:a99aba2774f142d36c6a286cbfe027772"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a17881750c427aedd95deba46a4366ace"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a17881750c427aedd95deba46a4366ace">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a> &amp;rect)</td></tr>
 <tr class="memdesc:a17881750c427aedd95deba46a4366ace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type.  <a href="#a17881750c427aedd95deba46a4366ace">More...</a><br /></td></tr>
 <tr class="separator:a17881750c427aedd95deba46a4366ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -4034,12 +3540,6 @@
 <tr class="memitem:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a42e6f8761f01b5846f56c3b8025c8c0a">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">arm_compute::MagnitudeType</a> &amp;type)</td></tr>
 <tr class="memdesc:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the MagnitudeType type.  <a href="#a42e6f8761f01b5846f56c3b8025c8c0a">More...</a><br /></td></tr>
 <tr class="separator:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af3985189d478b45014e7dead9d002e2a"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af3985189d478b45014e7dead9d002e2a">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> &amp;dim)</td></tr>
-<tr class="memdesc:af3985189d478b45014e7dead9d002e2a"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
-<tr class="memitem:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab75d8ff29ba9b398d5740b3efd156e71">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> &amp;type)</td></tr>
-<tr class="memdesc:ab75d8ff29ba9b398d5740b3efd156e71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the GradientDimension type.  <a href="#ab75d8ff29ba9b398d5740b3efd156e71">More...</a><br /></td></tr>
-<tr class="separator:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5e7a61df2b926347b42ecadf8bcc8969"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5e7a61df2b926347b42ecadf8bcc8969">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> &amp;norm_type)</td></tr>
 <tr class="memdesc:a5e7a61df2b926347b42ecadf8bcc8969"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the HOGNormType type.  <a href="#a5e7a61df2b926347b42ecadf8bcc8969">More...</a><br /></td></tr>
 <tr class="separator:a5e7a61df2b926347b42ecadf8bcc8969"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -4082,11 +3582,29 @@
 <tr class="memitem:a51fc944d872cf00c1e8e71ccdf8be264"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51fc944d872cf00c1e8e71ccdf8be264">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &amp;termination)</td></tr>
 <tr class="memdesc:a51fc944d872cf00c1e8e71ccdf8be264"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Termination type.  <a href="#a51fc944d872cf00c1e8e71ccdf8be264">More...</a><br /></td></tr>
 <tr class="separator:a51fc944d872cf00c1e8e71ccdf8be264"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2329ad899483ca80bbffd03a63da9f5d"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2329ad899483ca80bbffd03a63da9f5d">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;cpu_model)</td></tr>
+<tr class="memdesc:a2329ad899483ca80bbffd03a63da9f5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the CPUModel type.  <a href="#a2329ad899483ca80bbffd03a63da9f5d">More...</a><br /></td></tr>
+<tr class="separator:a2329ad899483ca80bbffd03a63da9f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add33a9d992aeaa69d6940fd896ee5e75"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#add33a9d992aeaa69d6940fd896ee5e75">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;cpu_model)</td></tr>
+<tr class="memdesc:add33a9d992aeaa69d6940fd896ee5e75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the CPUModel type.  <a href="#add33a9d992aeaa69d6940fd896ee5e75">More...</a><br /></td></tr>
+<tr class="separator:add33a9d992aeaa69d6940fd896ee5e75"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="memTemplItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a29cd1c3e1b33d61a479fa49465c5a7e7">operator&lt;&lt;</a> (::std::ostream &amp;os, const std::vector&lt; T &gt; &amp;args)</td></tr>
+<tr class="memdesc:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of a vector of objects.  <a href="#a29cd1c3e1b33d61a479fa49465c5a7e7">More...</a><br /></td></tr>
+<tr class="separator:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6411da4e87e64e8859f8b725645ee9aa"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a6411da4e87e64e8859f8b725645ee9aa"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6411da4e87e64e8859f8b725645ee9aa">to_string</a> (const std::vector&lt; T &gt; &amp;args)</td></tr>
+<tr class="memdesc:a6411da4e87e64e8859f8b725645ee9aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of a vector of objects.  <a href="#a6411da4e87e64e8859f8b725645ee9aa">More...</a><br /></td></tr>
+<tr class="separator:a6411da4e87e64e8859f8b725645ee9aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:af3cba8a4493cee4c431d128eed565ffe"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af3cba8a4493cee4c431d128eed565ffe">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;info)</td></tr>
 <tr class="memdesc:af3cba8a4493cee4c431d128eed565ffe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information. ">WinogradInfo</a> type.  <a href="#af3cba8a4493cee4c431d128eed565ffe">More...</a><br /></td></tr>
 <tr class="separator:af3cba8a4493cee4c431d128eed565ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a37cc282b0852aab04b13a6e6566adda7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a37cc282b0852aab04b13a6e6566adda7">to_string</a> (const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;type)</td></tr>
 <tr class="separator:a37cc282b0852aab04b13a6e6566adda7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">to_string</a> (const T &amp;val)</td></tr>
+<tr class="memdesc:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fallback method: try to use std::to_string:  <a href="#a1d8c24abe3cf6edd704d126d1d2a5420">More...</a><br /></td></tr>
+<tr class="separator:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
 Variables</h2></td></tr>
@@ -4117,54 +3635,6 @@
 <p>In gemmlowp, the "output stage" is the process that takes a final int32 accumulator value (the output of <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_core.xhtml">NEGEMMLowpMatrixMultiplyCore</a>), and processes it to obtain the final ASYMM8 value.</p>
 <p>More information about the GEMMLowp output stage can be found at <a href="https://github.com/google/gemmlowp/blob/master/doc/output.md">https://github.com/google/gemmlowp/blob/master/doc/output.md</a> </p>
 </div><h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="aa0ae8d74ae5f69f30679b9acf678eca5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa0ae8d74ae5f69f30679b9acf678eca5">AssemblyKernelGlueF32</a> =  <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt;float, float&gt;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Float 32 assembly kernel glue. </p>
-
-<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a08ae4f1297248a1e6d46564cd97066b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a08ae4f1297248a1e6d46564cd97066b4">AssemblyKernelGlueS8S32</a> =  <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt;int8_t, int32_t&gt;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Int 8 to Int 32 kernel glue. </p>
-
-<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abb1d131ce675ab28d22ff80bf0942c4d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#abb1d131ce675ab28d22ff80bf0942c4d">AssemblyKernelGlueU8U32</a> =  <a class="el" href="classarm__compute_1_1_assembly_kernel_glue.xhtml">AssemblyKernelGlue</a>&lt;uint8_t, uint32_t&gt;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Uint 8 to Uint 32 kernel glue. </p>
-
-<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
-
-</div>
-</div>
 <a class="anchor" id="afcef84cf3b7d147b2b6ab0bd884afc16"></a>
 <div class="memitem">
 <div class="memproto">
@@ -5263,7 +4733,7 @@
 
 <p>Internal key point. </p>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00447">447</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00445">445</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
 
 </div>
 </div>
@@ -5604,22 +5074,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a0d4d47f41fae07bb3efb2d723b9965c3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0d4d47f41fae07bb3efb2d723b9965c3">NEMagnitudePhaseFP16Kernel</a> =  <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a>&lt;mag_type, phase_type&gt;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Template interface for the kernel to compute magnitude and phase. </p>
-
-<p>Definition at line <a class="el" href="_n_e_magnitude_phase_kernel_8h_source.xhtml#l00170">170</a> of file <a class="el" href="_n_e_magnitude_phase_kernel_8h_source.xhtml">NEMagnitudePhaseKernel.h</a>.</p>
-
-</div>
-</div>
 <a class="anchor" id="a38cad49e6beaef76bc1ec5064c9e9dba"></a>
 <div class="memitem">
 <div class="memproto">
@@ -5760,7 +5214,7 @@
 
 <p>Container for 2D padding size. </p>
 
-<p>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>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">376</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
 
 </div>
 </div>
@@ -5876,374 +5330,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a1521eea74b97de8f2df9304e44179400"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> =  int16_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar value </p>
-
-<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">30</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a82c56f0856f56d430393e6a00baee983"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> =  int16x4_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector with 4 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00041">41</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8d57e0f4f122442011213667168ef538"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8d57e0f4f122442011213667168ef538">qint16x4x2_t</a> =  int16x4x2_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector with 8 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a63f034ee885f20111e7f5d44e48e6d93"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a63f034ee885f20111e7f5d44e48e6d93">qint16x4x3_t</a> =  int16x4x3_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector with 12 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8525b18a2f34c3497bbfbd0e7c3a7875"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8525b18a2f34c3497bbfbd0e7c3a7875">qint16x4x4_t</a> =  int16x4x4_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector with 16 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4e15143176bfacdde8b06f4bb0b67427"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> =  int16x8_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector with 8 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3c4099e91913f28017e1f57b8e5cbf9f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> =  int16x8x2_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector with 16 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00046">46</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a65e109cf43ade8a2a3c57a1120b90b05"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a65e109cf43ade8a2a3c57a1120b90b05">qint16x8x3_t</a> =  int16x8x3_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector with 24 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6bc1e8d62f1055278d8f05454faa422f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6bc1e8d62f1055278d8f05454faa422f">qint16x8x4_t</a> =  int16x8x4_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector with 32 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa06c95f9976f3729316d689b4419089f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> =  int32_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>32 bit fixed point scalar value </p>
-
-<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">31</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="addcffa8e8086154c0449c23e6b0dff83"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> =  int32x2_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>32 bit fixed point vector with 2 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00049">49</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abd854c117af4dbd12633db2fbc01dd49"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> =  int32x4_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>32 bit fixed point vector with 4 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00050">50</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6ed7f8448a2a08a531e8202334e4dcdd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6ed7f8448a2a08a531e8202334e4dcdd">qint32x4x2_t</a> =  int32x4x2_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>32 bit fixed point vector with 8 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00051">51</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adc3be0bc3741b081217b2609abcf0333"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> =  int64_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>64 bit fixed point scalar value </p>
-
-<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00032">32</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4c3f681c30c9398c45bc3cd5dc4f038a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> =  int8_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar value </p>
-
-<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">29</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5b99ed49abd6b7bf13dafdd17bcef855"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> =  int8x16_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector with 16 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a09108711e0c18d4e9811ea4597d573b1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a09108711e0c18d4e9811ea4597d573b1">qint8x16x2_t</a> =  int8x16x2_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector with 32 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00038">38</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7e175277ee7de6a5aeb5cd8916dbb346"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7e175277ee7de6a5aeb5cd8916dbb346">qint8x16x3_t</a> =  int8x16x3_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector with 48 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00039">39</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3c4b33603ffff71e9f02c4be1a2f14d5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3c4b33603ffff71e9f02c4be1a2f14d5">qint8x16x4_t</a> =  int8x16x4_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector with 64 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a16a1bee14f1db073f75caa76dacf5078"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> =  int8x8_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector with 8 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ace2375b626995858a398e1ffb3108f14"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ace2375b626995858a398e1ffb3108f14">qint8x8x2_t</a> =  int8x8x2_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector with 16 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a252c74fae9a9238ef7c23d306e670706"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a252c74fae9a9238ef7c23d306e670706">qint8x8x3_t</a> =  int8x8x3_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector with 24 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a01ae65c0a0736d4293e657a66bde1538"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a01ae65c0a0736d4293e657a66bde1538">qint8x8x4_t</a> =  int8x8x4_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector with 32 elements </p>
-
-<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
-
-</div>
-</div>
 <a class="anchor" id="a35ae0858a604c4c0672ce857e8080ae4"></a>
 <div class="memitem">
 <div class="memproto">
@@ -6353,8 +5439,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00396">396</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;{</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>, </div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>   </div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;};</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>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00394">394</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="l00395"></a><span class="lineno">  395</span>&#160;{</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>, </div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>   </div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;};</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>
@@ -6390,8 +5476,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00283">283</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="l00284"></a><span class="lineno">  284</span>&#160;{</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,  </div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>  </div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::BorderMode::UNDEFINED</a></div><div class="ttdoc">Borders are left undefined. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">281</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="l00282"></a><span class="lineno">  282</span>&#160;{</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,  </div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>  </div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::BorderMode::UNDEFINED</a></div><div class="ttdoc">Borders are left undefined. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">arm_compute::BorderMode::REPLICATE</a></div><div class="ttdoc">Pixels outside the image are assumed to have the same value as the closest image pixel. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">arm_compute::BorderMode::CONSTANT</a></div><div class="ttdoc">Pixels outside the image are assumed to have a constant value. </div></div>
 </div><!-- fragment -->
@@ -6455,8 +5541,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00481">481</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="l00482"></a><span class="lineno">  482</span>&#160;{</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,      </div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,      </div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,      </div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,      </div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,       </div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,       </div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,       </div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,       </div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,       </div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,       </div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>        </div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00479">479</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="l00480"></a><span class="lineno">  480</span>&#160;{</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,      </div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,      </div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,      </div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,      </div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,       </div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,       </div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,       </div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,       </div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,       </div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,       </div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>        </div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;};</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>
@@ -6540,8 +5626,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00381">381</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;{</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>,    </div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">arm_compute::ConvertPolicy::WRAP</a></div><div class="ttdoc">Wrap around. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00379">379</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="l00380"></a><span class="lineno">  380</span>&#160;{</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>,    </div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;};</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>
@@ -6577,8 +5663,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01220">1220</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="l01221"></a><span class="lineno"> 1221</span>&#160;{</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>,    </div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>,  </div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a> </div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;};</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>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01304">1304</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="l01305"></a><span class="lineno"> 1305</span>&#160;{</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>,    </div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>,  </div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a> </div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">arm_compute::ConvolutionMethod::DIRECT</a></div><div class="ttdoc">Direct convolution. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">arm_compute::ConvolutionMethod::WINOGRAD</a></div><div class="ttdoc">Convolution using Winograd. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">arm_compute::ConvolutionMethod::GEMM</a></div><div class="ttdoc">Convolution using GEMM. </div></div>
 </div><!-- fragment -->
@@ -6607,6 +5693,10 @@
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b"></a>GENERIC&#160;</td><td class="fielddoc">
 </td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8"></a>GENERIC_FP16&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7"></a>GENERIC_FP16_DOT&#160;</td><td class="fielddoc">
+</td></tr>
 <tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d"></a>A53&#160;</td><td class="fielddoc">
 </td></tr>
 <tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92"></a>A55r0&#160;</td><td class="fielddoc">
@@ -6616,8 +5706,10 @@
 </table>
 
 <p>Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00036">36</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="l00037"></a><span class="lineno">   37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>,</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>,</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>,</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>,</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">arm_compute::CPUModel::A53</a></div></div>
+<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>,</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>,</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>,</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>,</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>,</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">arm_compute::CPUModel::GENERIC_FP16_DOT</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">arm_compute::CPUModel::A53</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">arm_compute::CPUModel::A55r0</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">arm_compute::CPUModel::GENERIC_FP16</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">arm_compute::CPUModel::A55r1</a></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 -->
@@ -6654,8 +5746,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00110">110</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="l00111"></a><span class="lineno">  111</span>&#160;{</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>,    </div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>     </div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;};</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>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00107">107</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="l00108"></a><span class="lineno">  108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>,    </div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>     </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;};</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 -->
@@ -6695,8 +5787,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00118">118</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="l00119"></a><span class="lineno">  119</span>&#160;{</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, </div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>,  </div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>,   </div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>  </div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;};</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>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00115">115</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="l00116"></a><span class="lineno">  116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, </div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>,  </div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>,   </div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>  </div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;};</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>
@@ -6732,9 +5824,6 @@
 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8&#160;</td><td class="fielddoc">
 <p>signed 8-bit number </p>
 </td></tr>
-<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"></a>QS8&#160;</td><td class="fielddoc">
-<p>quantized, symmetric fixed-point 8-bit number </p>
-</td></tr>
 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"></a>QASYMM8&#160;</td><td class="fielddoc">
 <p>quantized, asymmetric fixed-point 8-bit number </p>
 </td></tr>
@@ -6744,18 +5833,12 @@
 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16&#160;</td><td class="fielddoc">
 <p>signed 16-bit number </p>
 </td></tr>
-<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"></a>QS16&#160;</td><td class="fielddoc">
-<p>quantized, symmetric fixed-point 16-bit number </p>
-</td></tr>
 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32&#160;</td><td class="fielddoc">
 <p>unsigned 32-bit number </p>
 </td></tr>
 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32&#160;</td><td class="fielddoc">
 <p>signed 32-bit number </p>
 </td></tr>
-<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"></a>QS32&#160;</td><td class="fielddoc">
-<p>quantized, symmetric fixed-point 32-bit number </p>
-</td></tr>
 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64&#160;</td><td class="fielddoc">
 <p>unsigned 64-bit number </p>
 </td></tr>
@@ -6777,9 +5860,7 @@
 </table>
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00072">72</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="l00073"></a><span class="lineno">   73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,      </div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,      </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>,     </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,     </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,     </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>,    </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,     </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,     </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>,    </div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,     </div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,     </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,     </div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,     </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,     </div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>    </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">arm_compute::DataType::QS16</a></div><div class="ttdoc">quantized, symmetric fixed-point 16-bit number </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">arm_compute::DataType::QS8</a></div><div class="ttdoc">quantized, symmetric fixed-point 8-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="fragment"><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,      </div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,      </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,     </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,     </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,     </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,     </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,     </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,     </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,     </div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,     </div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,     </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>    </div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">1 channel, 1 U8 per channel </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F32 per channel </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 U16 per channel </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 F16 per channel </div></div>
@@ -6790,7 +5871,6 @@
 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::DataType::QASYMM8</a></div><div class="ttdoc">quantized, asymmetric fixed-point 8-bit number </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 S16 per channel </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">arm_compute::DataType::QS32</a></div><div class="ttdoc">quantized, symmetric fixed-point 32-bit number </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div><div class="ttdoc">64-bit floating-point number </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div><div class="ttdoc">unsigned 64-bit number </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div><div class="ttdoc">signed 8-bit number </div></div>
@@ -6826,8 +5906,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00556">556</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="l00557"></a><span class="lineno">  557</span>&#160;{</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>   </div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">arm_compute::DimensionRoundingType::CEIL</a></div><div class="ttdoc">Ceil rounding. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00554">554</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="l00555"></a><span class="lineno">  555</span>&#160;{</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>   </div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;};</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>
@@ -6858,68 +5938,18 @@
 <tr><td class="fieldname"><a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579"></a>RUNTIME_ERROR&#160;</td><td class="fielddoc">
 <p>Generic runtime error. </p>
 </td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"></a>UNSUPPORTED_EXTENSION_USE&#160;</td><td class="fielddoc">
+<p>Unsupported extension used. </p>
+</td></tr>
 </table>
 
 <p>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>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">OK</a>,           </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a> </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;};</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="fragment"><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">OK</a>,                       </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>,            </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <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>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a></div><div class="ttdoc">Unsupported extension used. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">arm_compute::ErrorCode::OK</a></div><div class="ttdoc">No error. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">arm_compute::ErrorCode::RUNTIME_ERROR</a></div><div class="ttdoc">Generic runtime error. </div></div>
 </div><!-- fragment -->
 </div>
 </div>
-<a class="anchor" id="afa20b6a7f4383003babd690f026f22dc"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</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>Fixed point operation. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d"></a>ADD&#160;</td><td class="fielddoc">
-<p>Addition. </p>
-</td></tr>
-<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb"></a>SUB&#160;</td><td class="fielddoc">
-<p>Subtraction. </p>
-</td></tr>
-<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c"></a>MUL&#160;</td><td class="fielddoc">
-<p>Multiplication. </p>
-</td></tr>
-<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"></a>EXP&#160;</td><td class="fielddoc">
-<p>Exponential. </p>
-</td></tr>
-<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"></a>LOG&#160;</td><td class="fielddoc">
-<p>Logarithm. </p>
-</td></tr>
-<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"></a>INV_SQRT&#160;</td><td class="fielddoc">
-<p>Inverse square root. </p>
-</td></tr>
-<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1"></a>RECIPROCAL&#160;</td><td class="fielddoc">
-<p>Reciprocal. </p>
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="tests_2_types_8h_source.xhtml#l00034">34</a> of file <a class="el" href="tests_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <a class="code" href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a>,       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a>,       </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="namespacearm__compute_1_1graph.xhtml#aa12973876c037bddff8e9ece94aca0e4a2cdf52a55876063ec93b7d18bc741f6c">MUL</a>,       </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>,       </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>,       </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>,  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a> </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">arm_compute::FixedPointOp::LOG</a></div><div class="ttdoc">Logarithm. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">arm_compute::FixedPointOp::EXP</a></div><div class="ttdoc">Exponential. </div></div>
-<div class="ttc" id="arithmetic__op_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00034">arithmetic_op.cl:34</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">arm_compute::FixedPointOp::INV_SQRT</a></div><div class="ttdoc">Inverse square root. </div></div>
-<div class="ttc" id="arithmetic__op_8cl_xhtml_aafc2c4f262a0686c07f86c7d2e1d8d14"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a></div><div class="ttdeci">#define SUB(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00035">arithmetic_op.cl:35</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">arm_compute::FixedPointOp::RECIPROCAL</a></div><div class="ttdoc">Reciprocal. </div></div>
-<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_aa12973876c037bddff8e9ece94aca0e4a2cdf52a55876063ec93b7d18bc741f6c"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#aa12973876c037bddff8e9ece94aca0e4a2cdf52a55876063ec93b7d18bc741f6c">arm_compute::graph::EltwiseOperation::MUL</a></div><div class="ttdoc">Arithmetic multiplication. </div></div>
-</div><!-- fragment -->
-</div>
-</div>
 <a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58"></a>
 <div class="memitem">
 <div class="memproto">
@@ -7058,7 +6088,7 @@
 </td></tr>
 <tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f"></a>G51LIT&#160;</td><td class="fielddoc">
 </td></tr>
-<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e"></a>TNOX&#160;</td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d"></a>G76&#160;</td><td class="fielddoc">
 </td></tr>
 <tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4"></a>TTRX&#160;</td><td class="fielddoc">
 </td></tr>
@@ -7067,12 +6097,12 @@
 </table>
 
 <p>Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>       = 0x101,</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>       = 0x100,</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>       = 0x200,</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a>          = 0x110,</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a>          = 0x120,</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a>          = 0x130,</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a>           = 0x210,</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a>           = 0x220,</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a>           = 0x230,</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a>        = 0x231,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a>        = 0x232,</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e">TNOX</a>          = 0x240,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a>          = 0x250,</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a>          = 0x260</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">arm_compute::GPUTarget::G71</a></div></div>
+<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>       = 0x101,</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>       = 0x100,</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>       = 0x200,</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a>          = 0x110,</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a>          = 0x120,</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a>          = 0x130,</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a>           = 0x210,</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a>           = 0x220,</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a>           = 0x230,</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a>        = 0x231,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a>        = 0x232,</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a>           = 0x240,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a>          = 0x250,</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a>          = 0x260</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">arm_compute::GPUTarget::G76</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">arm_compute::GPUTarget::G71</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">arm_compute::GPUTarget::T700</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">arm_compute::GPUTarget::G51LIT</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">arm_compute::GPUTarget::T800</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">arm_compute::GPUTarget::GPU_ARCH_MASK</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e">arm_compute::GPUTarget::TNOX</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">arm_compute::GPUTarget::T600</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">arm_compute::GPUTarget::G72</a></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>
@@ -7110,8 +6140,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="tests_2_types_8h_source.xhtml#l00046">46</a> of file <a class="el" href="tests_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    GRAD_X,  </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    GRAD_Y,  </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>, </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;};</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>
+<p>Definition at line <a class="el" href="tests_2_types_8h_source.xhtml#l00034">34</a> of file <a class="el" href="tests_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    GRAD_X,  </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    GRAD_Y,  </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>, </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;};</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>
@@ -7146,8 +6176,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00530">530</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;{</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>    = 1, </div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>    = 3  </div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a></div><div class="ttdoc">L2-norm followed by clipping. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00528">528</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="l00529"></a><span class="lineno">  529</span>&#160;{</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>    = 1, </div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>    = 3  </div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;};</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 -->
@@ -7184,8 +6214,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00388">388</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="l00389"></a><span class="lineno">  389</span>&#160;{</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,         </div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>,             </div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">arm_compute::InterpolationPolicy::BILINEAR</a></div><div class="ttdoc">Output values are defined by bilinear interpolation between the pixels. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#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>&#160;{</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,         </div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>,             </div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;};</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 -->
@@ -7219,8 +6249,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00418">418</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;{</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>  </div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">arm_compute::MagnitudeType::L1NORM</a></div><div class="ttdoc">L1 normalization type. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00416">416</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="l00417"></a><span class="lineno">  417</span>&#160;{</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>  </div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;};</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>
@@ -7293,8 +6323,8 @@
 </td></tr>
 </table>
 
-<p>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>&#160;{</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>,   </div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,  </div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>  </div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">arm_compute::MatrixPattern::DISK</a></div><div class="ttdoc">Disk pattern matrix. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00496">496</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="l00497"></a><span class="lineno">  497</span>&#160;{</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>,   </div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,  </div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>  </div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;};</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>
@@ -7332,8 +6362,8 @@
 </td></tr>
 </table>
 
-<p>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="l00507"></a><span class="lineno">  507</span>&#160;                                   : <span class="keywordtype">unsigned</span></div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;{</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>    = 1, </div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>    = 2, </div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00505">505</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;                                   : <span class="keywordtype">unsigned</span></div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;{</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>    = 1, </div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>    = 2, </div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">arm_compute::NonLinearFilterFunction::MIN</a></div><div class="ttdoc">Non linear erode. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">arm_compute::NonLinearFilterFunction::MEDIAN</a></div><div class="ttdoc">Non linear median filter. </div></div>
 </div><!-- fragment -->
@@ -7370,8 +6400,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00522">522</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;{</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>  </div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">arm_compute::NormType::IN_MAP_1D</a></div><div class="ttdoc">Normalization applied within the same map in 1D region. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#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>&#160;{</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>  </div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;};</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 -->
@@ -7406,8 +6436,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00428">428</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="l00429"></a><span class="lineno">  429</span>&#160;{</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>,  </div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">arm_compute::PhaseType::UNSIGNED</a></div><div class="ttdoc">Angle range: [0, 180]. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00426">426</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="l00427"></a><span class="lineno">  427</span>&#160;{</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>,  </div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;};</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>
@@ -7443,8 +6473,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00563">563</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="l00564"></a><span class="lineno">  564</span>&#160;{</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>   </div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">arm_compute::PoolingType::L2</a></div><div class="ttdoc">L2 Pooling. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00561">561</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;{</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>   </div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">arm_compute::PoolingType::L2</a></div><div class="ttdoc">L2 Pooling. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">arm_compute::PoolingType::AVG</a></div><div class="ttdoc">Average Pooling. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
 </div><!-- fragment -->
@@ -7478,8 +6508,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00515">515</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;{</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>,        </div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">arm_compute::ReductionOperation::SUM_SQUARE</a></div><div class="ttdoc">Sum of squares. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00513">513</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="l00514"></a><span class="lineno">  514</span>&#160;{</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>,        </div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">arm_compute::ReductionOperation::SUM_SQUARE</a></div><div class="ttdoc">Sum of squares. </div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">arm_compute::ReductionOperation::SUM</a></div><div class="ttdoc">Sum. </div></div>
 </div><!-- fragment -->
 </div>
@@ -7550,8 +6580,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00094">94</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="l00095"></a><span class="lineno">   95</span>&#160;{</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>,  </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a> </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;};</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>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00091">91</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>,  </div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a> </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;};</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>
@@ -7587,8 +6617,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00410">410</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;{</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,    </div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>, </div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>        </div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;};</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>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00408">408</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="l00409"></a><span class="lineno">  409</span>&#160;{</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,    </div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>, </div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>        </div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;};</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 -->
@@ -7622,8 +6652,8 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00403">403</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;{</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>   </div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">arm_compute::ThresholdType::RANGE</a></div><div class="ttdoc">Threshold with two values. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00401">401</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="l00402"></a><span class="lineno">  402</span>&#160;{</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>   </div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;};</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>
@@ -7680,8 +6710,8 @@
 
 <p>Definition at line <a class="el" href="_i_access_window_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_i_access_window_8h_source.xhtml">IAccessWindow.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
-<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step &lt;= 0);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordflow">return</span> required - step * ((required - available + step - 1) / step);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
+<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step &lt;= 0);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordflow">return</span> required - step * ((required - available + step - 1) / step);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -7729,15 +6759,15 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The adjusted tensor shape. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00688">688</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00646">646</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="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="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
+<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00541">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">has_format_vertical_subsampling()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
 
 <p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;{</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;    TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;    <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="l00693"></a><span class="lineno">  693</span>&#160;    <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="l00694"></a><span class="lineno">  694</span>&#160;    {</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;        output.set(0, output.x() &amp; ~1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;    }</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    <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="l00699"></a><span class="lineno">  699</span>&#160;    <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="l00700"></a><span class="lineno">  700</span>&#160;    {</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;        output.set(1, output.y() &amp; ~1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;    }</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;    <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</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>
+<div class="fragment"><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;{</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;    <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="l00651"></a><span class="lineno">  651</span>&#160;    <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="l00652"></a><span class="lineno">  652</span>&#160;    {</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;        output.set(0, output.x() &amp; ~1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;    }</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <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="l00657"></a><span class="lineno">  657</span>&#160;    <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="l00658"></a><span class="lineno">  658</span>&#160;    {</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        output.set(1, output.y() &amp; ~1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;    }</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a95358b677c5c17f5cc1e369e4a27e2c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">arm_compute::has_format_vertical_subsampling</a></div><div class="ttdeci">bool has_format_vertical_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has vertical subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">Utils.h:552</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa2f22cc01532e0236e438324310fdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">arm_compute::has_format_horizontal_subsampling</a></div><div class="ttdeci">bool has_format_horizontal_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has horizontal subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#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#l00541">Utils.h:541</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -7792,80 +6822,8 @@
 
 <p>Definition at line <a class="el" href="_i_access_window_8h_source.xhtml#l00063">63</a> of file <a class="el" href="_i_access_window_8h_source.xhtml">IAccessWindow.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
-<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;{</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step &lt;= 0);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">return</span> required + step * ((available - required + step - 1) / step);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</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#l00328">Error.h:328</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="aa63c4dc1d1e43b7e57fadcb3e3e93580"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">void arm_compute::allocate_workspace </td>
-          <td>(</td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>workspace_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;&#160;</td>
-          <td class="paramname"><em>workspace</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> *&#160;</td>
-          <td class="paramname"><em>memory_group</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>alignment</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned int&#160;</td>
-          <td class="paramname"><em>num_threads</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Allocate a workspace tensor. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">workspace_size</td><td>Size to allocate. </td></tr>
-    <tr><td class="paramdir">[out]</td><td class="paramname">workspace</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to allocate. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">memory_group</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> memory group. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">alignment</td><td>Workspace memory alignment. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">num_threads</td><td>Number of workspace threads. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
-
-<p>References <a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml#a6e509c2a177b0b29e9e2369535094dee">TensorAllocator::allocate()</a>, <a class="el" href="classarm__compute_1_1_tensor.xhtml#a531ec877bfc923dea3ab6f1be5e6e1ac">Tensor::allocator()</a>, <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00159">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml#a3014ce2f4215e8a44331aa5daf3ba0d4">TensorAllocator::init()</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>.</p>
-
-<p>Referenced by <a class="el" href="_assembly_helper_8h_source.xhtml#l00159">setup_assembly_kernel()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;{</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(memory_group);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(workspace_size == 0, <span class="stringliteral">&quot;size cannot be 0&quot;</span>);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    workspace.allocator()-&gt;init(TensorInfo(TensorShape{ (workspace_size + alignment - 1) * num_threads }, 1, DataType::S8));</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    workspace.allocator()-&gt;allocate();</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;}</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#l00159">Error.h:159</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#l00319">Error.h:319</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
+<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;{</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step &lt;= 0);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">return</span> required + step * ((available - required + step - 1) / step);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -7894,7 +6852,7 @@
 
 </div>
 </div>
-<a class="anchor" id="a9a20062caae09fce4a567be558f9d702"></a>
+<a class="anchor" id="a47be6fa38308d0003c25b60b7dbc45ce"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -7928,12 +6886,6 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
           <td class="paramtype"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>&#160;</td>
           <td class="paramname"><em>quantization_info</em> = <code><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>()</code>&#160;</td>
         </tr>
@@ -7950,14 +6902,13 @@
 </table>
 </div><div class="memdoc">
 
-<p>Auto initialize the tensor info (shape, number of channels, data type and fixed point position) if the current assignment is empty. </p>
+<p>Auto initialize the tensor info (shape, number of channels and data type) if the current assignment is empty. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in,out]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info used to check and assign. </td></tr>
     <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>New shape. </td></tr>
     <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>New number of channels. </td></tr>
     <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>New data type </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>New fixed point position </td></tr>
     <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>(Optional) New quantization info</td></tr>
   </table>
   </dd>
@@ -7966,12 +6917,12 @@
 
 <p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00201">201</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a8d9488caf817e12132f0ca2a4c30deba">ITensorInfo::set_fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#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#l00157">TensorShape::total_size()</a>.</p>
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;{</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    {</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_num_channels(num_channels);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    }</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
+<div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;{</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    {</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_num_channels(num_channels);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    }</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
 <div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -8017,10 +6968,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the tensor info has been initialized </dd></dl>
 
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00221">221</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00219">219</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#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#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ad7829ae79223ab87f9da4c0bd7d229ba">ITensorInfo::num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#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#a8d9488caf817e12132f0ca2a4c30deba">ITensorInfo::set_fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#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#l00157">TensorShape::total_size()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;{</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="keywordflow">if</span>(info_sink.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    {</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        info_sink.set_data_type(info_source.data_type());</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        info_sink.set_num_channels(info_source.num_channels());</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        info_sink.set_tensor_shape(info_source.tensor_shape());</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        info_sink.set_fixed_point_position(info_source.fixed_point_position());</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        info_sink.set_quantization_info(info_source.quantization_info());</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        info_sink.set_data_layout(info_source.data_layout());</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    }</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;}</div></div><!-- fragment -->
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ad7829ae79223ab87f9da4c0bd7d229ba">ITensorInfo::num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#abb9481fe056b9749f9b4c08db101cc15">ITensorInfo::set_data_layout()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;{</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <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>&#160;    {</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        info_sink.set_data_type(info_source.data_type());</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;        info_sink.set_num_channels(info_source.num_channels());</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        info_sink.set_tensor_shape(info_source.tensor_shape());</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        info_sink.set_quantization_info(info_source.quantization_info());</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        info_sink.set_data_layout(info_source.data_layout());</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    }</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a64c17a5a42d2499a1626222ff9753b4d"></a>
@@ -8040,42 +6991,10 @@
 <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="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00078">floor_to_multiple()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00063">main()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00078">floor_to_multiple()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a075313545533c34978309ed57d18333f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::calculate_depth_concatenate_shape </td>
-          <td>(</td>
-          <td class="paramtype">const std::vector&lt; T * &gt; &amp;&#160;</td>
-          <td class="paramname"><em>inputs_vector</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate the output shapes of the depth concatenate function. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">inputs_vector</td><td>The vector that stores all the pointers to input.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the output shape </dd></dl>
-
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00651">651</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::shape</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions&lt; T &gt;::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00091">Dimensions&lt; T &gt;::z()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;{</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;    TensorShape out_shape = inputs_vector[0]-&gt;info()-&gt;tensor_shape();</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;    <span class="keywordtype">size_t</span> max_x = 0;</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <span class="keywordtype">size_t</span> max_y = 0;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    <span class="keywordtype">size_t</span> depth = 0;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;    <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &amp;tensor : inputs_vector)</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;    {</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(tensor == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;        <span class="keyword">const</span> TensorShape <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = tensor-&gt;info()-&gt;tensor_shape();</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        max_x                   = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.x(), max_x);</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;        max_y                   = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.y(), max_y);</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;        depth += shape.z();</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    }</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    out_shape.set(0, max_x);</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    out_shape.set(1, max_y);</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    out_shape.set(2, depth);</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    <span class="keywordflow">return</span> out_shape;</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</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#l00328">Error.h:328</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
 <a class="anchor" id="a0101a40c4a6acc2af3b55afa7632f16a"></a>
 <div class="memitem">
 <div class="memproto">
@@ -8120,12 +7039,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The absolute value of the sum of the coefficients if they don't add up to 0, otherwise 1. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00637">637</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00626">626</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00927">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;{</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    <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>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(1, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">std::abs</a>(<a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(matrix, matrix + size, 0)));</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;}</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ae115fc750a92fb6a5e094998b56fcc56"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">arm_compute::test::fixed_point_arithmetic::detail::abs</a></div><div class="ttdeci">fixed_point&lt; T &gt; abs(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00927">FixedPoint.h:927</a></div></div>
+<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;{</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">size_t</span> size = matrix_size * matrix_size;</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    <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="l00631"></a><span class="lineno">  631</span>&#160;}</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -8506,7 +7423,7 @@
 </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>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -8559,15 +7476,15 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The subsampled tensor shape. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00715">715</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00673">673</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="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="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>.</p>
+<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00541">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">has_format_vertical_subsampling()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>.</p>
 
-<p>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::channel_extract()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;{</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;    <span class="comment">// Subsample shape only for U or V channel</span></div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    <span class="keywordflow">if</span>(Channel::U == channel || Channel::V == channel || Channel::UNKNOWN == channel)</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;    {</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;        <span class="comment">// Subsample width for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;        <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="l00724"></a><span class="lineno">  724</span>&#160;        {</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;            output.set(0, output.x() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;        }</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;        <span class="comment">// Subsample height for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        <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="l00730"></a><span class="lineno">  730</span>&#160;        {</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;            output.set(1, output.y() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;        }</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;    }</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</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>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="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;{</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;    TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;    <span class="comment">// Subsample shape only for U or V channel</span></div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;    <span class="keywordflow">if</span>(Channel::U == channel || Channel::V == channel || Channel::UNKNOWN == channel)</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;    {</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;        <span class="comment">// Subsample width for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;        <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="l00682"></a><span class="lineno">  682</span>&#160;        {</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;            output.set(0, output.x() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        }</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;        <span class="comment">// Subsample height for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        <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="l00688"></a><span class="lineno">  688</span>&#160;        {</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;            output.set(1, output.y() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;        }</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    }</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a95358b677c5c17f5cc1e369e4a27e2c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">arm_compute::has_format_vertical_subsampling</a></div><div class="ttdeci">bool has_format_vertical_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has vertical subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">Utils.h:552</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa2f22cc01532e0236e438324310fdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">arm_compute::has_format_horizontal_subsampling</a></div><div class="ttdeci">bool has_format_horizontal_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has horizontal subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#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#l00541">Utils.h:541</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -8675,10 +7592,10 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00064">64</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00051">DIV_CEIL()</a>.</p>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00051">DIV_CEIL()</a>.</p>
 
-<p>Referenced by <a class="el" href="_c_l_2_remap_8cpp_source.xhtml#l00053">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00134">Window::scale()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value &lt; 0 || divisor &lt;= 0);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">DIV_CEIL</a>(value, divisor) * divisor;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>Referenced by <a class="el" href="validation_2_c_l_2_remap_8cpp_source.xhtml#l00053">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00134">Window::scale()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value &lt; 0 || divisor &lt;= 0);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">DIV_CEIL</a>(value, divisor) * divisor;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</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_a12705a88669cb9fb90451ebe0db53c41"><div class="ttname"><a href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">arm_compute::DIV_CEIL</a></div><div class="ttdeci">constexpr auto DIV_CEIL(S val, T m) -&gt; 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#l00051">Utils.h:51</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -8725,15 +7642,58 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The channel index of the specific channel of the specific format </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00318">318</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00312">312</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00260">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>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>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::channel_extract()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;{</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    {</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        {</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;            {</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;                <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;                <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;                    <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;            }</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        }</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        {</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;            {</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;                <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;                <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                    <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;                <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;                    <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;            }</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        }</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        {</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;            {</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;                    <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;            }</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        }</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        {</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;            {</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;                    <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;            }</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        }</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        {</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;            {</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;            }</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        }</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        {</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;            {</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;            }</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        }</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;        {</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;            {</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;            }</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        }</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    }</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;{</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    {</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        {</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;            {</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;                <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;                    <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;            }</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        }</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        {</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;            {</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;                <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;                <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;                <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;                    <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;                <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;                    <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;            }</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        }</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        {</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;            {</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                    <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;            }</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        }</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        {</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;            {</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;                    <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;            }</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;        }</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        {</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;            {</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;            }</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        }</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        {</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;            {</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;            }</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        }</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;        {</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;            {</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;            }</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;        }</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    }</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
+<a class="anchor" id="afd16b14c21838b5e9858f41d80bdcce7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool arm_compute::cl_winograd_convolution_layer_supported </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
+          <td class="paramname"><em>output_tile</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> &amp;&#160;</td>
+          <td class="paramname"><em>kernel_size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
+          <td class="paramname"><em>data_layout</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This function checks if the Winograd configuration (defined through the output tile, kernel size and the data layout) is supported on OpenCL. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">output_tile</td><td>Output tile for the Winograd filtering algorithm </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kernel_size</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> size for the Winograd filtering algorithm </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Data layout of the input tensor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the configuration is supported </dd></dl>
+
+</div>
+</div>
 <a class="anchor" id="af2be1325decaa34a8a1199af177148c6"></a>
 <div class="memitem">
 <div class="memproto">
@@ -8776,8 +7736,8 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00601">601</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;{</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    <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="l00604"></a><span class="lineno">  604</span>&#160;    <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="l00605"></a><span class="lineno">  605</span>&#160;    win.validate();</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    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="l00613"></a><span class="lineno">  613</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;    Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;    {</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>   ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>   ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        uint8x16x2_t ta_uv;</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;        <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;        vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    },</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;{</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    <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="l00604"></a><span class="lineno">  604</span>&#160;    <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="l00605"></a><span class="lineno">  605</span>&#160;    win.validate();</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    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="l00613"></a><span class="lineno">  613</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;    Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;    {</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>   ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>   ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        uint8x16x2_t ta_uv;</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;        <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;        vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    },</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;}</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_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -8824,11 +7784,13 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00482">482</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;{</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <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="l00485"></a><span class="lineno">  485</span>&#160;    <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="l00486"></a><span class="lineno">  486</span>&#160;    win.validate();</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span>     out_stride   = output_ptr-&gt;info()-&gt;strides_in_bytes().y();</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    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="l00497"></a><span class="lineno">  497</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    Iterator out(output_ptr, win);</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    {</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_u        = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_v        = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;        <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;        <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;        convert_uint8x16_to_float32x4x4(ta_u, uvec);</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        convert_uint8x16_to_float32x4x4(ta_v, vvec);</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;        yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;        yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;        yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;        yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;        yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    },</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    in_y, in_u, in_v, out);</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00155">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;{</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <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="l00485"></a><span class="lineno">  485</span>&#160;    <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="l00486"></a><span class="lineno">  486</span>&#160;    win.validate();</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span>     out_stride   = output_ptr-&gt;info()-&gt;strides_in_bytes().y();</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    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="l00497"></a><span class="lineno">  497</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    {</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_u        = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_v        = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;        <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;        <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;        convert_uint8x16_to_float32x4x4(ta_u, uvec);</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        convert_uint8x16_to_float32x4x4(ta_v, vvec);</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    },</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    in_y, in_u, in_v, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail_xhtml_a2a36a93e164b484404fe908cefd6099a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation</a></div><div class="ttdeci">void yuyv_to_rgb_calculation(const SimpleTensor&lt; T &gt; yvec, const SimpleTensor&lt; T &gt; vvec, const SimpleTensor&lt; T &gt; yyvec, const SimpleTensor&lt; T &gt; uvec, SimpleTensor&lt; T &gt; &amp;dst)</div><div class="ttdef"><b>Definition:</b> <a href="_color_convert_helper_8h_source.xhtml#l00155">ColorConvertHelper.h:155</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -8874,8 +7836,8 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00816">816</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;{</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;    <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="l00819"></a><span class="lineno">  819</span>&#160;    <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="l00820"></a><span class="lineno">  820</span>&#160;    win.validate();</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    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="l00828"></a><span class="lineno">  828</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;    Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;    Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    {</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_u        = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_v        = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;        <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;        <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;        vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;        uint8x16x2_t uvec;</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;        uvec.val[0] = ta_u;</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;        uvec.val[1] = ta_u;</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;        vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;        vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;        uint8x16x2_t vvec;</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        vvec.val[0] = ta_v;</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        vvec.val[1] = ta_v;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;        vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;        vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;    },</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;    in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;{</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;    <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="l00819"></a><span class="lineno">  819</span>&#160;    <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="l00820"></a><span class="lineno">  820</span>&#160;    win.validate();</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    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="l00828"></a><span class="lineno">  828</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;    Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;    Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    {</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_u        = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_v        = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;        <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;        <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;        vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;        uint8x16x2_t uvec;</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;        uvec.val[0] = ta_u;</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;        uvec.val[1] = ta_u;</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;        vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;        vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;        uint8x16x2_t vvec;</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        vvec.val[0] = ta_v;</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        vvec.val[1] = ta_v;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;        vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;        vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;    },</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;    in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;}</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_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -8922,8 +7884,8 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00649">649</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;{</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    <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="l00652"></a><span class="lineno">  652</span>&#160;    <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="l00653"></a><span class="lineno">  653</span>&#160;    win.validate();</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    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="l00663"></a><span class="lineno">  663</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;    Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;    {</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv       = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;        <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;        <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;        vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;        vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    },</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;    in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;{</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    <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="l00652"></a><span class="lineno">  652</span>&#160;    <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="l00653"></a><span class="lineno">  653</span>&#160;    win.validate();</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    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="l00663"></a><span class="lineno">  663</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;    Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;    {</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv       = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;        <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;        <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;        vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;        vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    },</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;    in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;}</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_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -8970,11 +7932,13 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00419">419</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;{</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <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="l00422"></a><span class="lineno">  422</span>&#160;    <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="l00423"></a><span class="lineno">  423</span>&#160;    win.validate();</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span>     out_stride   = output_ptr-&gt;info()-&gt;strides_in_bytes().y();</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    constexpr <span class="keyword">auto</span> shift        = uv ? 0 : 1;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    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="l00435"></a><span class="lineno">  435</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    Iterator out(output_ptr, win);</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    {</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv       = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;        <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;        yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    },</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    in_y, in_uv, out);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00155">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;{</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <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="l00422"></a><span class="lineno">  422</span>&#160;    <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="l00423"></a><span class="lineno">  423</span>&#160;    win.validate();</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span>     out_stride   = output_ptr-&gt;info()-&gt;strides_in_bytes().y();</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    constexpr <span class="keyword">auto</span> shift        = uv ? 0 : 1;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    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="l00435"></a><span class="lineno">  435</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    {</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv       = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;        <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    },</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    in_y, in_uv, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail_xhtml_a2a36a93e164b484404fe908cefd6099a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation</a></div><div class="ttdeci">void yuyv_to_rgb_calculation(const SimpleTensor&lt; T &gt; yvec, const SimpleTensor&lt; T &gt; vvec, const SimpleTensor&lt; T &gt; yyvec, const SimpleTensor&lt; T &gt; uvec, SimpleTensor&lt; T &gt; &amp;dst)</div><div class="ttdef"><b>Definition:</b> <a href="_color_convert_helper_8h_source.xhtml#l00155">ColorConvertHelper.h:155</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -9020,8 +7984,8 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00758">758</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;{</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    <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="l00761"></a><span class="lineno">  761</span>&#160;    <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="l00762"></a><span class="lineno">  762</span>&#160;    win.validate();</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;    constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;    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="l00772"></a><span class="lineno">  772</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    {</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv       = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;        <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;        <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;        vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;        uint8x16x2_t uvec;</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;        uvec.val[0] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;        uvec.val[1] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;        vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;        vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        uint8x16x2_t vvec;</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;        vvec.val[0] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;        vvec.val[1] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;        vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;        vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;    },</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;    in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;{</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    <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="l00761"></a><span class="lineno">  761</span>&#160;    <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="l00762"></a><span class="lineno">  762</span>&#160;    win.validate();</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;    constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;    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="l00772"></a><span class="lineno">  772</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;    Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    {</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top    = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv       = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;        <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;        <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;        <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;        vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;        uint8x16x2_t uvec;</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;        uvec.val[0] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;        uvec.val[1] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;        vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;        vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        uint8x16x2_t vvec;</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;        vvec.val[0] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;        vvec.val[1] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;        vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;        vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;    },</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;    in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;}</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_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -9068,11 +8032,15 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00918">918</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;{</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;    <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="l00921"></a><span class="lineno">  921</span>&#160;    <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="l00922"></a><span class="lineno">  922</span>&#160;    win.validate();</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;</div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;    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="l00930"></a><span class="lineno">  930</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;</div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;    Iterator in(input_ptr, win);</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;    {</div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top    = load_rgb(in.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;        <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;        <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;        <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;        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="l00947"></a><span class="lineno">  947</span>&#160;                          ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;                          out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;                          out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;    },</div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;    in, out_y, out_u, out_v);</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;{</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;    <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="l00921"></a><span class="lineno">  921</span>&#160;    <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="l00922"></a><span class="lineno">  922</span>&#160;    win.validate();</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;</div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;    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="l00930"></a><span class="lineno">  930</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;</div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;    {</div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top    = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;        <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;        <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;        <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;        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="l00947"></a><span class="lineno">  947</span>&#160;                          ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;                          out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;                          out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;    },</div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_u, out_v);</div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides &amp; strides_in_bytes() const override</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00231">TensorInfo.h:231</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...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_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -9118,11 +8086,15 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00875">875</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;{</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;    <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="l00878"></a><span class="lineno">  878</span>&#160;    <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="l00879"></a><span class="lineno">  879</span>&#160;    win.validate();</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;</div><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;    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="l00887"></a><span class="lineno">  887</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;</div><div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;    Iterator in(input_ptr, win);</div><div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;    Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;</div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;    {</div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top    = load_rgb(in.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;        <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;        <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;        <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;</div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;        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="l00903"></a><span class="lineno">  903</span>&#160;                          ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;                          out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;                          out_uv.ptr());</div><div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;    },</div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    in, out_y, out_uv);</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;{</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;    <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="l00878"></a><span class="lineno">  878</span>&#160;    <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="l00879"></a><span class="lineno">  879</span>&#160;    win.validate();</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;</div><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;    <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;    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="l00887"></a><span class="lineno">  887</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;</div><div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;    Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;</div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;    {</div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top    = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;        <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;        <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;        <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;</div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;        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="l00903"></a><span class="lineno">  903</span>&#160;                          ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;                          out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;                          out_uv.ptr());</div><div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;    },</div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_uv);</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides &amp; strides_in_bytes() const override</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00231">TensorInfo.h:231</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...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_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -9168,9 +8140,11 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00312">312</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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>
-<div class="fragment"><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;{</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <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="l00315"></a><span class="lineno">  315</span>&#160;    <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="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    Iterator in(input_ptr, win);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    Iterator out(output_ptr, win);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    {</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>   ta1 = vld3q_u8(in.ptr());</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        uint8x16x4_t ta2;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        vst4q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    },</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    in, out);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;{</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <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="l00315"></a><span class="lineno">  315</span>&#160;    <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="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    {</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>   ta1 = vld3q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        uint8x16x4_t ta2;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        vst4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr(), ta2);</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    },</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</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_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -9217,11 +8191,12 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00962">962</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">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#l00149">Window::validate()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;{</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;    <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="l00965"></a><span class="lineno">  965</span>&#160;    <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="l00966"></a><span class="lineno">  966</span>&#160;    win.validate();</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;    Iterator in(input_ptr, win);</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;    {</div><div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(in.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;        <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;        <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;        <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;        store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;                          out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    },</div><div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;    in, out_y, out_u, out_v);</div><div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;{</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;    <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="l00965"></a><span class="lineno">  965</span>&#160;    <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="l00966"></a><span class="lineno">  966</span>&#160;    win.validate();</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;    {</div><div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;        <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;        <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;        <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;        store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;                          out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    },</div><div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_u, out_v);</div><div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</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_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...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_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -9267,9 +8242,11 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00343">343</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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>
-<div class="fragment"><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;{</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <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="l00346"></a><span class="lineno">  346</span>&#160;    <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="l00347"></a><span class="lineno">  347</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    Iterator in(input_ptr, win);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    Iterator out(output_ptr, win);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    {</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>   ta1 = vld4q_u8(in.ptr());</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        uint8x16x3_t ta2;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        vst3q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    },</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    in, out);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;{</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <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="l00346"></a><span class="lineno">  346</span>&#160;    <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="l00347"></a><span class="lineno">  347</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    {</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>   ta1 = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        uint8x16x3_t ta2;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        vst3q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr(), ta2);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    },</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</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_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -9316,10 +8293,14 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00698">698</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;{</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;    <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="l00701"></a><span class="lineno">  701</span>&#160;    <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="l00702"></a><span class="lineno">  702</span>&#160;    win.validate();</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;    <span class="comment">// Destination&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;    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="l00712"></a><span class="lineno">  712</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    Iterator in(input_ptr, win);</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;    {</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_top    = vld4q_u8(in.ptr());</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;        <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;        <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;        <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;        <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        uint8x16x2_t yvec;</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;        yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;        yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;        vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;        uint8x16x2_t yyvec;</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;        yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;        yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;</div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;        uint8x16_t uvec;</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;        uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;        vst1q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;        uint8x16_t vvec;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;        vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        vst1q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;    },</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;    in, out_y, out_u, out_v);</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;{</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;    <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="l00701"></a><span class="lineno">  701</span>&#160;    <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="l00702"></a><span class="lineno">  702</span>&#160;    win.validate();</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;    <span class="comment">// Destination&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;    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="l00712"></a><span class="lineno">  712</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;    {</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_top    = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>());</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;        <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;        <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;        <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;        <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        uint8x16x2_t yvec;</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;        yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;        yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;        vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;        uint8x16x2_t yyvec;</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;        yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;        yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;</div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;        uint8x16_t uvec;</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;        uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;        vst1q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;        uint8x16_t vvec;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;        vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        vst1q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;    },</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_u, out_v);</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides &amp; strides_in_bytes() const override</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00231">TensorInfo.h:231</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...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_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -9365,10 +8346,14 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00546">546</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;{</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    <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="l00549"></a><span class="lineno">  549</span>&#160;    <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="l00550"></a><span class="lineno">  550</span>&#160;    win.validate();</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    <span class="comment">// NV12&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    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="l00560"></a><span class="lineno">  560</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    Iterator in(input_ptr, win);</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    {</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_top    = vld4q_u8(in.ptr());</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;        <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;        <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;        <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;        <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        uint8x16x2_t yvec;</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;        yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;        yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;        uint8x16x2_t yyvec;</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;        yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;        yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;        uint8x16x2_t uvvec;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;        uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;        uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;        vst2q_u8(out_uv.ptr(), uvvec);</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;    },</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    in, out_y, out_uv);</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;{</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    <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="l00549"></a><span class="lineno">  549</span>&#160;    <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="l00550"></a><span class="lineno">  550</span>&#160;    win.validate();</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    <span class="comment">// NV12&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    Window win_uv(win);</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    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="l00560"></a><span class="lineno">  560</span>&#160;    win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    win_uv.validate();</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    {</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_top    = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>());</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;        <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;        <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;        <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;        <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        uint8x16x2_t yvec;</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;        yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;        yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;        uint8x16x2_t yyvec;</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;        yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;        yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;        vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;        uint8x16x2_t uvvec;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;        uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;        uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;        vst2q_u8(out_uv.ptr(), uvvec);</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;    },</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_uv);</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
+<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides &amp; strides_in_bytes() const override</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00231">TensorInfo.h:231</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...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_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -9414,11 +8399,14 @@
 
 <p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00374">374</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
 
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00328">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>
-<div class="fragment"><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;{</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <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="l00377"></a><span class="lineno">  377</span>&#160;    <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="l00378"></a><span class="lineno">  378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    constexpr <span class="keyword">auto</span> shift        = yuyv ? 0 : 1;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    Iterator in(input_ptr, win);</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    Iterator out(output_ptr, win);</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    {</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        float32x4x4_t uvec, yvec, vvec, yyvec;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>    ta = vld4q_u8(in.ptr());</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        yuyv_to_rgb_calculation(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], out.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        yuyv_to_rgb_calculation(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], out.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        yuyv_to_rgb_calculation(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], out.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        yuyv_to_rgb_calculation(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], out.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    },</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    in, out);</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00155">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;{</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <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="l00377"></a><span class="lineno">  377</span>&#160;    <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="l00378"></a><span class="lineno">  378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr  = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    constexpr <span class="keyword">auto</span> shift        = yuyv ? 0 : 1;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    {</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        float32x4x4_t uvec, yvec, vvec, yyvec;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>    ta = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    },</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail_xhtml_a2a36a93e164b484404fe908cefd6099a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation</a></div><div class="ttdeci">void yuyv_to_rgb_calculation(const SimpleTensor&lt; T &gt; yvec, const SimpleTensor&lt; T &gt; vvec, const SimpleTensor&lt; T &gt; yyvec, const SimpleTensor&lt; T &gt; uvec, SimpleTensor&lt; T &gt; &amp;dst)</div><div class="ttdef"><b>Definition:</b> <a href="_color_convert_helper_8h_source.xhtml#l00155">ColorConvertHelper.h:155</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -9473,10 +8461,10 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00501">501</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
 
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::shape</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>.</p>
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00523">compute_strides()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;{</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    <span class="keyword">const</span> TensorShape &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape();</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    <span class="comment">// Create strides object</span></div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    Strides strides(stride_x, fixed_strides...);</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_dimensions(); ++i)</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    {</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;        strides.set(i, shape[i - 1] * strides[i - 1]);</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    }</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <span class="keywordflow">return</span> strides;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
+<div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;{</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    <span class="keyword">const</span> TensorShape &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape();</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    <span class="comment">// Create strides object</span></div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    Strides strides(stride_x, fixed_strides...);</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_dimensions(); ++i)</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    {</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;        strides.set(i, shape[i - 1] * strides[i - 1]);</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    }</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <span class="keywordflow">return</span> strides;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
 <div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
 </div><!-- fragment -->
 </div>
@@ -9520,6 +8508,121 @@
 </div><!-- fragment -->
 </div>
 </div>
+<a class="anchor" id="a3b0c016b53e97663b39c2f3875f46c24"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> arm_compute::compute_winograd_convolution_tiles </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
+          <td class="paramname"><em>in_dims</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> &amp;&#160;</td>
+          <td class="paramname"><em>kernel_size</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> &amp;&#160;</td>
+          <td class="paramname"><em>output_tile_size</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> &amp;&#160;</td>
+          <td class="paramname"><em>conv_info</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculate the number of output tiles required by Winograd Convolution layer. </p>
+<p>This utility function can be used by the Winograd input transform to know the number of tiles on the x and y direction</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">in_dims</td><td>Spatial dimensions of the input tensor of convolution layer </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kernel_size</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> size </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">output_tile_size</td><td>Size of a single output tile </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">conv_info</td><td>Convolution info (i.e. pad, stride,...)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the number of output tiles along the x and y directions of size "output_tile_size" </dd></dl>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00701">701</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+
+<p>References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00658">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00643">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00648">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00653">PadStrideInfo::pad_top()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
+
+<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00287">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00197">arm_compute::test::validation::reference::winograd_input_transform()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00401">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;{</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;    <span class="keywordtype">int</span> num_tiles_x = std::ceil((in_dims.width - (kernel_size.width - 1) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_left() + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_right()) / static_cast&lt;float&gt;(output_tile_size.width));</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;    <span class="keywordtype">int</span> num_tiles_y = std::ceil((in_dims.height - (kernel_size.height - 1) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_top() + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_bottom()) / static_cast&lt;float&gt;(output_tile_size.height));</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;    <span class="comment">// Clamp in case we provide paddings but we have 1D convolution</span></div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    num_tiles_x = std::min(num_tiles_x, static_cast&lt;int&gt;(in_dims.width));</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    num_tiles_y = std::min(num_tiles_y, static_cast&lt;int&gt;(in_dims.height));</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    <span class="keywordflow">return</span> Size2D(num_tiles_x, num_tiles_y);</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acbf8f8a6dd185de04c1981c57a8963cf"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">arm_compute::test::validation::conv_info</a></div><div class="ttdeci">conv_info</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00572">Winograd.cpp:572</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="afe3b7128bf77dd12c85eed944fe5b3d4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> arm_compute::convert_window_coord_to_position </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
+          <td class="paramname"><em>w</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> &amp;&#160;</td>
+          <td class="paramname"><em>offset</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Convert an offset in window steps into absolute coordinates. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> <code>offset</code> is related to. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>Offset inside the window expressed in number of window steps.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Absolute coordinates. </dd></dl>
+
+<p>Definition at line <a class="el" href="_window_iterator_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_window_iterator_8h_source.xhtml">WindowIterator.h</a>.</p>
+
+<p>References <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    Coordinates position;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; Coordinates::num_max_dimensions; ++i)</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    {</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        position.set(i, w[i].start() + <a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>[i] * w[i].step());</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    }</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="keywordflow">return</span> position;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;}</div><div class="ttc" id="helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00311">helpers.h:311</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
 <a class="anchor" id="ad95e1c14c3007ca18950bf8f4c5a5c93"></a>
 <div class="memitem">
 <div class="memproto">
@@ -9562,14 +8665,14 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>linead index </dd></dl>
 
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00322">322</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00308">308</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00159">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00157">TensorShape::total_size()</a>.</p>
+<p>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&lt; T &gt;::num_dimensions()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
 
-<p>Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00178">arm_compute::test::validation::reference::winograd_input_transform()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;{</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    <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="l00325"></a><span class="lineno">  325</span>&#160;    <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(num_elements);</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">&quot;Cannot create linear index from empty shape!&quot;</span>);</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordtype">int</span> index  = 0;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keywordtype">int</span> stride = 1;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 0; d &lt; coord.num_dimensions(); ++d)</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    {</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        index += coord[d] * stride;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    }</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordflow">return</span> index;</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</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#l00159">Error.h:159</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#l00319">Error.h:319</a></div></div>
+<p>Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00197">arm_compute::test::validation::reference::winograd_input_transform()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;{</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <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>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">&quot;Cannot create linear index from empty shape!&quot;</span>);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keywordtype">int</span> index  = 0;</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <span class="keywordtype">int</span> stride = 1;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 0; d &lt; coord.num_dimensions(); ++d)</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    {</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        index += coord[d] * stride;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;        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>&#160;    }</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <span class="keywordflow">return</span> index;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</a></div></div>
+<div class="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 -->
 </div>
 </div>
@@ -9662,7 +8765,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
 
-<p>Referenced by <a class="el" href="_error_8h_source.xhtml#l00101">Status::throw_if_error()</a>.</p>
+<p>Referenced by <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
 
 </div>
 </div>
@@ -9728,7 +8831,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
 
-<p>Referenced by <a class="el" href="_error_8h_source.xhtml#l00101">Status::throw_if_error()</a>.</p>
+<p>Referenced by <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
 
 </div>
 </div>
@@ -9750,10 +8853,91 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00086">86</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
 
-<p>Referenced by <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00236">GCKernelLibrary::set_context()</a>, and <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00284">CLKernelLibrary::set_device()</a>.</p>
+<p>Referenced by <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00236">GCKernelLibrary::set_context()</a>, and <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00290">CLKernelLibrary::set_device()</a>.</p>
 <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;{</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    std::unique_ptr&lt;Kernel&gt; k = arm_compute::support::cpp14::make_unique&lt;Kernel&gt;();</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordflow">return</span> k;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
+<a class="anchor" id="aaf5f536bf7ec25ff83b912badcf61405"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1_window_iterator.xhtml">WindowIterator</a>&lt;L&gt; arm_compute::create_window_iterator </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
+          <td class="paramname"><em>w</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> &amp;&#160;</td>
+          <td class="paramname"><em>start</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> &amp;&#160;</td>
+          <td class="paramname"><em>end</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">L &amp;&amp;&#160;</td>
+          <td class="paramname"><em>lambda_function</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Create a <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window. ">WindowIterator</a> object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to use for the iteration </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Where to start iterating from (In <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> coordinates) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">end</td><td>Where to stop iterating (In <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> coordinates). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">lambda_function</td><td>Lambda function to call for every iteration between start and end. (It will be called last for end - 1)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window. ">WindowIterator</a> object. </dd></dl>
+
+<p>Definition at line <a class="el" href="_window_iterator_8h_source.xhtml#l00304">304</a> of file <a class="el" href="_window_iterator_8h_source.xhtml">WindowIterator.h</a>.</p>
+
+<p>Referenced by <a class="el" href="_window_iterator_8cpp_source.xhtml#l00064">DATA_TEST_CASE()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;{</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keywordflow">return</span> WindowIterator&lt;L&gt;(w, start, end, std::move(lambda_function));</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a70c6f92f6b74982b31716cfd2fdf612a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> arm_compute::data_layout_from_name </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>String to convert</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Converted DataLayout enumeration </dd></dl>
+
+<p>Referenced by <a class="el" href="_type_loader_8h_source.xhtml#l00048">operator&gt;&gt;()</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
 <div class="memitem">
 <div class="memproto">
@@ -9787,11 +8971,11 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00107">107</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
 
-<p>Referenced by <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00114">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00251">TensorInfo::element_size()</a>, and <a class="el" href="_alex_net_network_8h_source.xhtml#l00064">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::init()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;            <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Invalid data type&quot;</span>);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    }</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;}</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#l00260">Error.h:260</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
+<p>Referenced by <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00091">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00240">TensorInfo::element_size()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;            <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Invalid data type&quot;</span>);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    }</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -9844,10 +9028,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The return type is a pair. The first element of the pair is the biggest data type needed for the first stage. The second element of the pair is the biggest data type needed for the second stage. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00747">747</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00705">705</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
 <p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;{</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage  = DataType::UNKNOWN;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;    <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &amp;v)</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    {</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;        <span class="keywordflow">return</span> v &gt;= 0;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;    };</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;    <span class="keyword">auto</span> accu_neg = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &amp;first, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;second)</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;    {</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        <span class="keywordflow">return</span> first + (second &lt; 0 ? second : 0);</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    };</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;    <span class="keyword">auto</span> accu_pos = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &amp;first, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;second)</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;    {</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;        <span class="keywordflow">return</span> first + (second &gt; 0 ? second : 0);</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    };</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + size, gez) &amp;&amp; std::all_of(conv_col, conv_col + size, gez);</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;    <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;    {</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;        <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="l00772"></a><span class="lineno">  772</span>&#160;        <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="l00773"></a><span class="lineno">  773</span>&#160;</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;        first_stage = (max_row_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;        second_stage = (max_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    }</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    {</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        <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="l00781"></a><span class="lineno">  781</span>&#160;        <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="l00782"></a><span class="lineno">  782</span>&#160;        <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="l00783"></a><span class="lineno">  783</span>&#160;        <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="l00784"></a><span class="lineno">  784</span>&#160;        <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="l00785"></a><span class="lineno">  785</span>&#160;        <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="l00786"></a><span class="lineno">  786</span>&#160;</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;        first_stage = ((INT16_MIN &lt;= min_row_value) &amp;&amp; (max_row_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;        second_stage = ((INT16_MIN &lt;= min_value) &amp;&amp; (max_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;    }</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;}</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
+<div class="fragment"><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;{</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage  = DataType::UNKNOWN;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &amp;v)</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;    {</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;        <span class="keywordflow">return</span> v &gt;= 0;</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    };</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    <span class="keyword">auto</span> accu_neg = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &amp;first, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;second)</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    {</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;        <span class="keywordflow">return</span> first + (second &lt; 0 ? second : 0);</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    };</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    <span class="keyword">auto</span> accu_pos = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &amp;first, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;second)</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;    {</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;        <span class="keywordflow">return</span> first + (second &gt; 0 ? second : 0);</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    };</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + size, gez) &amp;&amp; std::all_of(conv_col, conv_col + size, gez);</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;    {</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        <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="l00730"></a><span class="lineno">  730</span>&#160;        <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="l00731"></a><span class="lineno">  731</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;        first_stage = (max_row_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;        second_stage = (max_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    }</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    {</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;        <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="l00739"></a><span class="lineno">  739</span>&#160;        <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="l00740"></a><span class="lineno">  740</span>&#160;        <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="l00741"></a><span class="lineno">  741</span>&#160;        <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="l00742"></a><span class="lineno">  742</span>&#160;        <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="l00743"></a><span class="lineno">  743</span>&#160;        <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="l00744"></a><span class="lineno">  744</span>&#160;</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        first_stage = ((INT16_MIN &lt;= min_row_value) &amp;&amp; (max_row_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;        second_stage = ((INT16_MIN &lt;= min_value) &amp;&amp; (max_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;    }</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;    <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;}</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#l00072">Types.h:72</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -9894,13 +9078,13 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">803</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">761</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>, <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::border_mode</a>, <a class="el" href="namespacearm__compute.xhtml#afa7962c747457714d0944af80cb07058">calculate_same_pad()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00360">arm_compute::test::validation::conv_info</a>, <a class="el" href="namespacearm__compute.xhtml#a5c7b26988083a67a91cd3e7962f38521">deconvolution_output_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#a7d57332eb91a8735f173556b3caf6236">deconvolution_output_shape()</a>, <a class="el" href="namespacearm__compute.xhtml#a532fb45c0261724a4c2e755cfd3a44e6">lower_string()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ac78192301777700de24d8c75667baf35">scaled_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#ac955c978e18cc9bf6daea31f13076fba">string_from_activation_func()</a>, <a class="el" href="namespacearm__compute.xhtml#abd15add5c6c7de5c8205ce236875aadd">string_from_border_mode()</a>, <a class="el" href="namespacearm__compute.xhtml#a106c203dd6af234d38452ea0ee7b2ddc">string_from_channel()</a>, <a class="el" href="namespacearm__compute.xhtml#aa7755f939796ad7076886813ff89ed77">string_from_data_layout()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, <a class="el" href="namespacearm__compute.xhtml#ade34f5e72f050fd3665f3294dfb15850">string_from_interpolation_policy()</a>, <a class="el" href="namespacearm__compute.xhtml#a018795ab2489d17309e158ff5c060ab1">string_from_matrix_pattern()</a>, <a class="el" href="namespacearm__compute.xhtml#a14831547f57ecf5f0deef888ad41ad30">string_from_non_linear_filter_function()</a>, <a class="el" href="namespacearm__compute.xhtml#afb5698af5404d5d11e3516c87b6e7041">string_from_norm_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a84a03e85d2c40bf54ec8cdd5e3715c58">string_from_pooling_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
-<div class="fragment"><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;{</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;    <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;    {</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;        <span class="keywordflow">return</span> v &gt;= 0;</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    };</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, gez);</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;    {</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;        <span class="keywordflow">if</span>(max_conv_value &lt;= UINT16_MAX)</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;        {</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;            <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;        }</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;        {</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;            <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;        }</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;    }</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    {</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0, [](<span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>)</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;        {</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;            <span class="keywordflow">return</span> b &lt; 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;        })</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;        * UINT8_MAX;</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;        {</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;            <span class="keywordflow">return</span> b &gt; 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;        })</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;        * UINT8_MAX;</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;        <span class="keywordflow">if</span>((INT16_MIN &lt;= min_value) &amp;&amp; (INT16_MAX &gt;= max_value))</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;        {</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;            <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        }</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;        {</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;            <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;        }</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    }</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adf88bb8e946175c496fb362aa458128b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</a></div></div>
+<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00102">arm_compute::test::validation::a</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00091">arm_compute::test::validation::b</a>, <a class="el" href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::border_mode</a>, <a class="el" href="namespacearm__compute.xhtml#afa7962c747457714d0944af80cb07058">calculate_same_pad()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00572">arm_compute::test::validation::conv_info</a>, <a class="el" href="namespacearm__compute.xhtml#a5c7b26988083a67a91cd3e7962f38521">deconvolution_output_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#a7d57332eb91a8735f173556b3caf6236">deconvolution_output_shape()</a>, <a class="el" href="namespacearm__compute.xhtml#a532fb45c0261724a4c2e755cfd3a44e6">lower_string()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ac78192301777700de24d8c75667baf35">scaled_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#ac955c978e18cc9bf6daea31f13076fba">string_from_activation_func()</a>, <a class="el" href="namespacearm__compute.xhtml#abd15add5c6c7de5c8205ce236875aadd">string_from_border_mode()</a>, <a class="el" href="namespacearm__compute.xhtml#a106c203dd6af234d38452ea0ee7b2ddc">string_from_channel()</a>, <a class="el" href="namespacearm__compute.xhtml#aa7755f939796ad7076886813ff89ed77">string_from_data_layout()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, <a class="el" href="namespacearm__compute.xhtml#ade34f5e72f050fd3665f3294dfb15850">string_from_interpolation_policy()</a>, <a class="el" href="namespacearm__compute.xhtml#a018795ab2489d17309e158ff5c060ab1">string_from_matrix_pattern()</a>, <a class="el" href="namespacearm__compute.xhtml#a14831547f57ecf5f0deef888ad41ad30">string_from_non_linear_filter_function()</a>, <a class="el" href="namespacearm__compute.xhtml#afb5698af5404d5d11e3516c87b6e7041">string_from_norm_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a84a03e85d2c40bf54ec8cdd5e3715c58">string_from_pooling_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
+<div class="fragment"><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;{</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;    <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    {</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;        <span class="keywordflow">return</span> v &gt;= 0;</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;    };</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, gez);</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;    <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;    {</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;        <span class="keywordflow">if</span>(max_conv_value &lt;= UINT16_MAX)</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;        {</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;            <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;        }</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;        {</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;            <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        }</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;    }</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;    {</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0, [](<span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>)</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        {</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;            <span class="keywordflow">return</span> b &lt; 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;        })</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;        * UINT8_MAX;</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;        {</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;            <span class="keywordflow">return</span> b &gt; 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;        })</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;        * UINT8_MAX;</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;        <span class="keywordflow">if</span>((INT16_MIN &lt;= min_value) &amp;&amp; (INT16_MAX &gt;= max_value))</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;        {</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;            <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        }</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;        {</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;            <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;        }</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;    }</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">gemm configure &amp; a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00102">GEMM.cpp:102</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adf88bb8e946175c496fb362aa458128b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</a></div></div>
 <div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00091">GEMM.cpp:91</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -9935,15 +9119,42 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00213">213</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00207">207</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
+<p>References <a class="el" href="_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>Referenced by <a class="el" href="validation_2_c_l_2_harris_corners_8cpp_source.xhtml#l00058">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00337">SimpleTensor&lt; T &gt;::data_type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;{</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    {</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;            <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;            <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;            <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;            <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;            <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;            <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;            <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported data_type for given format&quot;</span>);</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    }</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>Referenced by <a class="el" href="validation_2_c_l_2_canny_edge_8cpp_source.xhtml#l00060">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00319">SimpleTensor&lt; T &gt;::data_type()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;{</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    {</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;            <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;            <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;            <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;            <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;            <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;            <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;            <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported data_type for given format&quot;</span>);</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;            <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    }</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
+<a class="anchor" id="ade65ba63cdf4becce903866f4a59815e"></a>
+<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> arm_compute::data_type_from_name </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>String to convert</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Converted DataType enumeration </dd></dl>
+
+<p>Referenced by <a class="el" href="_type_loader_8h_source.xhtml#l00048">operator&gt;&gt;()</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a5c7b26988083a67a91cd3e7962f38521"></a>
 <div class="memitem">
 <div class="memproto">
@@ -10034,7 +9245,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>A pair with the new width in the first position and the new height in the second. </dd></dl>
 
-<p>Referenced by <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00062">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00064">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -10079,7 +9290,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Deconvolution output tensor shape. </dd></dl>
 
-<p>Referenced by <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00062">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00064">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -10143,10 +9354,10 @@
 
 <p>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>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">pixel_bilinear_c1()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;{</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <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>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keyword">const</span> T a11 = *(pixel_ptr + stride + 1);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a01 * w2 + a10 * w3 + a11 * w4);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;{</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <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>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keyword">const</span> T a11 = *(pixel_ptr + stride + 1);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a01 * w2 + a10 * w3 + a11 * w4);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -10196,10 +9407,10 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">184</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;{</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a01 * w2);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<div class="fragment"><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;{</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a01 * w2);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -10256,10 +9467,10 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">159</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>.</p>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;{</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dy1;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dy;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a10 * w3);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<div class="fragment"><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;{</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dy1;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dy;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a10 * w3);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -10297,8 +9508,6 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
 
-<p>Referenced by <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00071">CLScheduler::default_init()</a>.</p>
-
 </div>
 </div>
 <a class="anchor" id="a12705a88669cb9fb90451ebe0db53c41"></a>
@@ -10342,6 +9551,56 @@
 <div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">return</span> (val + m - 1) / m;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
+<a class="anchor" id="a5b3ca013e6190e8a57de25064bf7caad"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool arm_compute::dot8_acc_supported </td>
+          <td>(</td>
+          <td class="paramtype">const cl::Device &amp;&#160;</td>
+          <td class="paramname"><em>device</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Helper function to check whether the cl_arm_integer_dot_product_accumulate_int8 extension is supported. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a3e1a11146f191cc0dc152e1be09b9339"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool arm_compute::dot8_supported </td>
+          <td>(</td>
+          <td class="paramtype">const cl::Device &amp;&#160;</td>
+          <td class="paramname"><em>device</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Helper function to check whether the cl_arm_integer_dot_product_int8 extension is supported. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
+
+</div>
+</div>
 <a class="anchor" id="a34b06c0cd94808a77b697e79880b84b0"></a>
 <div class="memitem">
 <div class="memproto">
@@ -10373,12 +9632,12 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00182">182</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00179">179</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
 
-<p>Referenced by <a class="el" href="_simple_tensor_8h_source.xhtml#l00300">SimpleTensor&lt; T &gt;::element_size()</a>, <a class="el" href="_validate_8h_source.xhtml#l01000">error_on_value_not_representable_in_fixed_point()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00181">arm_compute::test::validation::validate()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;{</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    {</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined element size for given data type&quot;</span>);</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>Referenced by <a class="el" href="_simple_tensor_8h_source.xhtml#l00288">SimpleTensor&lt; T &gt;::element_size()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00177">arm_compute::test::validation::validate()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;{</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    {</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined element size for given data type&quot;</span>);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    }</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -10479,7 +9738,7 @@
 </dl>
 <dl class="section note"><dt>Note</dt><dd>If any dimension of the lws is greater than the global workgroup size then no lws will be passed. </dd></dl>
 
-<p>Referenced by <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00122">IGCKernel::get_target()</a>, and <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00245">ICLKernel::get_target()</a>.</p>
+<p>Referenced by <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00122">IGCKernel::get_target()</a>, and <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00258">ICLKernel::get_target()</a>.</p>
 
 </div>
 </div>
@@ -10537,7 +9796,7 @@
   </dd>
 </dl>
 
-<p>Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00261">Framework::error_on_missing_assets()</a>, <a class="el" href="main_8cpp_source.xhtml#l00063">main()</a>, and <a class="el" href="_error_8h_source.xhtml#l00101">Status::throw_if_error()</a>.</p>
+<p>Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00261">Framework::error_on_missing_assets()</a>, <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, and <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
 
 </div>
 </div>
@@ -10611,11 +9870,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>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00835">835</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00820">820</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;{</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    <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="l00839"></a><span class="lineno">  839</span>&#160;</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;    <span class="keyword">const</span> std::array&lt;T, <span class="keyword">sizeof</span>...(Ts)&gt; channels_array{ { std::forward&lt;Ts&gt;(channels)... } };</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;    <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(channel != cn &amp;&amp; std::none_of(channels_array.begin(), channels_array.end(), [&amp;](<span class="keyword">const</span> T &amp; f)</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    {</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;        <span class="keywordflow">return</span> f == cn;</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;    }),</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;    <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    <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="l00847"></a><span class="lineno">  847</span>&#160;}</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#l00253">Error.h:253</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#l00051">Error.h:51</a></div></div>
+<p>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>
+<div class="fragment"><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;{</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;    <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="l00824"></a><span class="lineno">  824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    <span class="keyword">const</span> std::array&lt;T, <span class="keyword">sizeof</span>...(Ts)&gt; channels_array{ { std::forward&lt;Ts&gt;(channels)... } };</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;    <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(channel != cn &amp;&amp; std::none_of(channels_array.begin(), channels_array.end(), [&amp;](<span class="keyword">const</span> T &amp; f)</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    {</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        <span class="keywordflow">return</span> f == cn;</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    }),</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    <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="l00832"></a><span class="lineno">  832</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -10811,15 +10070,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>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00774">774</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00709">709</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00721">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>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>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00795">error_on_data_type_channel_not_in()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;{</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor_info, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor_info-&gt;num_channels();</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    <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">&quot;Number of channels %d. Required number of channels %d&quot;</span>, tensor_nc, num_channels);</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;    <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="l00781"></a><span class="lineno">  781</span>&#160;}</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#l00230">Error.h:230</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...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#l00721">Validate.h:721</a></div></div>
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00730">error_on_data_type_channel_not_in()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;{</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor_info, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor_info-&gt;num_channels();</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;    <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">&quot;Number of channels %d. Required number of channels %d&quot;</span>, tensor_nc, num_channels);</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    <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="l00716"></a><span class="lineno">  716</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Return an error if the data type of the passed tensor info does not match any of the data types provi...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00656">Validate.h:656</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -10900,13 +10159,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>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00795">795</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00730">730</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00774">error_on_data_type_channel_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;{</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;    <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="l00799"></a><span class="lineno">  799</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">error_on_data_type_channel_not_in</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), num_channels, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;    <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="l00801"></a><span class="lineno">  801</span>&#160;}</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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad3137e73dbd78133d25751abd84540d8"><div class="ttname"><a href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">arm_compute::error_on_data_type_channel_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_channel_not_in(const char *function, const char *file, const int line, const ITensor *tensor, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...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#l00795">Validate.h:795</a></div></div>
+<p>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#l00709">error_on_data_type_channel_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;{</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;    <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="l00734"></a><span class="lineno">  734</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">error_on_data_type_channel_not_in</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), num_channels, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <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="l00736"></a><span class="lineno">  736</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad3137e73dbd78133d25751abd84540d8"><div class="ttname"><a href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">arm_compute::error_on_data_type_channel_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_channel_not_in(const char *function, const char *file, const int line, const ITensor *tensor, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...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#l00730">Validate.h:730</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -10980,15 +10239,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>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00721">721</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00656">656</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<p>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="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
 
-<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00774">error_on_data_type_channel_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00749">error_on_data_type_not_in()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;{</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;    <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="l00725"></a><span class="lineno">  725</span>&#160;</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;tensor_dt = tensor_info-&gt;data_type(); <span class="comment">//NOLINT</span></div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    <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="l00728"></a><span class="lineno">  728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;    <span class="keyword">const</span> std::array&lt;T, <span class="keyword">sizeof</span>...(Ts)&gt; dts_array{ { std::forward&lt;Ts&gt;(dts)... } };</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;    <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_dt != dt &amp;&amp; std::none_of(dts_array.begin(), dts_array.end(), [&amp;](<span class="keyword">const</span> T &amp; d)</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;    {</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;        <span class="keywordflow">return</span> d == tensor_dt;</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;    }),</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;ITensor data type %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(tensor_dt).c_str());</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <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="l00736"></a><span class="lineno">  736</span>&#160;}</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#l00230">Error.h:230</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#l00253">Error.h:253</a></div></div>
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00709">error_on_data_type_channel_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00684">error_on_data_type_not_in()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;{</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;    <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>&#160;</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;tensor_dt = tensor_info-&gt;data_type(); <span class="comment">//NOLINT</span></div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    <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>&#160;</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    <span class="keyword">const</span> std::array&lt;T, <span class="keyword">sizeof</span>...(Ts)&gt; dts_array{ { std::forward&lt;Ts&gt;(dts)... } };</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_dt != dt &amp;&amp; std::none_of(dts_array.begin(), dts_array.end(), [&amp;](<span class="keyword">const</span> T &amp; d)</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    {</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;        <span class="keywordflow">return</span> d == tensor_dt;</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    }),</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;ITensor data type %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(tensor_dt).c_str());</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    <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>&#160;}</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="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string &amp; string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
-<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00051">Error.h:51</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
 <div class="ttc" id="namespacearm__compute_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#l00072">Types.h:72</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -11063,13 +10322,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>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00749">749</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00684">684</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00721">error_on_data_type_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;{</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;    <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="l00753"></a><span class="lineno">  753</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <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="l00755"></a><span class="lineno">  755</span>&#160;}</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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...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#l00721">Validate.h:721</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00656">error_on_data_type_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;{</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;    <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>&#160;}</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Return an error if the data type of the passed tensor info does not match any of the data types provi...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00656">Validate.h:656</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -11134,13 +10393,13 @@
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00688">688</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00623">623</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00338">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00320">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00159">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;{</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    <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="l00692"></a><span class="lineno">  692</span>&#160;</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&amp;object_format = <span class="keywordtype">object</span>-&gt;info()-&gt;format();</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;    <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(object_format);</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;    <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="l00697"></a><span class="lineno">  697</span>&#160;</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    <span class="keyword">const</span> std::array&lt;F, <span class="keyword">sizeof</span>...(Fs)&gt; formats_array{ { std::forward&lt;Fs&gt;(formats)... } };</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(formats_array);</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;    <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(object_format != format &amp;&amp; std::none_of(formats_array.begin(), formats_array.end(), [&amp;](<span class="keyword">const</span> F &amp; f)</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;    {</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;        <span class="keywordflow">return</span> f == object_format;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;    }),</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Format %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a>(object_format).c_str());</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;}</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#l00320">Error.h:320</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#l00159">Error.h:159</a></div></div>
+<p>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="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;{</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    <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>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&amp;object_format = <span class="keywordtype">object</span>-&gt;info()-&gt;format();</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;    <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>&#160;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;    <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>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;    <span class="keyword">const</span> std::array&lt;F, <span class="keyword">sizeof</span>...(Fs)&gt; formats_array{ { std::forward&lt;Fs&gt;(formats)... } };</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    <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>&#160;</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;    <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(object_format != format &amp;&amp; std::none_of(formats_array.begin(), formats_array.end(), [&amp;](<span class="keyword">const</span> F &amp; f)</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    {</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        <span class="keywordflow">return</span> f == object_format;</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    }),</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Format %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a>(object_format).c_str());</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00329">Error.h:329</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a></div><div class="ttdeci">Format</div><div class="ttdoc">Image colour formats. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00050">Types.h:50</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#l00338">Error.h:338</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00347">Error.h:347</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_a9c92c867fc64454545668d87b20979eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">arm_compute::string_from_format</a></div><div class="ttdeci">const std::string &amp; string_from_format(Format format)</div><div class="ttdoc">Convert a tensor format into a string. </div></div>
 </div><!-- fragment -->
 </div>
@@ -11449,15 +10708,15 @@
 
 <p>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>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>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>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00483">error_on_mismatching_data_layouts()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;{</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &amp;&amp;tensor_data_layout = tensor_info-&gt;data_layout();</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensorInfo *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_infos_array{ { std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info_obj)</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    {</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <span class="keywordflow">return</span> tensor_info_obj-&gt;data_layout() != tensor_data_layout;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    }),</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data layouts&quot;</span>);</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <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>&#160;}</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#l00230">Error.h:230</a></div></div>
+<div class="fragment"><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;{</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &amp;&amp;tensor_data_layout = tensor_info-&gt;data_layout();</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensorInfo *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_infos_array{ { std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info_obj)</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    {</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <span class="keywordflow">return</span> tensor_info_obj-&gt;data_layout() != tensor_data_layout;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    }),</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data layouts&quot;</span>);</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <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>&#160;}</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_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...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="_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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</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">Supported tensor data layouts. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00110">Types.h:110</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="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">Supported tensor data layouts. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00107">Types.h:107</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -11526,11 +10785,11 @@
 
 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00483">483</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00457">error_on_mismatching_data_layouts()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
 <div class="fragment"><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;{</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#adc72c7263d6751e6e1a71fd33c6f8955">arm_compute::error_on_mismatching_data_layouts</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(),</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;                                                                                 detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    <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>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...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="_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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="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_adc72c7263d6751e6e1a71fd33c6f8955"><div class="ttname"><a href="namespacearm__compute.xhtml#adc72c7263d6751e6e1a71fd33c6f8955">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 -->
 </div>
@@ -11600,14 +10859,14 @@
 
 <p>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>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>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>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00534">error_on_mismatching_data_types()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;{</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;tensor_data_type = tensor_info-&gt;data_type();</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensorInfo *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_infos_array{ { std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info_obj)</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    {</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        <span class="keywordflow">return</span> tensor_info_obj-&gt;data_type() != tensor_data_type;</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    }),</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data types&quot;</span>);</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <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>&#160;}</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#l00230">Error.h:230</a></div></div>
+<div class="fragment"><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;{</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;tensor_data_type = tensor_info-&gt;data_type();</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensorInfo *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_infos_array{ { std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info_obj)</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    {</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        <span class="keywordflow">return</span> tensor_info_obj-&gt;data_type() != tensor_data_type;</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    }),</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data types&quot;</span>);</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <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>&#160;}</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_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...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="_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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="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#l00072">Types.h:72</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -11677,11 +10936,11 @@
 
 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00534">534</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00508">error_on_mismatching_data_types()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
 <div class="fragment"><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;{</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">arm_compute::error_on_mismatching_data_types</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(),</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;                                                                               detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <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>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...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="_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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="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_a00672eb7b5db5f6396b39b241eaf12f7"><div class="ttname"><a href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">arm_compute::error_on_mismatching_data_types</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_data_types(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed two tensor infos have different data types. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00508">Validate.h:508</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -11750,335 +11009,13 @@
 
 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00280">280</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, and <a class="el" href="_validate_8h_source.xhtml#l00108">arm_compute::detail::for_each_error()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;{</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute_1_1detail.xhtml#a2fa22dee7227625fa4516f267235667c">detail::for_each_error</a>(detail::compare_dimension&lt;T&gt;(dim1, <span class="keyword">function</span>, file, line), dim2, std::forward&lt;Ts&gt;(dims)...));</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <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>&#160;}</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, and <a class="el" href="_validate_8h_source.xhtml#l00108">arm_compute::detail::for_each_error()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;{</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute_1_1detail.xhtml#a2fa22dee7227625fa4516f267235667c">detail::for_each_error</a>(detail::compare_dimension&lt;T&gt;(dim1, <span class="keyword">function</span>, file, line), dim2, std::forward&lt;Ts&gt;(dims)...));</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <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>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
 <div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a2fa22dee7227625fa4516f267235667c"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a2fa22dee7227625fa4516f267235667c">arm_compute::detail::for_each_error</a></div><div class="ttdeci">arm_compute::Status for_each_error(F &amp;&amp;func, T &amp;&amp;arg, Ts &amp;&amp;...args)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00114">Validate.h:114</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
-<a class="anchor" id="aafd4504246cc7e82e108204cb9636a90"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>function</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>file</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&#160;</td>
-          <td class="paramname"><em>line</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
-          <td class="paramname"><em>tensor_info_1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
-          <td class="paramname"><em>tensor_info_2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Ts...&#160;</td>
-          <td class="paramname"><em>tensor_infos</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Return an error if the passed tensor infos have different fixed point data types or different fixed point positions. </p>
-<dl class="section note"><dt>Note</dt><dd>: If the first tensor doesn't have fixed point data type, the function returns without throwing an error</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00562">562</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p>References <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01037">is_data_type_fixed_point()</a>.</p>
-
-<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00601">error_on_mismatching_fixed_point()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;{</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;first_data_type            = tensor_info_1-&gt;data_type();</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span>  first_fixed_point_position = tensor_info_1-&gt;fixed_point_position();</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute.xhtml#ab6bb62694ae8369d18a9c9687040975e">is_data_type_fixed_point</a>(first_data_type))</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    {</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;        <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>&#160;    }</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensor_infos_array{ { tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;    {</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        <span class="keywordflow">return</span> tensor_info-&gt;data_type() != first_data_type;</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    }),</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed point data types&quot;</span>);</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    {</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;        <span class="keywordflow">return</span> tensor_info-&gt;fixed_point_position() != first_fixed_point_position;</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    }),</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed point positions&quot;</span>);</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <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>&#160;}</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#l00230">Error.h:230</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#l00051">Error.h:51</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab6bb62694ae8369d18a9c9687040975e"><div class="ttname"><a href="namespacearm__compute.xhtml#ab6bb62694ae8369d18a9c9687040975e">arm_compute::is_data_type_fixed_point</a></div><div class="ttdeci">bool is_data_type_fixed_point(DataType dt)</div><div class="ttdoc">Check if a given data type is of fixed point type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01037">Utils.h:1037</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#l00072">Types.h:72</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a8ecebd0b1ad2f0c593f7b093a1e43448"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>function</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>file</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&#160;</td>
-          <td class="paramname"><em>line</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
-          <td class="paramname"><em>tensor_1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
-          <td class="paramname"><em>tensor_2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Ts...&#160;</td>
-          <td class="paramname"><em>tensors</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Return an error if the passed tensor have different fixed point data types or different fixed point positions. </p>
-<dl class="section note"><dt>Note</dt><dd>: If the first tensor doesn't have fixed point data type, the function returns without throwing an error</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00601">601</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p>References <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_fixed_point()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;{</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#aafd4504246cc7e82e108204cb9636a90">arm_compute::error_on_mismatching_fixed_point</a>(<span class="keyword">function</span>, file, line, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;                                                                                detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    <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>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_aafd4504246cc7e82e108204cb9636a90"><div class="ttname"><a href="namespacearm__compute.xhtml#aafd4504246cc7e82e108204cb9636a90">arm_compute::error_on_mismatching_fixed_point</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_fixed_point(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed tensor infos have different fixed point data types or different fixed p...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00562">Validate.h:562</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a82c748dc3464dfc48133fbf8f84d7240"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point_position </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>function</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>file</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&#160;</td>
-          <td class="paramname"><em>line</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
-          <td class="paramname"><em>tensor_info_1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
-          <td class="paramname"><em>tensor_info_2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Ts...&#160;</td>
-          <td class="paramname"><em>tensor_infos</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Return an error if the input fixed-point positions are different. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00955">955</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p>References <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>.</p>
-
-<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00978">error_on_mismatching_fixed_point_position()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;{</div><div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensor_info_array{ { tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;    <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensor_info_array.begin(), tensor_info_array.end(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;    {</div><div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;        <span class="keywordflow">return</span> tensor_info-&gt;fixed_point_position() != tensor_info_1-&gt;fixed_point_position();</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;    }),</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed-point positions&quot;</span>);</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;    <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="l00965"></a><span class="lineno">  965</span>&#160;}</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#l00230">Error.h:230</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#l00051">Error.h:51</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="adec7d6b27c9cacab7940ce67eaab4bf6"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point_position </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>function</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>file</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&#160;</td>
-          <td class="paramname"><em>line</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
-          <td class="paramname"><em>tensor_1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
-          <td class="paramname"><em>tensor_2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Ts...&#160;</td>
-          <td class="paramname"><em>tensors</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Return an error if the input fixed-point positions are different. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00978">978</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-
-<p>References <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00955">error_on_mismatching_fixed_point_position()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;{</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a82c748dc3464dfc48133fbf8f84d7240">arm_compute::error_on_mismatching_fixed_point_position</a>(<span class="keyword">function</span>, file, line, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;                                                                                         detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;    <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="l00984"></a><span class="lineno">  984</span>&#160;}</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a82c748dc3464dfc48133fbf8f84d7240"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c748dc3464dfc48133fbf8f84d7240">arm_compute::error_on_mismatching_fixed_point_position</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_fixed_point_position(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the input fixed-point positions are different. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00955">Validate.h:955</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
 <a class="anchor" id="af4c3199d58278db542e1cdfb72a41901"></a>
 <div class="memitem">
 <div class="memproto">
@@ -12150,14 +11087,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>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00627">627</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00562">562</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00230">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#l01056">is_data_type_quantized_asymmetric()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>.</p>
+<p>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#l00992">is_data_type_quantized_asymmetric()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>.</p>
 
-<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00666">error_on_mismatching_quantization_info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;{</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>             &amp;&amp;first_data_type         = tensor_info_1-&gt;data_type();</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;    <span class="keyword">const</span> QuantizationInfo first_quantization_info = tensor_info_1-&gt;quantization_info();</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;    <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(first_data_type))</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    {</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        <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="l00636"></a><span class="lineno">  636</span>&#160;    }</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensor_infos_array{ { tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;    {</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        <span class="keywordflow">return</span> tensor_info-&gt;data_type() != first_data_type;</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    }),</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different asymmetric quantized data types&quot;</span>);</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    {</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;        <span class="keywordflow">return</span> tensor_info-&gt;quantization_info() != first_quantization_info;</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    }),</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different quantization information&quot;</span>);</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;    <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="l00651"></a><span class="lineno">  651</span>&#160;}</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#l00230">Error.h:230</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#l00051">Error.h:51</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a14f46283f316e7f0fad301d5c1507e9f"><div class="ttname"><a href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">arm_compute::is_data_type_quantized_asymmetric</a></div><div class="ttdeci">bool is_data_type_quantized_asymmetric(DataType dt)</div><div class="ttdoc">Check if a given data type is of asymmetric quantized type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01056">Utils.h:1056</a></div></div>
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00601">error_on_mismatching_quantization_info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;{</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>             &amp;&amp;first_data_type         = tensor_info_1-&gt;data_type();</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <span class="keyword">const</span> QuantizationInfo first_quantization_info = tensor_info_1-&gt;quantization_info();</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(first_data_type))</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    {</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;        <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>&#160;    }</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensor_infos_array{ { tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;    {</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        <span class="keywordflow">return</span> tensor_info-&gt;data_type() != first_data_type;</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    }),</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different asymmetric quantized data types&quot;</span>);</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    {</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;        <span class="keywordflow">return</span> tensor_info-&gt;quantization_info() != first_quantization_info;</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    }),</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different quantization information&quot;</span>);</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <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>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a14f46283f316e7f0fad301d5c1507e9f"><div class="ttname"><a href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">arm_compute::is_data_type_quantized_asymmetric</a></div><div class="ttdeci">bool is_data_type_quantized_asymmetric(DataType dt)</div><div class="ttdoc">Check if a given data type is of asymmetric quantized type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00992">Utils.h:992</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#l00072">Types.h:72</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -12233,12 +11170,12 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00666">666</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00601">601</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00627">error_on_mismatching_quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;{</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a>(<span class="keyword">function</span>, file, line, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;                                                                                      detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;    <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>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4c3199d58278db542e1cdfb72a41901"><div class="ttname"><a href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_quantization_info(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed tensor infos have different asymmetric quantized data types or differen...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00627">Validate.h:627</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;{</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a>(<span class="keyword">function</span>, file, line, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;                                                                                      detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    <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>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4c3199d58278db542e1cdfb72a41901"><div class="ttname"><a href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_quantization_info(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed tensor infos have different asymmetric quantized data types or differen...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00562">Validate.h:562</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -12477,12 +11414,12 @@
 
 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00403">403</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;{</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <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>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 2 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor_info_1, tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    {</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>((*tensors_info_array.cbegin())-&gt;tensor_shape(), tensor_info-&gt;tensor_shape(), upper_dim);</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    }),</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different shapes&quot;</span>);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <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>&#160;}</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#l00230">Error.h:230</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;{</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <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>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 2 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor_info_1, tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    {</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>((*tensors_info_array.cbegin())-&gt;tensor_shape(), tensor_info-&gt;tensor_shape(), upper_dim);</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    }),</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different shapes&quot;</span>);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <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>&#160;}</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_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...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="_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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="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&lt; T &gt; &amp;dim1, const Dimensions&lt; T &gt; &amp;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 -->
 </div>
@@ -12566,12 +11503,12 @@
 
 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00431">431</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">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>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00368">error_on_mismatching_shapes()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
 <div class="fragment"><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;{</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <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>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">arm_compute::error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, upper_dim, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                                                                           detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    <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>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...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="_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#l00253">Error.h:253</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="namespacearm__compute_xhtml_aea117e0cebca5f4642ed3f269217a09e"><div class="ttname"><a href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed two tensor infos have different shapes from the given dimension...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00368">Validate.h:368</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -12695,11 +11632,11 @@
 
 <p>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>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>.</p>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>.</p>
 
 <p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00457">error_on_mismatching_data_layouts()</a>, <a class="el" href="_validate_8h_source.xhtml#l00508">error_on_mismatching_data_types()</a>, <a class="el" href="_validate_8h_source.xhtml#l00403">error_on_mismatching_shapes()</a>, <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> <span class="keywordtype">void</span> *, <span class="keyword">sizeof</span>...(Ts)&gt; pointers_array{ { std::forward&lt;Ts&gt;(pointers)... } };</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="keywordtype">bool</span> has_nullptr = std::any_of(pointers_array.begin(), pointers_array.end(), [&amp;](<span class="keyword">const</span> <span class="keywordtype">void</span> *ptr)</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    {</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        <span class="keywordflow">return</span> (ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    });</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <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">&quot;Nullptr object!&quot;</span>);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <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>&#160;}</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#l00230">Error.h:230</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#l00051">Error.h:51</a></div></div>
+<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> <span class="keywordtype">void</span> *, <span class="keyword">sizeof</span>...(Ts)&gt; pointers_array{ { std::forward&lt;Ts&gt;(pointers)... } };</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="keywordtype">bool</span> has_nullptr = std::any_of(pointers_array.begin(), pointers_array.end(), [&amp;](<span class="keyword">const</span> <span class="keywordtype">void</span> *ptr)</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    {</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        <span class="keywordflow">return</span> (ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    });</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <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">&quot;Nullptr object!&quot;</span>);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <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>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -12751,6 +11688,58 @@
 </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>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00771">error_on_unsupported_fp16()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6aca7957ee1166144ae3999c7cf42d29"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_tensor_not_2d </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>line</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
+          <td class="paramname"><em>tensor</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Return an error if the tensor info is not 2D. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info to validate.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
 </div>
 </div>
 <a class="anchor" id="a5bee409f8a6904df028626835b3a19be"></a>
@@ -12817,14 +11806,14 @@
 
 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00303">303</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00688">adjust_odd_shape()</a>, <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;{</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor1, std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    {</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="keyword">const</span> TensorShape correct_shape = <a class="code" href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">adjust_odd_shape</a>(tensor-&gt;info()-&gt;tensor_shape(), format);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor-&gt;info()-&gt;tensor_shape(), correct_shape, 2);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    }),</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensor shape has odd dimensions&quot;</span>);</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <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>&#160;}</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#l00230">Error.h:230</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00646">adjust_odd_shape()</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;{</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor1, std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    {</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="keyword">const</span> TensorShape correct_shape = <a class="code" href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">adjust_odd_shape</a>(tensor-&gt;info()-&gt;tensor_shape(), format);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor-&gt;info()-&gt;tensor_shape(), correct_shape, 2);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    }),</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensor shape has odd dimensions&quot;</span>);</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <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>&#160;}</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_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...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="_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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="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&lt; T &gt; &amp;dim1, const Dimensions&lt; T &gt; &amp;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 &amp;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#l00688">Utils.h:688</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 &amp;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#l00646">Utils.h:646</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -12899,14 +11888,14 @@
 
 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00336">336</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00230">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00715">calculate_subsampled_shape()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    <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>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor1, std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    {</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor-&gt;info()-&gt;tensor_shape(), sub2_shape, 2);</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    }),</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensor shape has mismatch dimensions for sub-sampling&quot;</span>);</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <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>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</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#l00230">Error.h:230</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 &amp;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#l00715">Utils.h:715</a></div></div>
+<p>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#l00673">calculate_subsampled_shape()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <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>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    <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>&#160;    <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor1, std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <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(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    {</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor-&gt;info()-&gt;tensor_shape(), sub2_shape, 2);</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    }),</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensor shape has mismatch dimensions for sub-sampling&quot;</span>);</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <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>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a9d714e1b7d9d7818309138b7d830ebcb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9d714e1b7d9d7818309138b7d830ebcb">arm_compute::calculate_subsampled_shape</a></div><div class="ttdeci">TensorShape calculate_subsampled_shape(const TensorShape &amp;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#l00673">Utils.h:673</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...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="_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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="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&lt; T &gt; &amp;dim1, const Dimensions&lt; T &gt; &amp;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 -->
 </div>
@@ -12961,7 +11950,7 @@
 
 </div>
 </div>
-<a class="anchor" id="a902b2c73a1317fd91a167e9d4d3f211b"></a>
+<a class="anchor" id="a8e79316e933e15539e39cace39ba0e35"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -12969,7 +11958,7 @@
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_value_not_representable_in_fixed_point </td>
+          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_cpu_fp16 </td>
           <td>(</td>
           <td class="paramtype">const char *&#160;</td>
           <td class="paramname"><em>function</em>, </td>
@@ -12983,18 +11972,12 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const int&#160;</td>
           <td class="paramname"><em>line</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
           <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
           <td class="paramname"><em>tensor_info</em>&#160;</td>
         </tr>
@@ -13011,33 +11994,30 @@
 </table>
 </div><div class="memdoc">
 
-<p>Return an error if the fixed-point value is not representable in the specified Q format. </p>
+<p>Return an error if the data type of the passed tensor info is FP16 and FP16 support is not compiled in. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
     <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
     <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The floating point value to be checked. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>Input tensor info that has information on data type and fixed-point position.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info to validate.</td></tr>
   </table>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l01000">1000</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>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>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00230">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#l00182">element_size_from_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>.</p>
+<p>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>Referenced by <a class="el" href="_validate_8h_source.xhtml#l01022">error_on_value_not_representable_in_fixed_point()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;{</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span>          fixed_point_position = tensor_info-&gt;fixed_point_position();</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>     dt                   = tensor_info-&gt;data_type();</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> q_max_range          = 0xFFFFFFFFu &gt;&gt; (((<span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> int) - <a class="code" href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">element_size_from_data_type</a>(dt)) * 8) + 1);</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span>        max_range            = q_max_range / (<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(1 &lt;&lt; fixed_point_position));</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;    <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(value &gt; max_range, <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;                                        <span class="stringliteral">&quot;Value %f is not representable in %s with fixed-point position %d&quot;</span>, value, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(dt).c_str(), fixed_point_position);</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;    <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="l01011"></a><span class="lineno"> 1011</span>&#160;}</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#l00230">Error.h:230</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#l00182">Utils.h:182</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string &amp; string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
-<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00051">Error.h:51</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#l00072">Types.h:72</a></div></div>
+<p>Referenced by <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00060">error_on_unsupported_cpu_fp16()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <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>&#160;<span class="preprocessor">#ifndef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_info-&gt;data_type() == DataType::F16,</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                                        <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;This CPU architecture does not support F16 data type, you need v8.2 or above&quot;</span>);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<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>&#160;    <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>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
-<a class="anchor" id="ad865b21069f578ddb1c65cb32f3fcaa0"></a>
+<a class="anchor" id="af2619085e2d6192b99df91fd805d8d30"></a>
 <div class="memitem">
 <div class="memproto">
 <table class="mlabels">
@@ -13045,7 +12025,7 @@
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_value_not_representable_in_fixed_point </td>
+          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_cpu_fp16 </td>
           <td>(</td>
           <td class="paramtype">const char *&#160;</td>
           <td class="paramname"><em>function</em>, </td>
@@ -13059,18 +12039,12 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const int&#160;</td>
           <td class="paramname"><em>line</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
           <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
           <td class="paramname"><em>tensor</em>&#160;</td>
         </tr>
@@ -13087,26 +12061,230 @@
 </table>
 </div><div class="memdoc">
 
-<p>Return an error an error if the fixed-point value is not representable in the specified Q format. </p>
+<p>Return an error if the data type of the passed tensor is FP16 and FP16 support is not compiled in. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
     <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
     <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The floating point value to be checked. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Input tensor that has information on data type and fixed-point position.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to validate.</td></tr>
   </table>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l01022">1022</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00060">60</a> of file <a class="el" href="_c_p_p_2_validate_8h_source.xhtml">Validate.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00253">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00192">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l01000">error_on_value_not_representable_in_fixed_point()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;{</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;    <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="l01026"></a><span class="lineno"> 1026</span>&#160;    <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a902b2c73a1317fd91a167e9d4d3f211b">arm_compute::error_on_value_not_representable_in_fixed_point</a>(<span class="keyword">function</span>, file, line, value, tensor-&gt;info()));</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;    <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="l01028"></a><span class="lineno"> 1028</span>&#160;}</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#l00253">Error.h:253</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#l00192">Error.h:192</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#l00051">Error.h:51</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a902b2c73a1317fd91a167e9d4d3f211b"><div class="ttname"><a href="namespacearm__compute.xhtml#a902b2c73a1317fd91a167e9d4d3f211b">arm_compute::error_on_value_not_representable_in_fixed_point</a></div><div class="ttdeci">arm_compute::Status error_on_value_not_representable_in_fixed_point(const char *function, const char *file, int line, float value, const ITensorInfo *tensor_info)</div><div class="ttdoc">Return an error if the fixed-point value is not representable in the specified Q format. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l01000">Validate.h:1000</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00040">error_on_unsupported_cpu_fp16()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;{</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <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>&#160;    <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-&gt;info()));</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <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>&#160;}</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a8e79316e933e15539e39cace39ba0e35"><div class="ttname"><a href="namespacearm__compute.xhtml#a8e79316e933e15539e39cace39ba0e35">arm_compute::error_on_unsupported_cpu_fp16</a></div><div class="ttdeci">arm_compute::Status error_on_unsupported_cpu_fp16(const char *function, const char *file, const int line, const ITensorInfo *tensor_info)</div><div class="ttdoc">Return an error if the data type of the passed tensor info is FP16 and FP16 support is not compiled i...</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_validate_8h_source.xhtml#l00040">Validate.h:40</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a76433394f276fbc92390850a15bd2cae"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_fp16 </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>line</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
+          <td class="paramname"><em>tensor_info</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>is_fp16_supported</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return an error if the data type of the passed tensor info is FP16 and FP16 extension is not supported by the device. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info to validate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">is_fp16_supported</td><td>Is fp16 supported by the device.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00752">752</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="_error_8h_source.xhtml#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>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00771">error_on_unsupported_fp16()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;{</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;    <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="l00756"></a><span class="lineno">  756</span>&#160;    <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((tensor_info-&gt;data_type() == DataType::F16 &amp;&amp; !is_fp16_supported),</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;                                        <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;FP16 not supported by the device&quot;</span>);</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;    <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="l00759"></a><span class="lineno">  759</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aea2b331c31943c1f726c9f552348c89c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_fp16 </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>line</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
+          <td class="paramname"><em>tensor</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>is_fp16_supported</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return an error if the data type of the passed tensor is FP16 and FP16 extension is not supported by the device. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to validate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">is_fp16_supported</td><td>Is fp16 supported by the device.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00771">771</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="_error_8h_source.xhtml#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="namespacearm__compute.xhtml#a9f37a1ead28d12ce216e27209dae2a81">error_on_tensor_not_2d()</a>, <a class="el" href="_validate_8h_source.xhtml#l00752">error_on_unsupported_fp16()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;{</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;    <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="l00775"></a><span class="lineno">  775</span>&#160;    <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-&gt;info(), is_fp16_supported));</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    <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="l00777"></a><span class="lineno">  777</span>&#160;}</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#l00752">Validate.h:752</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a5c8dc3902d1a2de5b20aa249fb483eea"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_int64_base_atomics </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>line</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return an error if int64_base_atomics extension is not supported by the device. </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>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_c_l_validate_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_c_l_validate_8h_source.xhtml">CLValidate.h</a>.</p>
+
+<p>References <a class="el" href="_error_8h_source.xhtml#l00177">ARM_COMPUTE_CREATE_ERROR_LOC</a>, <a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>.</p>
+<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="keywordflow">if</span>(!CLKernelLibrary::get().int64_base_atomics_supported())</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <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">&quot;Atomic functions are not supported&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    }</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <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>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a></div><div class="ttdoc">Unsupported extension used. </div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_ac00c754f27b1201dd72c74b73239ff47"><div class="ttname"><a href="_error_8h.xhtml#ac00c754f27b1201dd72c74b73239ff47">ARM_COMPUTE_CREATE_ERROR_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_CREATE_ERROR_LOC(error_code, func, file, line,...)</div><div class="ttdoc">Creates an error on location with a given message. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00177">Error.h:177</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -13284,10 +12462,10 @@
 
 <p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00122">122</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>, and <a class="el" href="_window_8inl_source.xhtml#l00149">Window::validate()</a>.</p>
+<p>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&lt; int &gt;::num_max_dimensions</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
 
-<p>Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00397">NumPyBinLoader::access_tensor()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00601">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00482">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00816">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00649">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00419">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00758">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00918">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00875">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00312">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00962">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00343">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00698">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00546">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00374">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00936">arm_compute::utils::compare_tensor()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00424">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00318">PPMLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00739">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00405">PPMLoader::fill_planar_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00882">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00588">NPYLoader::fill_tensor()</a>, <a class="el" href="_le_net5_network_8h_source.xhtml#l00166">LeNet5Network&lt; TensorType, Accessor, ActivationLayerFunction, ConvolutionLayerFunction, FullyConnectedLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_mobile_net_network_8h_source.xhtml#l00175">MobileNetNetwork&lt; TensorType, Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionLayerFunction, ReshapeFunction, PoolingLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_mobile_net_v1_network_8h_source.xhtml#l00211">MobileNetV1Network&lt; TensorType, Accessor, ActivationLayerFunction, BatchNormalizationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionFunction, ReshapeFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_alex_net_network_8h_source.xhtml#l00431">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00835">arm_compute::utils::load_trained_data()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00080">CaffePreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00057">TFPreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00282">RandomAccessor::RandomAccessor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00763">arm_compute::utils::save_to_npy()</a>, and <a class="el" href="utils_2_utils_8h_source.xhtml#l00682">arm_compute::utils::save_to_ppm()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    w.validate();</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; Coordinates::num_max_dimensions; ++i)</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    {</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(w[i].step() == 0);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    }</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    Coordinates id;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    ForEachDimension&lt;Coordinates::num_max_dimensions&gt;::unroll(w, <span class="keywordtype">id</span>, std::forward&lt;L&gt;(lambda_function), std::forward&lt;Ts&gt;(iterators)...);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>Referenced by <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00601">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00482">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00816">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00649">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00419">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00758">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00918">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00875">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00312">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00962">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00343">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00698">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00546">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00374">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00740">arm_compute::utils::compare_tensor()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00424">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00177">IImageLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00735">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00257">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00686">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00357">NPYLoader::fill_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00639">arm_compute::utils::load_trained_data()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00083">CaffePreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00060">TFPreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00494">RandomAccessor::RandomAccessor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00576">arm_compute::utils::save_to_npy()</a>, and <a class="el" href="utils_2_utils_8h_source.xhtml#l00495">arm_compute::utils::save_to_ppm()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    w.validate();</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; Coordinates::num_max_dimensions; ++i)</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    {</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(w[i].step() == 0);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    }</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    Coordinates id;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    ForEachDimension&lt;Coordinates::num_max_dimensions&gt;::unroll(w, <span class="keywordtype">id</span>, std::forward&lt;L&gt;(lambda_function), std::forward&lt;Ts&gt;(iterators)...);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -13397,8 +12575,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>String with the floating point value. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01073">1073</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="l01074"></a><span class="lineno"> 1074</span>&#160;{</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;    ss.precision(std::numeric_limits&lt;float&gt;::digits10 + 1);</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;    ss &lt;&lt; val;</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;    <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01009">1009</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="l01010"></a><span class="lineno"> 1010</span>&#160;{</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;    ss.precision(std::numeric_limits&lt;float&gt;::digits10 + 1);</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;    ss &lt;&lt; val;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;    <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a6959e681668a37a9242d2aae4e8b4375"></a>
@@ -13446,8 +12624,8 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00078">78</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value &lt; 0 || divisor &lt;= 0);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value &lt; 0 || divisor &lt;= 0);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -13474,6 +12652,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
 
+<p>Referenced by <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00326">CLKernelLibrary::get_built_programs()</a>.</p>
+
 </div>
 </div>
 <a class="anchor" id="a4a351d5c39dec88af98a671da1c43fd6"></a>
@@ -13499,6 +12679,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>the GPU target which shows the arch </dd></dl>
 
+<p>Referenced by <a class="el" href="_tuners_8h_source.xhtml#l00040">TunerFactory::create_tuner()</a>.</p>
+
 </div>
 </div>
 <a class="anchor" id="ab04905b0c6c0e4091160561eae870101"></a>
@@ -13617,13 +12799,14 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The int conversion of the requested data layout index. </dd></dl>
 
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00340">340</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00326">326</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
 
-<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00294">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00128">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00161">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00329">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00231">arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00246">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00268">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="validation_2_n_e_o_n_2_scale_8cpp_source.xhtml#l00128">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_sub_tensor_info_8h_source.xhtml#l00130">SubTensorInfo::dimension()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00234">TensorInfo::dimension()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00405">PPMLoader::fill_planar_tensor()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00132">arm_compute::graph::backends::detail::validate_depthwise_convolution_layer()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;{</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(data_layout == DataLayout::UNKNOWN, <span class="stringliteral">&quot;Cannot retrieve the dimension index for an unknown layout!&quot;</span>);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="comment">/* Return the index based on the data layout</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="comment">     * [N C H W]</span></div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="comment">     * [3 2 1 0]</span></div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="comment">     * [N H W C]</span></div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="comment">    */</span></div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <span class="keywordflow">switch</span>(data_layout_dimension)</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    {</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;            <span class="keywordflow">return</span> (data_layout == DataLayout::NCHW) ? 2 : 0;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;            <span class="keywordflow">return</span> (data_layout == DataLayout::NCHW) ? 1 : 2;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;            <span class="keywordflow">return</span> (data_layout == DataLayout::NCHW) ? 0 : 1;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;            <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Data layout index not supported!&quot;</span>);</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    }</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;}</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#l00260">Error.h:260</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#l00319">Error.h:319</a></div></div>
+<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00341">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00169">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00202">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00376">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00039">arm_compute::misc::shape_calculator::compute_vector_to_tensor_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00272">arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00287">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00315">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="validation_2_n_e_o_n_2_scale_8cpp_source.xhtml#l00128">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_sub_tensor_info_8h_source.xhtml#l00124">SubTensorInfo::dimension()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00227">TensorInfo::dimension()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00257">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00683">get_normalization_dimension_index()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00083">CaffePreproccessor::preprocess()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00401">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;{</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::UNKNOWN, <span class="stringliteral">&quot;Cannot retrieve the dimension index for an unknown layout!&quot;</span>);</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <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>&#160;<span class="comment">     * [N C H W]</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="comment">     * [3 2 1 0]</span></div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="comment">     * [N H W C]</span></div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="comment">    */</span></div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    <span class="keywordflow">switch</span>(data_layout_dimension)</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    {</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW) ? 2 : 0;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW) ? 1 : 2;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;            <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW) ? 0 : 1;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;            <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Data layout index not supported!&quot;</span>);</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    }</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</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 -->
 </div>
 </div>
@@ -13652,6 +12835,56 @@
 
 </div>
 </div>
+<a class="anchor" id="ae76431f34048289454a9cb6dc66d7c6b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int arm_compute::get_normalization_dimension_index </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
+          <td class="paramname"><em>layout</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> &amp;&#160;</td>
+          <td class="paramname"><em>info</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculate the normalization dimension index for a given normalization type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">layout</td><td>Data layout of the input and output tensor </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Normalization info</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Normalization dimension index </dd></dl>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00683">683</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+
+<p>References <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00947">NormalizationLayerInfo::is_in_map()</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
+<div class="fragment"><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;{</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width_idx   = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(layout, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel_idx = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(layout, DataLayoutDimension::CHANNEL);</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_in_map() ? width_idx : channel_idx;</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a46e938020a3ac8c926d0590b7fe957db"><div class="ttname"><a href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">arm_compute::get_data_layout_dimension_index</a></div><div class="ttdeci">size_t get_data_layout_dimension_index(const DataLayout data_layout, const DataLayoutDimension data_layout_dimension)</div><div class="ttdoc">Get the index of the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00326">Helpers.inl:326</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
 <a class="anchor" id="a5e4254e9c71fffafb79b99d972df8f81"></a>
 <div class="memitem">
 <div class="memproto">
@@ -13684,10 +12917,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Promoted data type </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00517">517</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00511">511</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;{</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    {</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;            <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;            <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;        <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;            <span class="keywordflow">return</span> DataType::QS16;</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;        <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;            <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;        <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;            <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;            <span class="keywordflow">return</span> DataType::QS32;</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;        <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;        <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Unsupported data type promotions!&quot;</span>);</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined data type!&quot;</span>);</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    }</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;{</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    {</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;        <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;            <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;            <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;        <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;            <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;            <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;        <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;        <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Unsupported data type promotions!&quot;</span>);</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined data type!&quot;</span>);</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    }</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;    <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -13709,14 +12942,14 @@
 
 </div>
 </div>
-<a class="anchor" id="a9d0143bdde8255313aae6ac020dd629c"></a>
+<a class="anchor" id="a22bd4d0de8eb9d2989a9fe61b1003e70"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_target_from_device </td>
           <td>(</td>
-          <td class="paramtype">cl::Device &amp;&#160;</td>
+          <td class="paramtype">const cl::Device &amp;&#160;</td>
           <td class="paramname"><em>device</em></td><td>)</td>
           <td></td>
         </tr>
@@ -13732,7 +12965,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
 
-<p>Referenced by <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00123">CLScheduler::init()</a>.</p>
+<p>Referenced by <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00077">CLScheduler::init()</a>.</p>
 
 </div>
 </div>
@@ -13924,12 +13157,12 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled horizontaly. </dd></dl>
 
-<p>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>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00541">541</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
 <p>References <a class="el" href="namespacearm__compute.xhtml#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>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00688">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00715">calculate_subsampled_shape()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;{</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    <span class="keywordflow">return</span> (format == Format::YUYV422 || format == Format::UYVY422 || format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;}</div></div><!-- fragment -->
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00646">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00673">calculate_subsampled_shape()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;{</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <span class="keywordflow">return</span> (format == Format::YUYV422 || format == Format::UYVY422 || format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a95358b677c5c17f5cc1e369e4a27e2c2"></a>
@@ -13963,12 +13196,12 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled verticaly. </dd></dl>
 
-<p>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>
+<p>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>
 
 <p>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>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00688">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00715">calculate_subsampled_shape()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;{</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    <span class="keywordflow">return</span> (format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;}</div></div><!-- fragment -->
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00646">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00673">calculate_subsampled_shape()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;{</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    <span class="keywordflow">return</span> (format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a053a24bb37402fa4b4d8d5963976ba17"></a>
@@ -14053,13 +13286,13 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>n-dimensional coordinates. </dd></dl>
 
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00303">303</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00289">289</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00157">TensorShape::total_size()</a>.</p>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
 
-<p>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="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;{</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <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="l00306"></a><span class="lineno">  306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(index &lt; 0 || index &gt;= num_elements, <span class="stringliteral">&quot;Index has to be in [0, num_elements]!&quot;</span>);</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">&quot;Cannot create coordinate from empty shape!&quot;</span>);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    Coordinates coord{ 0 };</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <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 &gt;= 0; --d)</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    {</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        num_elements /= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        coord.set(d, index / num_elements);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        index %= num_elements;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    }</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    <span class="keywordflow">return</span> coord;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00319">Error.h:319</a></div></div>
+<p>Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="_window_iterator_8cpp_source.xhtml#l00064">DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;{</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <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>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(index &lt; 0 || index &gt;= num_elements, <span class="stringliteral">&quot;Index has to be in [0, num_elements]!&quot;</span>);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">&quot;Cannot create coordinate from empty shape!&quot;</span>);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    Coordinates coord{ 0 };</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <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 &gt;= 0; --d)</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    {</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        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>&#160;        coord.set(d, index / num_elements);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        index %= num_elements;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    }</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="keywordflow">return</span> coord;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_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 -->
 </div>
 </div>
@@ -14088,52 +13321,11 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00469">469</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00278">ValidRegion::anchor</a>, <a class="el" href="_utility_8h_source.xhtml#l00113">arm_compute::utility::foldl()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::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#l00279">ValidRegion::shape</a>.</p>
-<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;{</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    <span class="keyword">auto</span> intersect = [](<span class="keyword">const</span> ValidRegion &amp; r1, <span class="keyword">const</span> ValidRegion &amp; r2) -&gt; ValidRegion</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    {</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        ValidRegion region;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d &lt; <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        {</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;            region.anchor.set(d, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(r1.anchor[d], r2.anchor[d]));</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        }</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d &lt; <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        {</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;            region.shape.set(d, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape[d], r2.shape[d]));</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        }</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        <span class="keywordflow">return</span> region;</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    };</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a043270c1f50c73bf9f91fcc4570ccf0c">utility::foldl</a>(intersect, regions...);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></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 &amp;&amp; foldl(F &amp;&amp;, T &amp;&amp;value)</div><div class="ttdoc">Base case of foldl. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00113">Utility.h:113</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00276">ValidRegion::anchor</a>, <a class="el" href="_utility_8h_source.xhtml#l00113">arm_compute::utility::foldl()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::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#l00277">ValidRegion::shape</a>.</p>
+<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;{</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    <span class="keyword">auto</span> intersect = [](<span class="keyword">const</span> ValidRegion &amp; r1, <span class="keyword">const</span> ValidRegion &amp; r2) -&gt; ValidRegion</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    {</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        ValidRegion region;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d &lt; std::min(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        {</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;            region.anchor.set(d, std::max(r1.anchor[d], r2.anchor[d]));</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        }</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d &lt; std::min(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        {</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;            region.shape.set(d, std::min(r1.shape[d], r2.shape[d]));</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        }</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        <span class="keywordflow">return</span> region;</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    };</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a043270c1f50c73bf9f91fcc4570ccf0c">utility::foldl</a>(intersect, regions...);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;}</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 &amp;&amp; foldl(F &amp;&amp;, T &amp;&amp;value)</div><div class="ttdoc">Base case of foldl. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00113">Utility.h:113</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
-<a class="anchor" id="ab6bb62694ae8369d18a9c9687040975e"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool arm_compute::is_data_type_fixed_point </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</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 fixed point 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 fixed point type, else false. </dd></dl>
-
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01037">1037</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
-
-<p>Referenced by <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00114">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_fixed_point()</a>, and <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00140">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;{</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;    {</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;        <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;        <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;        <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;    }</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
 <a class="anchor" id="af5982a092e9eb743fce2d6392bdd8897"></a>
 <div class="memitem">
 <div class="memproto">
@@ -14165,10 +13357,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if data type is of floating point type, else false. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00997">997</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00955">955</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
 <p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
-<div class="fragment"><div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;{</div><div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;    {</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;    }</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;{</div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;    {</div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;    }</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a0bee325b210f81bb89fe1f9e15badf9c"></a>
@@ -14203,10 +13395,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if data type is of quantized type, else false. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01017">1017</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00975">975</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
-<div class="fragment"><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;{</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;    {</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;        <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;        <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;        <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;    }</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;}</div></div><!-- fragment -->
+<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
+<div class="fragment"><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;{</div><div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;    {</div><div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;    }</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a14f46283f316e7f0fad301d5c1507e9f"></a>
@@ -14240,12 +13432,12 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if data type is of symmetric quantized type, else false. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01056">1056</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00992">992</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
 <p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
 
-<p>Referenced by <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00154">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00627">error_on_mismatching_quantization_info()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00085">arm_compute::test::validation::reference::im2col_nhwc()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00292">set_quantization_info_if_empty()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00067">arm_compute::graph::backends::detail::validate_convolution_layer()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;{</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;    {</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;    }</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;}</div></div><!-- fragment -->
+<p>Referenced by <a class="el" href="_function_helpers_8h_source.xhtml#l00252">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00373">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00159">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_quantization_info()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00093">arm_compute::test::validation::reference::im2col_nhwc()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00139">arm_compute::test::validation::reference::im2col_nhwc_channel_first()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00278">set_quantization_info_if_empty()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00090">arm_compute::graph::backends::detail::validate_convolution_layer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;{</div><div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;    <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;    {</div><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;    }</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a532fb45c0261724a4c2e755cfd3a44e6"></a>
@@ -14271,7 +13463,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>, and <a class="el" href="_graph_utils_8h_source.xhtml#l00394">arm_compute::graph_utils::get_input_accessor()</a>.</p>
 
 </div>
 </div>
@@ -14323,7 +13515,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01123">max_consecutive_elements_display_width_impl()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01059">max_consecutive_elements_display_width_impl()</a>.</p>
 
 </div>
 </div>
@@ -14368,10 +13560,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01123">1123</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01059">1059</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
 <p>References <a class="el" href="namespacearm__compute.xhtml#ac3f2de3a35ff8d9a47b5b793637784e7">max_consecutive_elements_display_width()</a>, and <a class="el" href="namespacearm__compute.xhtml#a51a0d2ae440bc8cab3fbbe84bfea8b1d">print_consecutive_elements()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;{</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;    <span class="keyword">using</span> print_type = <span class="keyword">typename</span> std::conditional&lt;std::is_floating_point&lt;T&gt;::value, T, <span class="keywordtype">int</span>&gt;::type;</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;    <span class="keywordtype">int</span> max_width = -1;</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;    {</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;        std::stringstream ss;</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;        ss.copyfmt(s);</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;        <span class="keywordflow">if</span>(std::is_same&lt;<span class="keyword">typename</span> std::decay&lt;T&gt;::type, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>&gt;::value)</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;        {</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;            <span class="comment">// We use T instead of print_type here is because the std::is_floating_point&lt;half&gt; returns false and then the print_type becomes int.</span></div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;            ss &lt;&lt; static_cast&lt;T&gt;(ptr[i]);</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;        }</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;        {</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;            ss &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]);</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;        }</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;        max_width = std::max&lt;int&gt;(max_width, ss.str().size());</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;    }</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;    <span class="keywordflow">return</span> max_width;</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;}</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="fragment"><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;{</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;    <span class="keyword">using</span> print_type = <span class="keyword">typename</span> std::conditional&lt;std::is_floating_point&lt;T&gt;::value, T, <span class="keywordtype">int</span>&gt;::type;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    <span class="keywordtype">int</span> max_width = -1;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;    {</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;        std::stringstream ss;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;        ss.copyfmt(s);</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;        <span class="keywordflow">if</span>(std::is_same&lt;<span class="keyword">typename</span> std::decay&lt;T&gt;::type, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>&gt;::value)</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;        {</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;            <span class="comment">// We use T instead of print_type here is because the std::is_floating_point&lt;half&gt; returns false and then the print_type becomes int.</span></div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;            ss &lt;&lt; static_cast&lt;T&gt;(ptr[i]);</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;        }</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;        {</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;            ss &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]);</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;        }</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;        max_width = std::max&lt;int&gt;(max_width, ss.str().size());</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;    }</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;    <span class="keywordflow">return</span> max_width;</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a73e2825fd61d349c5ca2f5313e3c8ea1"><div class="ttname"><a href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">arm_compute::half</a></div><div class="ttdeci">half_float::half half</div><div class="ttdoc">16-bit floating point type </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00044">Types.h:44</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -14406,10 +13598,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00476">476</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00470">470</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
 <p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
-<div class="fragment"><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;{</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    {</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;            <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;        <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    }</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;{</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    {</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;            <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    }</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a2a71659def659c8b1c164023a99a25a9"></a>
@@ -14443,10 +13635,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00442">442</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00436">436</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
-<div class="fragment"><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;{</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    {</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;            <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    }</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>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>
+<div class="fragment"><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;{</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    {</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;            <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    }</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -14466,7 +13658,7 @@
 <p>Check if OpenCL is available. </p>
 <dl class="section return"><dt>Returns</dt><dd>True if OpenCL is available. </dd></dl>
 
-<p>Referenced by <a class="el" href="main_8cpp_source.xhtml#l00063">main()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00736">arm_compute::test::sync_if_necessary()</a>.</p>
+<p>Referenced by <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, <a class="el" href="_framework_8cpp_source.xhtml#l00508">Framework::run()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00819">arm_compute::test::sync_if_necessary()</a>.</p>
 
 </div>
 </div>
@@ -14486,7 +13678,7 @@
 <p>Check if the OpenGL ES 3.1 API is available at runtime. </p>
 <dl class="section return"><dt>Returns</dt><dd>true if the OpenGL ES 3.1 API is available. </dd></dl>
 
-<p>Referenced by <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00148">NDRange::get()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00753">arm_compute::test::sync_tensor_if_necessary()</a>.</p>
+<p>Referenced by <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00148">NDRange::get()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00836">arm_compute::test::sync_tensor_if_necessary()</a>.</p>
 
 </div>
 </div>
@@ -14536,6 +13728,47 @@
 <div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;{</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="keywordflow">return</span> !(lhs == rhs);</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
+<a class="anchor" id="af3985189d478b45014e7dead9d002e2a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::ostream &amp;&#160;</td>
+          <td class="paramname"><em>os</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> &amp;&#160;</td>
+          <td class="paramname"><em>dim</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the GradientDimension type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p>Definition at line <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00038">38</a> of file <a class="el" href="tests_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>.</p>
+<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keywordflow">switch</span>(dim)</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    {</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keywordflow">case</span> GradientDimension::GRAD_X:</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GRAD_X&quot;</span>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keywordflow">case</span> GradientDimension::GRAD_Y:</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GRAD_Y&quot;</span>;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keywordflow">case</span> GradientDimension::GRAD_XY:</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GRAD_XY&quot;</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    }</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
 <a class="anchor" id="a18d43401e8f84ed020429b41ec4e99f5"></a>
 <div class="memitem">
 <div class="memproto">
@@ -14570,8 +13803,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00053">53</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordflow">if</span>(dimensions.num_dimensions() &gt; 0)</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    {</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        os &lt;&lt; dimensions[0];</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 1; d &lt; dimensions.num_dimensions(); ++d)</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        {</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; dimensions[d];</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        }</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    }</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00070">70</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;{</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordflow">if</span>(dimensions.num_dimensions() &gt; 0)</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    {</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        os &lt;&lt; dimensions[0];</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 1; d &lt; dimensions.num_dimensions(); ++d)</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        {</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; dimensions[d];</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    }</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="ae8c2a3451bcf739a75aa7438e7a78d45"></a>
@@ -14608,10 +13841,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00075">75</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00092">92</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;{</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordflow">switch</span>(<span class="keyword">function</span>)</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    {</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <span class="keywordflow">case</span> NonLinearFilterFunction::MAX:</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keywordflow">case</span> NonLinearFilterFunction::MEDIAN:</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MEDIAN&quot;</span>;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keywordflow">case</span> NonLinearFilterFunction::MIN:</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MIN&quot;</span>;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    }</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;{</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">switch</span>(<span class="keyword">function</span>)</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    {</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordflow">case</span> NonLinearFilterFunction::MAX:</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="keywordflow">case</span> NonLinearFilterFunction::MEDIAN:</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MEDIAN&quot;</span>;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <span class="keywordflow">case</span> NonLinearFilterFunction::MIN:</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MIN&quot;</span>;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    }</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -14649,10 +13882,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00115">115</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00132">132</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, and <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>.</p>
-<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordflow">switch</span>(pattern)</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    {</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">case</span> MatrixPattern::BOX:</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;BOX&quot;</span>;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keywordflow">case</span> MatrixPattern::CROSS:</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;CROSS&quot;</span>;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="keywordflow">case</span> MatrixPattern::DISK:</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;DISK&quot;</span>;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keywordflow">case</span> MatrixPattern::OTHER:</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;OTHER&quot;</span>;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    }</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, and <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>.</p>
+<div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;{</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">switch</span>(pattern)</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    {</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="keywordflow">case</span> MatrixPattern::BOX:</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;BOX&quot;</span>;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keywordflow">case</span> MatrixPattern::CROSS:</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;CROSS&quot;</span>;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keywordflow">case</span> MatrixPattern::DISK:</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;DISK&quot;</span>;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <span class="keywordflow">case</span> MatrixPattern::OTHER:</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;OTHER&quot;</span>;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    }</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -14690,11 +13923,11 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00158">158</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00175">175</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, and <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>.</p>
-<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;{</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <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="l00161"></a><span class="lineno">  161</span>&#160;    {</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TO_ZERO&quot;</span>;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_UP&quot;</span>;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_EVEN:</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_EVEN&quot;</span>;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    }</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;}</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#l00260">Error.h:260</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#l00178">PixelWiseMultiplication.cpp:178</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, and <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>.</p>
+<div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;{</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <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>&#160;    {</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TO_ZERO&quot;</span>;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_UP&quot;</span>;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_EVEN:</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_EVEN&quot;</span>;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    }</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a60ad1078faeaf3f59266d69ad937339f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">arm_compute::test::validation::rounding_policy</a></div><div class="ttdeci">rounding_policy</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">PixelWiseMultiplication.cpp:168</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -14732,10 +13965,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00185">185</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00202">202</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00967">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00983">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00975">WeightsInfo::num_kernels()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;{</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.are_reshaped() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.num_kernels() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().second;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7cb842ebfe255726066039853a4322f0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">arm_compute::test::validation::weights_info</a></div><div class="ttdeci">weights_info</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00360">Winograd.cpp:360</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00998">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01014">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01006">WeightsInfo::num_kernels()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;{</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.are_reshaped() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.num_kernels() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().second;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7cb842ebfe255726066039853a4322f0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">arm_compute::test::validation::weights_info</a></div><div class="ttdeci">weights_info</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00572">Winograd.cpp:572</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -14773,10 +14006,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00200">200</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00217">217</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00792">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00787">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00797">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;{</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    os &lt;&lt; pool_info.pooled_width() &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; pool_info.pooled_height() &lt;&lt; <span class="stringliteral">&quot;~&quot;</span> &lt;&lt; pool_info.spatial_scale();</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;}</div></div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00822">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00817">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00827">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;{</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    os &lt;&lt; pool_info.pooled_width() &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; pool_info.pooled_height() &lt;&lt; <span class="stringliteral">&quot;~&quot;</span> &lt;&lt; pool_info.spatial_scale();</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a32a5556a927543fe57c0d7b82c20e9b4"></a>
@@ -14813,53 +14046,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00213">213</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00230">230</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00168">QuantizationInfo::offset</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00167">QuantizationInfo::scale</a>.</p>
-<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;{</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;Scale:&quot;</span> &lt;&lt; quantization_info.scale &lt;&lt; <span class="stringliteral">&quot;~&quot;</span></div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;Offset:&quot;</span> &lt;&lt; quantization_info.offset;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a2abb76fe917828983d666628badab08d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
-          <td>(</td>
-          <td class="paramtype">::std::ostream &amp;&#160;</td>
-          <td class="paramname"><em>os</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;&#160;</td>
-          <td class="paramname"><em>op</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Formatted output of the FixedPointOp type. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00240">240</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p>References <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d">ADD</a>, <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>, and <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb">SUB</a>.</p>
-<div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;{</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    {</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        <span class="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">FixedPointOp::ADD</a>:</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;ADD&quot;</span>;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        <span class="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">FixedPointOp::SUB</a>:</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SUB&quot;</span>;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        <span class="keywordflow">case</span> FixedPointOp::MUL:</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MUL&quot;</span>;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keywordflow">case</span> FixedPointOp::EXP:</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;EXP&quot;</span>;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        <span class="keywordflow">case</span> FixedPointOp::LOG:</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;LOG&quot;</span>;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        <span class="keywordflow">case</span> FixedPointOp::INV_SQRT:</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;INV_SQRT&quot;</span>;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keywordflow">case</span> FixedPointOp::RECIPROCAL:</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;RECIPROCAL&quot;</span>;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    }</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;}</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#l00260">Error.h:260</a></div></div>
-<div class="ttc" id="arithmetic__op_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00034">arithmetic_op.cl:34</a></div></div>
-<div class="ttc" id="arithmetic__op_8cl_xhtml_aafc2c4f262a0686c07f86c7d2e1d8d14"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a></div><div class="ttdeci">#define SUB(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00035">arithmetic_op.cl:35</a></div></div>
-</div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00166">QuantizationInfo::offset</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00165">QuantizationInfo::scale</a>.</p>
+<div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;{</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;Scale:&quot;</span> &lt;&lt; quantization_info.scale &lt;&lt; <span class="stringliteral">&quot;~&quot;</span></div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;Offset:&quot;</span> &lt;&lt; quantization_info.offset;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a9d79efe2673aeb3f9a9160b6a78de50c"></a>
@@ -14896,10 +14086,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00292">292</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00257">257</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa7d8a220d2262f9d6c658d549ee12cf2c">ActivationLayerInfo::ABS</a>, <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaacc516ab03b98f1c908ddf6ed4a7c45e9">ActivationLayerInfo::BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaac7e80a3de04936f4e423e1b564fdca10">ActivationLayerInfo::LEAKY_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaaac544aacc3615aada24897a215f5046">ActivationLayerInfo::LINEAR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa72ee60fba0509af07cbbd91398d8db9d">ActivationLayerInfo::LOGISTIC</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaab1d4411a9e7f5e82002512cddfdc33a">ActivationLayerInfo::LU_BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaad346bb4679d29be241279f15d7795c1c">ActivationLayerInfo::RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaadcc44a50c791a591c74e00ecdda7c58d">ActivationLayerInfo::SOFT_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa36875f2500a09ee35d0bb7eb8c0b91b0">ActivationLayerInfo::SQRT</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa12dec4e1f7ec620651b2b95c440ffac0">ActivationLayerInfo::SQUARE</a>, and <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa143c8c6f51b9bb893ce71e38702e3cc1">ActivationLayerInfo::TANH</a>.</p>
-<div class="fragment"><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;{</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="keywordflow">switch</span>(act_function)</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    {</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;ABS&quot;</span>;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;LINEAR&quot;</span>;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;LOGISTIC&quot;</span>;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;RELU&quot;</span>;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;LEAKY_RELU&quot;</span>;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SOFT_RELU&quot;</span>;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SQRT&quot;</span>;</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;LU_BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SQUARE&quot;</span>;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TANH&quot;</span>;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    }</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa7d8a220d2262f9d6c658d549ee12cf2c">ActivationLayerInfo::ABS</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaacc516ab03b98f1c908ddf6ed4a7c45e9">ActivationLayerInfo::BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaac7e80a3de04936f4e423e1b564fdca10">ActivationLayerInfo::LEAKY_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaaac544aacc3615aada24897a215f5046">ActivationLayerInfo::LINEAR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa72ee60fba0509af07cbbd91398d8db9d">ActivationLayerInfo::LOGISTIC</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaab1d4411a9e7f5e82002512cddfdc33a">ActivationLayerInfo::LU_BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaad346bb4679d29be241279f15d7795c1c">ActivationLayerInfo::RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaadcc44a50c791a591c74e00ecdda7c58d">ActivationLayerInfo::SOFT_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa36875f2500a09ee35d0bb7eb8c0b91b0">ActivationLayerInfo::SQRT</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa12dec4e1f7ec620651b2b95c440ffac0">ActivationLayerInfo::SQUARE</a>, and <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa143c8c6f51b9bb893ce71e38702e3cc1">ActivationLayerInfo::TANH</a>.</p>
+<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;{</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keywordflow">switch</span>(act_function)</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    {</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;ABS&quot;</span>;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;LINEAR&quot;</span>;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;LOGISTIC&quot;</span>;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;RELU&quot;</span>;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;LEAKY_RELU&quot;</span>;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SOFT_RELU&quot;</span>;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SQRT&quot;</span>;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;LU_BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SQUARE&quot;</span>;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TANH&quot;</span>;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    }</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -14937,10 +14127,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00372">372</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00337">337</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, and <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>.</p>
-<div class="fragment"><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;{</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    {</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;        <span class="keywordflow">case</span> NormType::CROSS_MAP:</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;CROSS_MAP&quot;</span>;</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_1D&quot;</span>;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_2D&quot;</span>;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    }</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, and <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>.</p>
+<div class="fragment"><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    {</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        <span class="keywordflow">case</span> NormType::CROSS_MAP:</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;CROSS_MAP&quot;</span>;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_1D&quot;</span>;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_2D&quot;</span>;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    }</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -14978,10 +14168,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00412">412</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00377">377</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00892">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00887">NormalizationLayerInfo::type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;{</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.type() &lt;&lt; <span class="stringliteral">&quot;:NormSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.norm_size();</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00922">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00917">NormalizationLayerInfo::type()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;{</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.type() &lt;&lt; <span class="stringliteral">&quot;:NormSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.norm_size();</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15019,10 +14209,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00425">425</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00390">390</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>.</p>
-<div class="fragment"><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;{</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keywordflow">switch</span>(pool_type)</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    {</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        <span class="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;AVG&quot;</span>;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        <span class="keywordflow">case</span> PoolingType::MAX:</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L2&quot;</span>;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    }</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>.</p>
+<div class="fragment"><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;{</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="keywordflow">switch</span>(pool_type)</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    {</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;AVG&quot;</span>;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        <span class="keywordflow">case</span> PoolingType::MAX:</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L2&quot;</span>;</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    }</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15060,10 +14250,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00452">452</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00417">417</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00739">PoolingLayerInfo::pool_type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;{</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PoolingLayerInfo::pool_type()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;{</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15101,10 +14291,52 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00479">479</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00444">444</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;{</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    <span class="keywordflow">switch</span>(data_layout)</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    {</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        <span class="keywordflow">case</span> DataLayout::UNKNOWN:</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        <span class="keywordflow">case</span> DataLayout::NHWC:</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NHWC&quot;</span>;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        <span class="keywordflow">case</span> DataLayout::NCHW:</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NCHW&quot;</span>;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    }</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;{</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a>)</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    {</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        <span class="keywordflow">case</span> DataLayout::UNKNOWN:</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        <span class="keywordflow">case</span> DataLayout::NHWC:</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NHWC&quot;</span>;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        <span class="keywordflow">case</span> DataLayout::NCHW:</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NCHW&quot;</span>;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    }</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="adec19acb64bfca26fa53ef76f03b79ef"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::ostream &amp;&#160;</td>
+          <td class="paramname"><em>os</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a> &amp;&#160;</td>
+          <td class="paramname"><em>data_layout_dim</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the DataLayoutDimension type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">data_layout_dim</td><td>Data layout dimension to print.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00484">484</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
+<div class="fragment"><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;{</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <span class="keywordflow">switch</span>(data_layout_dim)</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    {</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;WIDTH&quot;</span>;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;HEIGHT&quot;</span>;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;CHANNEL&quot;</span>;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;        <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;BATCHES&quot;</span>;</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    }</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15142,11 +14374,11 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00519">519</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00513">513</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;{</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    {</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        <span class="keywordflow">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;        <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;        <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;QS8&quot;</span>;</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;QASYMM8&quot;</span>;</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;        <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S8&quot;</span>;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;        <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;QS16&quot;</span>;</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;        <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U64&quot;</span>;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S64&quot;</span>;</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;        <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F64&quot;</span>;</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;        <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SIZET&quot;</span>;</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    }</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;}</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#l00260">Error.h:260</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;{</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    {</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        <span class="keywordflow">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;QASYMM8&quot;</span>;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;        <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S8&quot;</span>;</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;        <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;        <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U64&quot;</span>;</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;        <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S64&quot;</span>;</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;        <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F64&quot;</span>;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SIZET&quot;</span>;</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    }</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15184,10 +14416,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00598">598</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>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>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
-<div class="fragment"><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;{</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    {</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;        <span class="keywordflow">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UV88&quot;</span>;</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;RGB888&quot;</span>;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;RGBA8888&quot;</span>;</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;YUV444&quot;</span>;</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;YUYV422&quot;</span>;</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NV12&quot;</span>;</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NV21&quot;</span>;</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;IYUV&quot;</span>;</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UYVY422&quot;</span>;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;    }</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
+<div class="fragment"><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;{</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    {</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;        <span class="keywordflow">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UV88&quot;</span>;</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;RGB888&quot;</span>;</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;RGBA8888&quot;</span>;</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;YUV444&quot;</span>;</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;YUYV422&quot;</span>;</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NV12&quot;</span>;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NV21&quot;</span>;</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;IYUV&quot;</span>;</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UYVY422&quot;</span>;</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    }</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15225,10 +14457,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>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>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00668">668</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>.</p>
-<div class="fragment"><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;{</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;    {</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        <span class="keywordflow">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;C0&quot;</span>;</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;        <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;C1&quot;</span>;</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;        <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;C2&quot;</span>;</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;        <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;C3&quot;</span>;</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;        <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;R&quot;</span>;</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;        <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G&quot;</span>;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;        <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;B&quot;</span>;</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;        <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;A&quot;</span>;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;        <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;Y&quot;</span>;</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;        <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U&quot;</span>;</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;        <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;V&quot;</span>;</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;    }</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>.</p>
+<div class="fragment"><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;{</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;    {</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;        <span class="keywordflow">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;C0&quot;</span>;</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;        <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;C1&quot;</span>;</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;        <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;C2&quot;</span>;</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;C3&quot;</span>;</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;R&quot;</span>;</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;        <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G&quot;</span>;</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;        <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;B&quot;</span>;</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;        <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;A&quot;</span>;</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;        <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;Y&quot;</span>;</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;        <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;U&quot;</span>;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;        <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;V&quot;</span>;</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    }</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15266,10 +14498,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00747">747</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00735">735</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
-<div class="fragment"><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;{</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;    <span class="keywordflow">switch</span>(mode)</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;    {</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;        <span class="keywordflow">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNDEFINED&quot;</span>;</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;        <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;CONSTANT&quot;</span>;</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;REPLICATE&quot;</span>;</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;    }</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
+<div class="fragment"><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;{</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    <span class="keywordflow">switch</span>(mode)</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;    {</div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;        <span class="keywordflow">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNDEFINED&quot;</span>;</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;CONSTANT&quot;</span>;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;REPLICATE&quot;</span>;</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;    }</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15307,10 +14539,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00774">774</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>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>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00373">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00374">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00372">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00371">BorderSize::top</a>.</p>
-<div class="fragment"><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;{</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    os &lt;&lt; border.top &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;       &lt;&lt; border.right &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;       &lt;&lt; border.bottom &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;       &lt;&lt; border.left;</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;}</div></div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00371">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00372">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00370">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00369">BorderSize::top</a>.</p>
+<div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;{</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    os &lt;&lt; border.top &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;       &lt;&lt; border.right &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;       &lt;&lt; border.bottom &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;       &lt;&lt; border.left;</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a509047aefc691398f1bb60b1f967a98b"></a>
@@ -15347,10 +14579,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00791">791</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00779">779</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, and <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>.</p>
-<div class="fragment"><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;{</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;    <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    {</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;        <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NEAREST_NEIGHBOR&quot;</span>;</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;        <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;BILINEAR&quot;</span>;</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;        <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;AREA&quot;</span>;</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;    }</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, and <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>.</p>
+<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;{</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;    <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    {</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;        <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;NEAREST_NEIGHBOR&quot;</span>;</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;BILINEAR&quot;</span>;</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;        <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;AREA&quot;</span>;</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    }</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15388,13 +14620,216 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00818">818</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00806">806</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, and <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>.</p>
-<div class="fragment"><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;{</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;    <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;    {</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;        <span class="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;CENTER&quot;</span>;</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;        <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TOP_LEFT&quot;</span>;</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    }</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, and <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>.</p>
+<div class="fragment"><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;{</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;    {</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;        <span class="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;CENTER&quot;</span>;</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;        <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TOP_LEFT&quot;</span>;</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;    }</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
+<a class="anchor" id="ab398837465010958bfccff032ad1ee51"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::ostream &amp;&#160;</td>
+          <td class="paramname"><em>os</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
+          <td class="paramname"><em>info</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_info.xhtml" title="Store the tensor&#39;s metadata. ">TensorInfo</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00830">830</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="_tensor_info_8h_source.xhtml#l00256">TensorInfo::data_type()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00248">TensorInfo::num_channels()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00252">TensorInfo::tensor_shape()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;{</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{Shape=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;Type=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;Channels=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_channels() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a0fc75dce8064a37effa5e71344b6a5d2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::ostream &amp;&#160;</td>
+          <td class="paramname"><em>os</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;&#160;</td>
+          <td class="paramname"><em>info</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00910">910</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01084">GEMMReshapeInfo::k()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01068">GEMMReshapeInfo::m()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01100">GEMMReshapeInfo::mult_interleave4x4_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01092">GEMMReshapeInfo::mult_transpose1xW_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01076">GEMMReshapeInfo::n()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;{</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{m=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.m() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;n=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.n() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;k=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.k() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;mult_transpose1xW_width=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.mult_transpose1xW_width() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;mult_interleave4x4_height=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.mult_interleave4x4_height();</div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;</div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a5fdae5de2d2cf2e7957f0299d17ce5ec"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::ostream &amp;&#160;</td>
+          <td class="paramname"><em>os</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;&#160;</td>
+          <td class="paramname"><em>info</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p>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>
+
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01167">GEMMInfo::is_a_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01175">GEMMInfo::is_b_reshaped()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01185">GEMMInfo::reshape_b_only_on_first_run()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;{</div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{is_a_reshaped=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_a_reshaped() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;is_b_reshaped=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_b_reshaped() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;reshape_b_only_on_first_run=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.reshape_b_only_on_first_run() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;</div><div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a6ed8dc0f587448d14a1a33cbd5fc4f70"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::ostream &amp;&#160;</td>
+          <td class="paramname"><em>os</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;&#160;</td>
+          <td class="paramname"><em>dim</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image&#39;s dimensions with a start, end and step. ">Window::Dimension</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00946">946</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, and <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;{</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{start=&quot;</span> &lt;&lt; dim.start() &lt;&lt; <span class="stringliteral">&quot;, end=&quot;</span> &lt;&lt; dim.end() &lt;&lt; <span class="stringliteral">&quot;, step=&quot;</span> &lt;&lt; dim.step() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="afc6e49991e36423027a467eab1e405b2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::ostream &amp;&#160;</td>
+          <td class="paramname"><em>os</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
+          <td class="paramname"><em>win</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00959">959</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>.</p>
+<div class="fragment"><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;{</div><div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; Coordinates::num_max_dimensions; i++)</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;    {</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;        <span class="keywordflow">if</span>(i &gt; 0)</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;        {</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;        }</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        os &lt;&lt; win[i];</div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;    }</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
 <a class="anchor" id="a17881750c427aedd95deba46a4366ace"></a>
 <div class="memitem">
 <div class="memproto">
@@ -15429,10 +14864,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>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>
+<p>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>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00455">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00454">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00452">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00453">Rectangle::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;{</div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;    os &lt;&lt; rect.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; rect.height;</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; rect.x &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; rect.y;</div><div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;</div><div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;}</div></div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00453">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00452">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00450">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00451">Rectangle::y</a>.</p>
+<div class="fragment"><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;{</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;    os &lt;&lt; rect.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; rect.height;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; rect.x &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; rect.y;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a8af36ae3a3613112c3a95e57f606359a"></a>
@@ -15469,10 +14904,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00926">926</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01061">1061</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00660">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00645">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00650">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00655">PadStrideInfo::pad_top()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00619">PadStrideInfo::stride()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;{</div><div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;    os &lt;&lt; pad_stride_info.stride().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.stride().second;</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div><div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;    os &lt;&lt; pad_stride_info.pad_left() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.pad_right() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;       &lt;&lt; pad_stride_info.pad_top() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.pad_bottom();</div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;</div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;}</div></div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00658">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00643">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00648">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00653">PadStrideInfo::pad_top()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00617">PadStrideInfo::stride()</a>.</p>
+<div class="fragment"><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;{</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    os &lt;&lt; pad_stride_info.stride().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.stride().second;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;    os &lt;&lt; pad_stride_info.pad_left() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.pad_right() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;       &lt;&lt; pad_stride_info.pad_top() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.pad_bottom();</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a4287c6842a60e5f6bf309e55f8813527"></a>
@@ -15509,10 +14944,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01008">1008</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01143">1143</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>.</p>
-<div class="fragment"><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;{</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;    <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;    {</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;        <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;WRAP&quot;</span>;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;        <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SATURATE&quot;</span>;</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;    }</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>.</p>
+<div class="fragment"><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;{</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;    <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;    {</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;        <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;WRAP&quot;</span>;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;        <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SATURATE&quot;</span>;</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;    }</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15550,10 +14985,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01039">1039</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01174">1174</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
-<div class="fragment"><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;{</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;    <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;    {</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;        <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SUM_SQUARE&quot;</span>;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;    }</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
+<div class="fragment"><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;{</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;    <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;    {</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;        <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SUM_SQUARE&quot;</span>;</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;    }</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15591,10 +15026,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01120">1120</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01255">1255</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00443">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00441">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00440">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00439">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00442">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00437">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00438">KeyPoint::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;{</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{x=&quot;</span> &lt;&lt; point.x &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;y=&quot;</span> &lt;&lt; point.y &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;strength=&quot;</span> &lt;&lt; point.strength &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;scale=&quot;</span> &lt;&lt; point.scale &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;orientation=&quot;</span> &lt;&lt; point.orientation &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;tracking_status=&quot;</span> &lt;&lt; point.tracking_status &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;error=&quot;</span> &lt;&lt; point.error &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;}</div></div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00441">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00439">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00438">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00437">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00440">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00435">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00436">KeyPoint::y</a>.</p>
+<div class="fragment"><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;{</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{x=&quot;</span> &lt;&lt; point.x &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;y=&quot;</span> &lt;&lt; point.y &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;strength=&quot;</span> &lt;&lt; point.strength &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;scale=&quot;</span> &lt;&lt; point.scale &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;orientation=&quot;</span> &lt;&lt; point.orientation &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;tracking_status=&quot;</span> &lt;&lt; point.tracking_status &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;error=&quot;</span> &lt;&lt; point.error &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="abe52a76af2aa88876d54ce8a5969e509"></a>
@@ -15631,10 +15066,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01140">1140</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01275">1275</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, and <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>.</p>
-<div class="fragment"><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;{</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;    <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;    {</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;        <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SIGNED&quot;</span>;</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;        <span class="keywordflow">case</span> PhaseType::UNSIGNED:</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNSIGNED&quot;</span>;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;    }</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, and <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>.</p>
+<div class="fragment"><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;{</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;    <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;    {</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;        <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;SIGNED&quot;</span>;</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;        <span class="keywordflow">case</span> PhaseType::UNSIGNED:</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;UNSIGNED&quot;</span>;</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;    }</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15672,51 +15107,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01177">1177</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01312">1312</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, and <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>.</p>
-<div class="fragment"><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;{</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;    <span class="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;    {</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;        <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L1NORM&quot;</span>;</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;        <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L2NORM&quot;</span>;</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;    }</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;}</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#l00260">Error.h:260</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="af3985189d478b45014e7dead9d002e2a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
-          <td>(</td>
-          <td class="paramtype">::std::ostream &amp;&#160;</td>
-          <td class="paramname"><em>os</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> &amp;&#160;</td>
-          <td class="paramname"><em>dim</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Formatted output of the GradientDimension type. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
-
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01214">1214</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>.</p>
-<div class="fragment"><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;{</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;    <span class="keywordflow">switch</span>(dim)</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;    {</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;        <span class="keywordflow">case</span> GradientDimension::GRAD_X:</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GRAD_X&quot;</span>;</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;        <span class="keywordflow">case</span> GradientDimension::GRAD_Y:</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GRAD_Y&quot;</span>;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;        <span class="keywordflow">case</span> GradientDimension::GRAD_XY:</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GRAD_XY&quot;</span>;</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;    }</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, and <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>.</p>
+<div class="fragment"><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;{</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;    <span class="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;    {</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;        <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L1NORM&quot;</span>;</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;        <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L2NORM&quot;</span>;</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;    }</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15754,10 +15148,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01254">1254</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01349">1349</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>, and <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>.</p>
-<div class="fragment"><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;{</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;    <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;    {</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;        <span class="keywordflow">case</span> HOGNormType::L1_NORM:</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L1_NORM&quot;</span>;</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;        <span class="keywordflow">case</span> HOGNormType::L2_NORM:</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L2_NORM&quot;</span>;</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;        <span class="keywordflow">case</span> HOGNormType::L2HYS_NORM:</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L2HYS_NORM&quot;</span>;</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;    }</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>, and <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>.</p>
+<div class="fragment"><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;{</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;    <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;    {</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;        <span class="keywordflow">case</span> HOGNormType::L1_NORM:</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L1_NORM&quot;</span>;</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;        <span class="keywordflow">case</span> HOGNormType::L2_NORM:</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L2_NORM&quot;</span>;</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;        <span class="keywordflow">case</span> HOGNormType::L2HYS_NORM:</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;L2HYS_NORM&quot;</span>;</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;    }</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15795,10 +15189,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01294">1294</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01389">1389</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
 <p>References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
-<div class="fragment"><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;{</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;    os &lt;&lt; size.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; size.height;</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;{</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;    os &lt;&lt; size.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; size.height;</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a4228b490e13b79a60737929d9d9e5957"></a>
@@ -15835,10 +15229,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01321">1321</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01416">1416</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
 <p>References <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a13a9a6f5cfa21b3ab15b1e4315311aeb">HOGInfo::block_size()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#aa9a69eade27460f843fcfba5abb7ae52">HOGInfo::block_stride()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a4b7434680a85c2ac14df737ac7cca91e">HOGInfo::cell_size()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a0279e383beb758e477ce0673c5db8d57">HOGInfo::detection_window_size()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a954d05635b1ff48daffdd70d8a1a6443">HOGInfo::l2_hyst_threshold()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#aed90de2ef57929727bb2159b66d04487">HOGInfo::normalization_type()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#ae3664b841732a09d7749953ca5b81373">HOGInfo::num_bins()</a>, and <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a96823b4d7dc642aa9f51a0077899d3f9">HOGInfo::phase_type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;{</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{CellSize=&quot;</span> &lt;&lt; hog_info.cell_size() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;BlockSize=&quot;</span> &lt;&lt; hog_info.block_size() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;DetectionWindowSize=&quot;</span> &lt;&lt; hog_info.detection_window_size() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;BlockStride=&quot;</span> &lt;&lt; hog_info.block_stride() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;NumBins=&quot;</span> &lt;&lt; hog_info.num_bins() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;NormType=&quot;</span> &lt;&lt; hog_info.normalization_type() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;L2HystThreshold=&quot;</span> &lt;&lt; hog_info.l2_hyst_threshold() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;PhaseType=&quot;</span> &lt;&lt; hog_info.phase_type() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;{</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{CellSize=&quot;</span> &lt;&lt; hog_info.cell_size() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;BlockSize=&quot;</span> &lt;&lt; hog_info.block_size() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;DetectionWindowSize=&quot;</span> &lt;&lt; hog_info.detection_window_size() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;BlockStride=&quot;</span> &lt;&lt; hog_info.block_stride() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;NumBins=&quot;</span> &lt;&lt; hog_info.num_bins() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;NormType=&quot;</span> &lt;&lt; hog_info.normalization_type() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;L2HystThreshold=&quot;</span> &lt;&lt; hog_info.l2_hyst_threshold() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;PhaseType=&quot;</span> &lt;&lt; hog_info.phase_type() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="abd35c1c3fb716078b1f4a25981defac4"></a>
@@ -15875,10 +15269,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01355">1355</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01450">1450</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, and <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>.</p>
-<div class="fragment"><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;{</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;    <span class="keywordflow">switch</span>(conv_method)</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;    {</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;        <span class="keywordflow">case</span> ConvolutionMethod::GEMM:</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GEMM&quot;</span>;</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;        <span class="keywordflow">case</span> ConvolutionMethod::DIRECT:</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;DIRECT&quot;</span>;</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;        <span class="keywordflow">case</span> ConvolutionMethod::WINOGRAD:</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;WINOGRAD&quot;</span>;</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;    }</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, and <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>.</p>
+<div class="fragment"><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;{</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;    <span class="keywordflow">switch</span>(conv_method)</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;    {</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;        <span class="keywordflow">case</span> ConvolutionMethod::GEMM:</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GEMM&quot;</span>;</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;        <span class="keywordflow">case</span> ConvolutionMethod::DIRECT:</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;DIRECT&quot;</span>;</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;        <span class="keywordflow">case</span> ConvolutionMethod::WINOGRAD:</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;WINOGRAD&quot;</span>;</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;    }</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15916,10 +15310,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01395">1395</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01490">1490</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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#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#a735ac6c2a02e320969625308810444f3a9a42105c81f05fa4a58cb8fd532e739e">TNOX</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a>.</p>
-<div class="fragment"><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;{</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;    <span class="keywordflow">switch</span>(gpu_target)</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;    {</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;        <span class="keywordflow">case</span> GPUTarget::GPU_ARCH_MASK:</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GPU_ARCH_MASK&quot;</span>;</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;        <span class="keywordflow">case</span> GPUTarget::MIDGARD:</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MIDGARD&quot;</span>;</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;        <span class="keywordflow">case</span> GPUTarget::BIFROST:</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;BIFROST&quot;</span>;</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;        <span class="keywordflow">case</span> GPUTarget::T600:</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;T600&quot;</span>;</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;        <span class="keywordflow">case</span> GPUTarget::T700:</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;T700&quot;</span>;</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;        <span class="keywordflow">case</span> GPUTarget::T800:</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;T800&quot;</span>;</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G71:</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G71&quot;</span>;</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G72:</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G72&quot;</span>;</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G51:</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G51&quot;</span>;</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G51BIG:</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G51BIG&quot;</span>;</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G51LIT:</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G51LIT&quot;</span>;</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;        <span class="keywordflow">case</span> GPUTarget::TNOX:</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TNOX&quot;</span>;</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;        <span class="keywordflow">case</span> GPUTarget::TTRX:</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TTRX&quot;</span>;</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;        <span class="keywordflow">case</span> GPUTarget::TBOX:</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TBOX&quot;</span>;</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;    }</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a>.</p>
+<div class="fragment"><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;{</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;    <span class="keywordflow">switch</span>(gpu_target)</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;    {</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;        <span class="keywordflow">case</span> GPUTarget::GPU_ARCH_MASK:</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GPU_ARCH_MASK&quot;</span>;</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;        <span class="keywordflow">case</span> GPUTarget::MIDGARD:</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;MIDGARD&quot;</span>;</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;        <span class="keywordflow">case</span> GPUTarget::BIFROST:</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;BIFROST&quot;</span>;</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;        <span class="keywordflow">case</span> GPUTarget::T600:</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;T600&quot;</span>;</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;        <span class="keywordflow">case</span> GPUTarget::T700:</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;T700&quot;</span>;</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;        <span class="keywordflow">case</span> GPUTarget::T800:</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;T800&quot;</span>;</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G71:</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G71&quot;</span>;</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G72:</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G72&quot;</span>;</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G51:</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G51&quot;</span>;</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G51BIG:</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G51BIG&quot;</span>;</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G51LIT:</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G51LIT&quot;</span>;</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;        <span class="keywordflow">case</span> GPUTarget::G76:</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;G76&quot;</span>;</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;        <span class="keywordflow">case</span> GPUTarget::TTRX:</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TTRX&quot;</span>;</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;        <span class="keywordflow">case</span> GPUTarget::TBOX:</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TBOX&quot;</span>;</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;    }</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -15957,10 +15351,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01468">1468</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01563">1563</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00548">DetectionWindow::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00549">DetectionWindow::idx_class</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00550">DetectionWindow::score</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00547">DetectionWindow::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00545">DetectionWindow::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00546">DetectionWindow::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;{</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{x=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a0815db32ce16586f5e90a633735df930">x</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;y=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a45b45124e843a937c3e256edbce64eea">y</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;width=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a67fe5ca4d6c3f95bf649ef48fe3d221b">width</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;height=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#aa0fb54e3dbe6f7446157eb3f3c1f77f3">height</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;idx_class=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#ad4f986571659dd822695ca58dda00e49">idx_class</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;score=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a8c5cd9b525ee73a24b1d9d8e34982d1c">score</a> &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;}</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="types_8h_source.xhtml#l00053">types.h:53</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00546">DetectionWindow::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00547">DetectionWindow::idx_class</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00548">DetectionWindow::score</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00545">DetectionWindow::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00543">DetectionWindow::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00544">DetectionWindow::y</a>.</p>
+<div class="fragment"><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;{</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{x=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a0815db32ce16586f5e90a633735df930">x</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;y=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a45b45124e843a937c3e256edbce64eea">y</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;width=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a67fe5ca4d6c3f95bf649ef48fe3d221b">width</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;height=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#aa0fb54e3dbe6f7446157eb3f3c1f77f3">height</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;idx_class=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#ad4f986571659dd822695ca58dda00e49">idx_class</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;score=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a8c5cd9b525ee73a24b1d9d8e34982d1c">score</a> &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;}</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="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="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="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="types_8h_source.xhtml#l00052">types.h:52</a></div></div>
@@ -16003,13 +15397,92 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01500">1500</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01595">1595</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, and <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>.</p>
-<div class="fragment"><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;{</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;    <span class="keywordflow">switch</span>(termination)</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;    {</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;        <span class="keywordflow">case</span> Termination::TERM_CRITERIA_EPSILON:</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_EPSILON&quot;</span>;</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;        <span class="keywordflow">case</span> Termination::TERM_CRITERIA_ITERATIONS:</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_ITERATIONS&quot;</span>;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;        <span class="keywordflow">case</span> Termination::TERM_CRITERIA_BOTH:</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_BOTH&quot;</span>;</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;    }</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, and <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>.</p>
+<div class="fragment"><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;{</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;    <span class="keywordflow">switch</span>(termination)</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;    {</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;        <span class="keywordflow">case</span> Termination::TERM_CRITERIA_EPSILON:</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_EPSILON&quot;</span>;</div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;        <span class="keywordflow">case</span> Termination::TERM_CRITERIA_ITERATIONS:</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_ITERATIONS&quot;</span>;</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;        <span class="keywordflow">case</span> Termination::TERM_CRITERIA_BOTH:</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_BOTH&quot;</span>;</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;    }</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
+<a class="anchor" id="a2329ad899483ca80bbffd03a63da9f5d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::ostream &amp;&#160;</td>
+          <td class="paramname"><em>os</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;&#160;</td>
+          <td class="paramname"><em>cpu_model</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the CPUModel type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">cpu_model</td><td>Model to output</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01635">1635</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>, and <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>.</p>
+<div class="fragment"><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;{</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;    <span class="keywordflow">switch</span>(cpu_model)</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;    {</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;        <span class="keywordflow">case</span> CPUModel::GENERIC:</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GENERIC&quot;</span>;</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;        <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GENERIC_FP16&quot;</span>;</div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;        <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;GENERIC_FP16_DOT&quot;</span>;</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;        <span class="keywordflow">case</span> CPUModel::A53:</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;A53&quot;</span>;</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160;        <span class="keywordflow">case</span> CPUModel::A55r0:</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;A55r0&quot;</span>;</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;        <span class="keywordflow">case</span> CPUModel::A55r1:</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;A55r1&quot;</span>;</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;    }</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a29cd1c3e1b33d61a479fa49465c5a7e7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::ostream &amp;&#160;</td>
+          <td class="paramname"><em>os</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
+          <td class="paramname"><em>args</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of a vector of objects. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> of objects to print</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01684">1684</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;{</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;    <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;    <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;arg : args)</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;    {</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;        <span class="keywordflow">if</span>(first)</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;        {</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;            first = <span class="keyword">false</span>;</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160;        }</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;        {</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;            os &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;        }</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;        os &lt;&lt; arg;</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;    }</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
 <a class="anchor" id="af3cba8a4493cee4c431d128eed565ffe"></a>
 <div class="memitem">
 <div class="memproto">
@@ -16036,10 +15509,10 @@
 
 <p>Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information. ">WinogradInfo</a> type. </p>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01534">1534</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01719">1719</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01158">WinogradInfo::convolution_info</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01156">WinogradInfo::kernel_size</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01159">WinogradInfo::output_data_layout</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01155">WinogradInfo::output_tile_size</a>.</p>
-<div class="fragment"><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;{</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{OutputTileSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.output_tile_size &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;KernelSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.kernel_size &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;PadStride=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.convolution_info &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;OutputDataLayout=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.output_data_layout &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01242">WinogradInfo::convolution_info</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01240">WinogradInfo::kernel_size</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01243">WinogradInfo::output_data_layout</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01239">WinogradInfo::output_tile_size</a>.</p>
+<div class="fragment"><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;{</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;    os &lt;&lt; <span class="stringliteral">&quot;{OutputTileSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.output_tile_size &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;KernelSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.kernel_size &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;PadStride=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.convolution_info &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;       &lt;&lt; <span class="stringliteral">&quot;OutputDataLayout=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.output_data_layout &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;    <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -16127,8 +15600,92 @@
 
 <p>Definition at line <a class="el" href="_type_reader_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_type_reader_8h_source.xhtml">TypeReader.h</a>.</p>
 
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00123">arm_compute::test::validation::c</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
-<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    std::string value;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    is &gt;&gt; value;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    std::transform(value.begin(), value.end(), value.begin(), [](<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>)</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keywordflow">return</span> std::toupper(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    });</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;UNDEFINED&quot;</span>)</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        mode = BorderMode::UNDEFINED;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;CONSTANT&quot;</span>)</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    {</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        mode = BorderMode::CONSTANT;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;REPLICATE&quot;</span>)</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    {</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        mode = BorderMode::REPLICATE;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    {</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;Unsupported value &#39;&quot;</span> + value + <span class="stringliteral">&quot;&#39; for border mode&quot;</span>);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    }</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordflow">return</span> is;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">CLTensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00123">GEMM.cpp:123</a></div></div>
+<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00092">arm_compute::test::validation::c</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
+<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    std::string value;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    is &gt;&gt; value;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    std::transform(value.begin(), value.end(), value.begin(), [](<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>)</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keywordflow">return</span> std::toupper(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    });</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;UNDEFINED&quot;</span>)</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        mode = BorderMode::UNDEFINED;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;CONSTANT&quot;</span>)</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    {</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        mode = BorderMode::CONSTANT;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;REPLICATE&quot;</span>)</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    {</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        mode = BorderMode::REPLICATE;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    {</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;Unsupported value &#39;&quot;</span> + value + <span class="stringliteral">&quot;&#39; for border mode&quot;</span>);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    }</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordflow">return</span> is;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">CLTensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00092">GEMM.cpp:92</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a7cec6ed141f3eb1d6330533a90bba9e1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::istream &amp;&#160;</td>
+          <td class="paramname"><em>stream</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;&#160;</td>
+          <td class="paramname"><em>data_type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Stream to parse </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">data_type</td><td>Output data type</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Updated stream </dd></dl>
+
+<p>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>
+
+<p>References <a class="el" href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">data_layout_from_name()</a>, and <a class="el" href="namespacearm__compute.xhtml#ade65ba63cdf4becce903866f4a59815e">data_type_from_name()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    std::string value;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    stream &gt;&gt; value;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a> = <a class="code" href="namespacearm__compute.xhtml#ade65ba63cdf4becce903866f4a59815e">data_type_from_name</a>(value);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ade65ba63cdf4becce903866f4a59815e"><div class="ttname"><a href="namespacearm__compute.xhtml#ade65ba63cdf4becce903866f4a59815e">arm_compute::data_type_from_name</a></div><div class="ttdeci">arm_compute::DataType data_type_from_name(const std::string &amp;name)</div><div class="ttdoc">Converts a string to a strong types enumeration DataType. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a9c4a3d0e80938810dd7b22b16785f5c8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
+          <td>(</td>
+          <td class="paramtype">::std::istream &amp;&#160;</td>
+          <td class="paramname"><em>stream</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;&#160;</td>
+          <td class="paramname"><em>data_layout</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Stream to parse </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">data_layout</td><td>Output data layout</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Updated stream </dd></dl>
+
+<p>Definition at line <a class="el" href="_type_loader_8h_source.xhtml#l00071">71</a> of file <a class="el" href="_type_loader_8h_source.xhtml">TypeLoader.h</a>.</p>
+
+<p>References <a class="el" href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">data_layout_from_name()</a>, and <a class="el" href="namespacearm__compute_1_1graph.xhtml#a4654d54572949314f2a3bd0163179897">arm_compute::graph::target_from_name()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    std::string value;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    stream &gt;&gt; value;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> = <a class="code" href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">data_layout_from_name</a>(value);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a70c6f92f6b74982b31716cfd2fdf612a"><div class="ttname"><a href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">arm_compute::data_layout_from_name</a></div><div class="ttdeci">arm_compute::DataLayout data_layout_from_name(const std::string &amp;name)</div><div class="ttdoc">Converts a string to a strong types enumeration DataLayout. </div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -16178,7 +15735,7 @@
 
 <p>References <a class="el" href="_dimensions_8h_source.xhtml#l00173">Dimensions&lt; T &gt;::begin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00197">Dimensions&lt; T &gt;::end()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>.</p>
 
-<p>Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00397">NumPyBinLoader::access_tensor()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00039">arm_compute::misc::shape_calculator::compute_permutation_output_shape()</a>, <a class="el" href="validation_2_c_l_2_batch_normalization_layer_8cpp_source.xhtml#l00065">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00453">AssetsLibrary::fill()</a>, <a class="el" href="_validation_8h_source.xhtml#l00382">arm_compute::test::validation::validate()</a>, and <a class="el" href="_validation_8h_source.xhtml#l00457">arm_compute::test::validation::validate_wrap()</a>.</p>
+<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00052">arm_compute::misc::shape_calculator::compute_permutation_output_shape()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00453">AssetsLibrary::fill()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00357">NPYLoader::fill_tensor()</a>, and <a class="el" href="_graph_utils_8h_source.xhtml#l00492">arm_compute::graph_utils::permute_shape()</a>.</p>
 <div class="fragment"><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;{</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;    <span class="keyword">auto</span> dimensions_copy = utility::make_array&lt;Dimensions&lt;T&gt;::num_max_dimensions&gt;(dimensions.begin(), dimensions.end());</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; perm.num_dimensions(); ++i)</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;    {</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        T dimension_val = (perm[i] &lt; dimensions.num_dimensions()) ? dimensions_copy[perm[i]] : 0;</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;        dimensions.set(i, dimension_val);</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    }</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
@@ -16226,8 +15783,8 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">553</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
 
-<p>References <a class="el" href="_helpers_8inl_source.xhtml#l00201">auto_init_if_empty()</a>, <a class="el" href="namespacearm__compute.xhtml#a4f83578a33b502bf6419ead091249423">calculate_valid_region_scale()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00322">coords2index()</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::data_type</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00340">get_data_layout_dimension_index()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00303">index2coords()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00270">set_data_layout_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00259">set_data_type_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00281">set_fixed_point_position_if_zero()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00248">set_format_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00292">set_quantization_info_if_empty()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00237">set_shape_if_empty()</a>, and <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::shape</a>.</p>
-<div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;{</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    TensorShape shape_copy = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; perm.num_dimensions(); ++i)</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    {</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        <span class="keywordtype">size_t</span> dimension_val = (perm[i] &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.num_dimensions()) ? shape_copy[perm[i]] : 1;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.set(i, dimension_val, <span class="keyword">false</span>); <span class="comment">// Avoid changes in _num_dimension</span></div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    }</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
+<p>References <a class="el" href="_helpers_8inl_source.xhtml#l00201">auto_init_if_empty()</a>, <a class="el" href="namespacearm__compute.xhtml#a4f83578a33b502bf6419ead091249423">calculate_valid_region_scale()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00308">coords2index()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00227">arm_compute::test::validation::data_layout</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">arm_compute::test::validation::data_type</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00289">index2coords()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00267">set_data_layout_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00256">set_data_type_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00245">set_format_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00278">set_quantization_info_if_empty()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00234">set_shape_if_empty()</a>, and <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>.</p>
+<div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;{</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    TensorShape shape_copy = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; perm.num_dimensions(); ++i)</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    {</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        <span class="keywordtype">size_t</span> dimension_val = (perm[i] &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.num_dimensions()) ? shape_copy[perm[i]] : 1;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.set(i, dimension_val, <span class="keyword">false</span>); <span class="comment">// Avoid changes in _num_dimension</span></div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    }</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -16321,14 +15878,12 @@
 
 <p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00032">32</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
-<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
+<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <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>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// Calculate sampling position</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// Get bounding box offsets</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="comment">// Clamp position to borders</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    in_x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_x, static_cast&lt;float&gt;(width)));</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    in_y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_y, static_cast&lt;float&gt;(height)));</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="comment">// Clamp bounding box offsets to borders</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    x_from = ((in_x + x_from) &lt; -1) ? -1 : x_from;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    y_from = ((in_y + y_from) &lt; -1) ? -1 : y_from;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    x_to   = ((in_x + x_to) &gt; width) ? (width - in_x) : x_to;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    y_to   = ((in_y + y_to) &gt; height) ? (height - in_y) : y_to;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="comment">// Get pixel index</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="comment">// Bounding box elements in each dimension</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="comment">// Sum pixels in area</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <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>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j = yi + y_from, je = yi + y_to; j &lt;= je; ++j)</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    {</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <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>&#160;        sum                = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(ptr, ptr + x_elements, sum);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    }</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="comment">// Return average</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordflow">return</span> sum / (x_elements * y_elements);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></div>
-<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
+<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <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>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// Calculate sampling position</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// Get bounding box offsets</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="comment">// Clamp position to borders</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    in_x = std::max(-1.f, std::min(in_x, static_cast&lt;float&gt;(width)));</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    in_y = std::max(-1.f, std::min(in_y, static_cast&lt;float&gt;(height)));</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="comment">// Clamp bounding box offsets to borders</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    x_from = ((in_x + x_from) &lt; -1) ? -1 : x_from;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    y_from = ((in_y + y_from) &lt; -1) ? -1 : y_from;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    x_to   = ((in_x + x_to) &gt; width) ? (width - in_x) : x_to;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    y_to   = ((in_y + y_to) &gt; height) ? (height - in_y) : y_to;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="comment">// Get pixel index</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="comment">// Bounding box elements in each dimension</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <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>&#160;    <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>&#160;    <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>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="comment">// Sum pixels in area</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <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>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j = yi + y_from, je = yi + y_to; j &lt;= je; ++j)</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    {</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <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>&#160;        sum                = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(ptr, ptr + x_elements, sum);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    }</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="comment">// Return average</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordflow">return</span> sum / (x_elements * y_elements);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;}</div><div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 <div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -16391,8 +15946,8 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">210</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">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 class="fragment"><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;{</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keyword">const</span> int32_t xi = std::floor(x);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keyword">const</span> int32_t yi = std::floor(y);</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + xi + yi * stride, stride, dx, dy);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;}</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#l00328">Error.h:328</a></div></div>
+<p>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>
+<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;{</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keyword">const</span> int32_t xi = std::floor(x);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keyword">const</span> int32_t yi = std::floor(y);</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + xi + yi * stride, stride, dx, dy);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel&amp;#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">Helpers.h:127</a></div></div>
 </div><!-- fragment -->
 </div>
@@ -16471,13 +16026,11 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">237</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">delta_bilinear_c1()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">delta_linear_c1_x()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">delta_linear_c1_y()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00032">pixel_area_c1u8_clamp()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;{</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(x, static_cast&lt;float&gt;(width)));</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(y, static_cast&lt;float&gt;(height)));</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> xi = std::floor(x);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> yi = std::floor(y);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordflow">if</span>(dx == 0.0f)</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    {</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="keywordflow">if</span>(dy == 0.0f)</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        {</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(first_pixel_ptr[<span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(xi) + static_cast&lt;int32_t&gt;(yi) * stride]);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        }</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad5fa8bacf824e9538014bfb0dcdaab52">delta_linear_c1_y</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, stride, dy);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    }</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordflow">if</span>(dy == 0.0f)</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    {</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6174495b626531de015ae2b810859287">delta_linear_c1_x</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, dx);</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    }</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, stride, dx, dy);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a6174495b626531de015ae2b810859287"><div class="ttname"><a href="namespacearm__compute.xhtml#a6174495b626531de015ae2b810859287">arm_compute::delta_linear_c1_x</a></div><div class="ttdeci">T delta_linear_c1_x(const T *pixel_ptr, float dx)</div><div class="ttdoc">Computes linear interpolation using the pointer to the left pixel and the pixel&amp;#39;s distance between th...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">Helpers.h:184</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
+<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">delta_bilinear_c1()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">delta_linear_c1_x()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">delta_linear_c1_y()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00032">pixel_area_c1u8_clamp()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;{</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    x = std::max(-1.f, std::min(x, static_cast&lt;float&gt;(width)));</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    y = std::max(-1.f, std::min(y, static_cast&lt;float&gt;(height)));</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> xi = std::floor(x);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> yi = std::floor(y);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordflow">if</span>(dx == 0.0f)</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    {</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="keywordflow">if</span>(dy == 0.0f)</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        {</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(first_pixel_ptr[<span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(xi) + static_cast&lt;int32_t&gt;(yi) * stride]);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        }</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad5fa8bacf824e9538014bfb0dcdaab52">delta_linear_c1_y</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, stride, dy);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    }</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordflow">if</span>(dy == 0.0f)</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    {</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6174495b626531de015ae2b810859287">delta_linear_c1_x</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, dx);</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    }</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, stride, dx, dy);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;}</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&amp;#39;s distance between th...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">Helpers.h:184</a></div></div>
+<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00337">Error.h:337</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ad5fa8bacf824e9538014bfb0dcdaab52"><div class="ttname"><a href="namespacearm__compute.xhtml#ad5fa8bacf824e9538014bfb0dcdaab52">arm_compute::delta_linear_c1_y</a></div><div class="ttdeci">T delta_linear_c1_y(const T *pixel_ptr, size_t stride, float dy)</div><div class="ttdoc">Computes linear interpolation using the pointer to the top pixel and the pixel&amp;#39;s distance between the...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">Helpers.h:159</a></div></div>
 <div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel&amp;#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">Helpers.h:127</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -16512,10 +16065,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00144">144</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00141">141</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
-<div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;{</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    {</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;            <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined pixel size for given format&quot;</span>);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    }</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>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>
+<div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;{</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    {</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;            <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;            <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined pixel size for given format&quot;</span>);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    }</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -16561,12 +16114,12 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00254">254</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00248">248</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
 
-<p>References <a class="el" href="_error_8h_source.xhtml#l00260">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>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>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::channel_extract()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;{</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    {</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        <span class="comment">// Single planar formats have a single plane</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="comment">// Multi planar formats</span></div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        {</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;            <span class="comment">// Channel U and V share the same plane of format UV88</span></div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;            {</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;            }</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        }</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        {</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;            {</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                    <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;            }</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        }</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    }</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;}</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#l00260">Error.h:260</a></div></div>
+<p>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    {</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="comment">// Single planar formats have a single plane</span></div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        <span class="comment">// Multi planar formats</span></div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        {</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;            <span class="comment">// Channel U and V share the same plane of format UV88</span></div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;            {</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;            }</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        }</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;        <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        {</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;            <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;            {</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;                <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;                <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;                    <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;                <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;                    <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;                    <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;            }</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        }</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;            <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    }</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00261">Error.h:261</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -16631,7 +16184,7 @@
   </dd>
 </dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01123">max_consecutive_elements_display_width_impl()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01059">max_consecutive_elements_display_width_impl()</a>.</p>
 
 </div>
 </div>
@@ -16689,8 +16242,8 @@
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01090">1090</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="l01091"></a><span class="lineno"> 1091</span>&#160;{</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;    <span class="keyword">using</span> print_type = <span class="keyword">typename</span> std::conditional&lt;std::is_floating_point&lt;T&gt;::value, T, <span class="keywordtype">int</span>&gt;::type;</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;    {</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;        <span class="comment">// Set stream width as it is not a &quot;sticky&quot; stream manipulator</span></div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;        <span class="keywordflow">if</span>(stream_width != 0)</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;        {</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;            s.width(stream_width);</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;        }</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;        <span class="keywordflow">if</span>(std::is_same&lt;<span class="keyword">typename</span> std::decay&lt;T&gt;::type, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>&gt;::value)</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;        {</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;            <span class="comment">// We use T instead of print_type here is because the std::is_floating_point&lt;half&gt; returns false and then the print_type becomes int.</span></div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;            s &lt;&lt; std::right &lt;&lt; static_cast&lt;T&gt;(ptr[i]) &lt;&lt; element_delim;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;        }</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;        {</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;            s &lt;&lt; std::right &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]) &lt;&lt; element_delim;</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;        }</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;    }</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;}</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>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01026">1026</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="l01027"></a><span class="lineno"> 1027</span>&#160;{</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;    <span class="keyword">using</span> print_type = <span class="keyword">typename</span> std::conditional&lt;std::is_floating_point&lt;T&gt;::value, T, <span class="keywordtype">int</span>&gt;::type;</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;    {</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;        <span class="comment">// Set stream width as it is not a &quot;sticky&quot; stream manipulator</span></div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;        <span class="keywordflow">if</span>(stream_width != 0)</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;        {</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;            s.width(stream_width);</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;        }</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;        <span class="keywordflow">if</span>(std::is_same&lt;<span class="keyword">typename</span> std::decay&lt;T&gt;::type, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>&gt;::value)</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;        {</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;            <span class="comment">// We use T instead of print_type here is because the std::is_floating_point&lt;half&gt; returns false and then the print_type becomes int.</span></div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;            s &lt;&lt; std::right &lt;&lt; static_cast&lt;T&gt;(ptr[i]) &lt;&lt; element_delim;</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;        }</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;        {</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;            s &lt;&lt; std::right &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]) &lt;&lt; element_delim;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;        }</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;    }</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a73e2825fd61d349c5ca2f5313e3c8ea1"><div class="ttname"><a href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">arm_compute::half</a></div><div class="ttdeci">half_float::half half</div><div class="ttdoc">16-bit floating point type </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00044">Types.h:44</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -16767,7 +16320,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Rounded value of the argument x. </dd></dl>
 
-<p>Referenced by <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml#l00063">DATA_TEST_CASE()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00157">finalize()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00211">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00361">lktracker_stage1()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00080">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00166">pooling_layer_MxN_quantized_nhwc()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
+<p>Referenced by <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml#l00063">DATA_TEST_CASE()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00157">finalize()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00211">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00361">lktracker_stage1()</a>, <a class="el" href="activation__layer__qa8_8cl_source.xhtml#l00030">logistic_op()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00080">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00166">pooling_layer_MxN_quantized_nhwc()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
 
 </div>
 </div>
@@ -16820,194 +16373,6 @@
 <div class="fragment"><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keyword">const</span> int32x4_t shift_vec  = vdupq_n_s32(-exponent);</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keyword">const</span> int32x4_t fixup      = vshrq_n_s32(vandq_s32(x, shift_vec), 31);</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="keyword">const</span> int32x4_t fixed_up_x = vqaddq_s32(x, fixup);</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="keywordflow">return</span> vrshlq_s32(fixed_up_x, shift_vec);</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
-<a class="anchor" id="a5d49ea329c81268d6e12031f6f13f1eb"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sabs_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</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>16 bit fixed point scalar absolute value </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point absolute value </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00067">67</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; 0) ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits&lt;int16_t&gt;::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits&lt;int16_t&gt;::max</a>() : -<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a43315c66c4d00207f70143233b189085"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sabs_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>a</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>8 bit fixed point scalar absolute value </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point absolute value </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00062">62</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;{</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; 0) ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits&lt;int8_t&gt;::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits&lt;int8_t&gt;::max</a>() : -<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00897">FixedPoint.h:897</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00902">FixedPoint.h:902</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="ab30659aa2125bd5857547d424e601e34"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sadd_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</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#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar add </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point addition </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00077">77</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;{</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="aa8cee074ec68e2ae7830a9472efd8429"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sadd_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</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#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar add </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point addition </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00072">72</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
 <a class="anchor" id="ac78192301777700de24d8c75667baf35"></a>
 <div class="memitem">
 <div class="memproto">
@@ -17070,230 +16435,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>A pair with the new width in the first position and the new height in the second. </dd></dl>
 
-<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00294">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00128">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00161">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00329">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00268">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="validation_2reference_2_convolution_layer_8cpp_source.xhtml#l00050">arm_compute::test::validation::reference::convolution_layer_nchw()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>, and <a class="el" href="reference_2_locally_connected_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::locally_connected()</a>.</p>
+<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00341">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00169">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00202">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00376">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00315">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="validation_2reference_2_convolution_layer_8cpp_source.xhtml#l00049">arm_compute::test::validation::reference::convolution_layer_nchw()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00139">arm_compute::test::validation::reference::im2col_nhwc_channel_first()</a>, and <a class="el" href="reference_2_locally_connected_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::locally_connected()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a55e8e161b9a16d750a6cff3fba6cd480"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">float scvt_f32_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Convert a 16 bit fixed point to float. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00384">384</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
-<div class="fragment"><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;{</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) / (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a62232512d049619479b670c58a607924"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">float scvt_f32_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Convert an 8 bit fixed point to float. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00373">373</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
-<div class="fragment"><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;{</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) / (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a62b21ae2dd27770147d5b7c265fa534c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sdiv_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</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#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar division </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point division. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00255">255</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;{</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> temp = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt;&lt; fixed_point_position;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(temp / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="ae39636f0e83dd3b854b89181a230216f"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sdiv_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</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#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar division </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point division. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00249">249</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;{</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt;&lt; fixed_point_position;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">&gt;</span>(temp / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
 <a class="anchor" id="a18ec57dffc5c26864be77318111dfb2a"></a>
 <div class="memitem">
 <div class="memproto">
@@ -17350,11 +16495,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00577">577</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-
-<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00927">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;{</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    int32_t min_col     = -1;</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    int16_t min_col_val = -1;</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    <span class="keywordflow">for</span>(int32_t i = 0; i &lt; size; ++i)</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    {</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i] != 0 &amp;&amp; (min_col &lt; 0 || <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(min_col_val) &gt; <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i])))</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;        {</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;            min_col     = i;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;            min_col_val = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i];</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;        }</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    }</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <span class="keywordflow">if</span>(min_col &lt; 0)</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    {</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    }</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    <span class="keywordflow">for</span>(uint32_t j = 0; j &lt; size; ++j)</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    {</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;        conv_col[j] = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[min_col + j * size];</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    }</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; size; i++)</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    {</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;        <span class="keywordflow">if</span>(static_cast&lt;int&gt;(i) == min_col)</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;        {</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;            conv_row[i] = 1;</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        }</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;        {</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;            int16_t coeff = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i] / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[min_col];</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;            <span class="keywordflow">for</span>(uint32_t j = 1; j &lt; size; ++j)</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;            {</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;                <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i + j * size] != (conv_col[j] * coeff))</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;                {</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;                }</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;            }</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;            conv_row[i] = coeff;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;        }</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;    }</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adf88bb8e946175c496fb362aa458128b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ae115fc750a92fb6a5e094998b56fcc56"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">arm_compute::test::fixed_point_arithmetic::detail::abs</a></div><div class="ttdeci">fixed_point&lt; T &gt; abs(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00927">FixedPoint.h:927</a></div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00566">566</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="l00567"></a><span class="lineno">  567</span>&#160;{</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    int32_t min_col     = -1;</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    int16_t min_col_val = -1;</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    <span class="keywordflow">for</span>(int32_t i = 0; i &lt; size; ++i)</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;    {</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i] != 0 &amp;&amp; (min_col &lt; 0 || abs(min_col_val) &gt; abs(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i])))</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;        {</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;            min_col     = i;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;            min_col_val = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i];</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;        }</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    }</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    <span class="keywordflow">if</span>(min_col &lt; 0)</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    {</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    }</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <span class="keywordflow">for</span>(uint32_t j = 0; j &lt; size; ++j)</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    {</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;        conv_col[j] = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[min_col + j * size];</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;    }</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;    <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; size; i++)</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    {</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;        <span class="keywordflow">if</span>(static_cast&lt;int&gt;(i) == min_col)</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;        {</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;            conv_row[i] = 1;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;        }</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;        {</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;            int16_t coeff = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i] / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[min_col];</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;            <span class="keywordflow">for</span>(uint32_t j = 1; j &lt; size; ++j)</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;            {</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;                <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i + j * size] != (conv_col[j] * coeff))</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;                {</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;                }</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;            }</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;            conv_row[i] = coeff;</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;        }</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    }</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adf88bb8e946175c496fb362aa458128b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -17400,12 +16542,13 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
 
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00270">270</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00267">267</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
 <p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#abb9481fe056b9749f9b4c08db101cc15">ITensorInfo::set_data_layout()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;{</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_layout() == DataLayout::UNKNOWN)</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    {</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_layout(data_layout);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    }</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;{</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_layout() == DataLayout::UNKNOWN)</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    {</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_layout(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a>);</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    }</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -17451,64 +16594,13 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
 
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00259">259</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00256">256</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
 <p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;{</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    {</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    }</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a0894ed18ca6f55d6053882676cc2c95c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool set_fixed_point_position_if_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
-          <td class="paramname"><em>info</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Set the fixed point position to the specified value if the current fixed point position is 0 and the data type is QS8 or QS16. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in,out]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info used to check and assign. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>New fixed point position</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>True if the fixed point position has been changed. </dd></dl>
-
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00281">281</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a8d9488caf817e12132f0ca2a4c30deba">ITensorInfo::set_fixed_point_position()</a>.</p>
-
-<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;{</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.fixed_point_position() == 0 &amp;&amp; (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS8 || <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS16))</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    {</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    }</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;{</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    {</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    }</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -17554,12 +16646,12 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the format has been changed. </dd></dl>
 
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00248">248</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00245">245</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
 <p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a17394f0f7aea22d9b2d4c6f33bfa69ca">ITensorInfo::set_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    {</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_format(format);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    }</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;{</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    {</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_format(format);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    }</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -17605,13 +16697,13 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the quantization info has been changed. </dd></dl>
 
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00292">292</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00278">278</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00199">QuantizationInfo::empty()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01056">is_data_type_quantized_asymmetric()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>.</p>
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00197">QuantizationInfo::empty()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00992">is_data_type_quantized_asymmetric()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;{</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.quantization_info().empty() &amp;&amp; (<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type())))</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    {</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    }</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a14f46283f316e7f0fad301d5c1507e9f"><div class="ttname"><a href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">arm_compute::is_data_type_quantized_asymmetric</a></div><div class="ttdeci">bool is_data_type_quantized_asymmetric(DataType dt)</div><div class="ttdoc">Check if a given data type is of asymmetric quantized type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l01056">Utils.h:1056</a></div></div>
+<div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;{</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.quantization_info().empty() &amp;&amp; (<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type())))</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    {</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    }</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a14f46283f316e7f0fad301d5c1507e9f"><div class="ttname"><a href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">arm_compute::is_data_type_quantized_asymmetric</a></div><div class="ttdeci">bool is_data_type_quantized_asymmetric(DataType dt)</div><div class="ttdoc">Check if a given data type is of asymmetric quantized type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00992">Utils.h:992</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -17657,1641 +16749,16 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>True if the shape has been changed. </dd></dl>
 
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00237">237</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00234">234</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
 
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#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#l00157">TensorShape::total_size()</a>.</p>
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
 
 <p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;{</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    {</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    }</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
+<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;{</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    {</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    }</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
 <div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
-<a class="anchor" id="abd2bf5c0522dab806fa7981c9bc4d38e"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool arm_compute::setup_assembly_kernel </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
-          <td class="paramname"><em>d</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float&#160;</td>
-          <td class="paramname"><em>alpha</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float&#160;</td>
-          <td class="paramname"><em>beta</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>pretranspose_hint</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;&#160;</td>
-          <td class="paramname"><em>workspace</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &amp;&#160;</td>
-          <td class="paramname"><em>B_pretranspose</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> &amp;&#160;</td>
-          <td class="paramname"><em>memory_group</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">T &amp;&#160;</td>
-          <td class="paramname"><em>asm_glue</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Create a wrapper kernel. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input tensor A. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Input tensor B. </td></tr>
-    <tr><td class="paramdir">[out]</td><td class="paramname">d</td><td>Output tensor. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">alpha</td><td>Alpha value. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">beta</td><td>Beta value. </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">pretranspose_hint</td><td>Pre-transpose hint in case matrix b should be pre-transposed </td></tr>
-    <tr><td class="paramdir">[out]</td><td class="paramname">workspace</td><td>Workspace tensor </td></tr>
-    <tr><td class="paramdir">[out]</td><td class="paramname">B_pretranspose</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to hold the pre-transposed B </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">memory_group</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> memory group. </td></tr>
-    <tr><td class="paramdir">[out]</td><td class="paramname">asm_glue</td><td>Assembly glue kernel.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the wrapper kernel. </dd></dl>
-
-<p>Definition at line <a class="el" href="_assembly_helper_8h_source.xhtml#l00159">159</a> of file <a class="el" href="_assembly_helper_8h_source.xhtml">AssemblyHelper.h</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, <a class="el" href="_assembly_helper_8h_source.xhtml#l00135">allocate_workspace()</a>, <a class="el" href="_validate_8h_source.xhtml#l00161">ARM_COMPUTE_ERROR_ON_NULLPTR</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>, <a class="el" href="classarm__compute_1_1_tensor.xhtml#ace7b855e3c647d29cc37a1ce147901dc">Tensor::buffer()</a>, <a class="el" href="classarm__compute_1_1_i_scheduler.xhtml#a95f26c7763b9472437a8da8aa6089c9b">IScheduler::cpu_info()</a>, <a class="el" href="classarm__compute_1_1_scheduler.xhtml#acb4f87f1831680d8d1b70e1bef06bb81">Scheduler::get()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="classarm__compute_1_1_i_scheduler.xhtml#ac24584a63e484123e3756d1b2a1c9e2f">IScheduler::num_threads()</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#l00167">TensorShape::total_size_upper()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions&lt; T &gt;::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00091">Dimensions&lt; T &gt;::z()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;{</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="keyword">const</span> CPUInfo &amp;ci          = NEScheduler::get().cpu_info();</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span>      M           = d-&gt;info()-&gt;tensor_shape().y();</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span>      N           = d-&gt;info()-&gt;tensor_shape().x();</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span>      K           = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<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#afb5cd37bb08f1029691590372e6330f0">x</a>();</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span>      batches     = d-&gt;info()-&gt;tensor_shape().total_size_upper(2);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span>      multis      = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<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#a336121cb63ed79fa0a072eed03d694ac">z</a>();</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>   num_threads = NEScheduler::get().num_threads();</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="comment">// unique_ptr to a Gemm object</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    std::unique_ptr&lt;typename T::AssemblyGemm&gt;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    asm_gemm(arm_gemm::gemm&lt;typename T::TypeOperator, typename T::TypeResult&gt;(ci, M, N, K, batches, multis, <span class="keyword">false</span>, <span class="keyword">false</span>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ab146b9cbab6e73e7588b240dc709fe01">beta</a>, num_threads, pretranspose_hint));</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="comment">// arm_compute wrapper for the Gemm object (see above)</span></div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    std::unique_ptr&lt;NEGEMMAssemblyWrapper&lt;typename T::AssemblyGemm&gt;&gt;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                                                                  acl_gemm_wrapper = support::cpp14::make_unique&lt;NEGEMMAssemblyWrapper&lt;typename T::AssemblyGemm&gt;&gt;();</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="keywordflow">if</span>(acl_gemm_wrapper != <span class="keyword">nullptr</span> &amp;&amp; asm_gemm != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    {</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        acl_gemm_wrapper-&gt;configure(asm_gemm.get());</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">size_t</span> workspace_size = asm_gemm-&gt;get_working_size();</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <span class="keywordflow">if</span>(workspace_size)</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        {</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;            <span class="comment">// Allocate workspace</span></div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;            <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> alignment = 4096;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;            <a class="code" href="namespacearm__compute.xhtml#aa63c4dc1d1e43b7e57fadcb3e3e93580">allocate_workspace</a>(workspace_size, workspace, &amp;memory_group, alignment, num_threads);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;            <a class="code" href="_validate_8h.xhtml#a921b705e9e3e0fe928928447869e62a5">ARM_COMPUTE_ERROR_ON_NULLPTR</a>(workspace.buffer());</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;            asm_gemm-&gt;set_working_space(reinterpret_cast&lt;typename T::TypeResult *&gt;(workspace.buffer()));</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        }</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="comment">//if we disable this code below in brackets then ConvLayer deadlocks when threads &gt; 1 and</span></div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        <span class="comment">//the shapes are In=1x1x1024 Weights=1x1x1024x1001 Biases=1001 Out=1x1x1001</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        {</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;            <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> window_size = asm_gemm-&gt;get_window_size();</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;            <span class="keywordflow">if</span>(window_size &lt; num_threads)</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;            {</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                num_threads = window_size;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                asm_gemm-&gt;set_nthreads(num_threads);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;            }</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        }</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <span class="comment">// Check for pre-transposed support</span></div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keywordflow">if</span>(asm_gemm-&gt;B_pretranspose_required())</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        {</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;            <span class="comment">// Forcing 128-byte alignment (required by 32-bit kernels)</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;            <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> alignment           = 128;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;            <span class="keyword">const</span> <span class="keywordtype">size_t</span>       B_pretranspose_size = asm_gemm-&gt;get_B_pretransposed_array_size();</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;            <a class="code" href="namespacearm__compute.xhtml#aa63c4dc1d1e43b7e57fadcb3e3e93580">allocate_workspace</a>(B_pretranspose_size, B_pretranspose, <span class="keyword">nullptr</span>, alignment, 1);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;            <a class="code" href="_validate_8h.xhtml#a921b705e9e3e0fe928928447869e62a5">ARM_COMPUTE_ERROR_ON_NULLPTR</a>(B_pretranspose.buffer());</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;            asm_glue._pretranspose = &amp;B_pretranspose;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;        }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        asm_glue._gemm_kernel_asm  = std::move(asm_gemm);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        asm_glue._optimised_kernel = std::move(acl_gemm_wrapper);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="comment">// We need to setup the ptrs in the run() method</span></div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        asm_glue._a = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        asm_glue._b = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        asm_glue._d = d;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    }</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a336121cb63ed79fa0a072eed03d694ac"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a336121cb63ed79fa0a072eed03d694ac">arm_compute::Dimensions::z</a></div><div class="ttdeci">T z() const </div><div class="ttdoc">Alias to access the size of the third dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00091">Dimensions.h:91</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ab146b9cbab6e73e7588b240dc709fe01"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ab146b9cbab6e73e7588b240dc709fe01">arm_compute::test::validation::beta</a></div><div class="ttdeci">beta</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_afb5cd37bb08f1029691590372e6330f0"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#afb5cd37bb08f1029691590372e6330f0">arm_compute::Dimensions::x</a></div><div class="ttdeci">T x() const </div><div class="ttdoc">Alias to access the size of the first dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00081">Dimensions.h:81</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa63c4dc1d1e43b7e57fadcb3e3e93580"><div class="ttname"><a href="namespacearm__compute.xhtml#aa63c4dc1d1e43b7e57fadcb3e3e93580">arm_compute::allocate_workspace</a></div><div class="ttdeci">void allocate_workspace(size_t workspace_size, Tensor &amp;workspace, MemoryGroup *memory_group, size_t alignment, unsigned int num_threads)</div><div class="ttdoc">Allocate a workspace tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_assembly_helper_8h_source.xhtml#l00135">AssemblyHelper.h:135</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 class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</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 &amp; 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#l00263">TensorInfo.h:263</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="acc38b787d0451ec4a3e632ed919ac298"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> arm_compute::sexp_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar exponential </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point exponential. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a162390097e05ddc016310bad881c461c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sinvsqrt_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar inverse square root </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point inverse square root. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00229">229</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00149">smul_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00114">ssub_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;{</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift = 16 - (fixed_point_position + (__builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - 16));</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_three = (3 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>       temp        = shift &lt; 0 ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt;&lt; -shift) : (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt; shift);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>       x2          = temp;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="comment">// We need three iterations to find the result</span></div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 3; ++i)</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    {</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, x2, fixed_point_position), fixed_point_position));</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        x2                      = <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, three_minus_dx, fixed_point_position) &gt;&gt; 1;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    }</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    temp = shift &lt; 0 ? (x2 &lt;&lt; ((-shift) &gt;&gt; 1)) : (x2 &gt;&gt; (shift &gt;&gt; 1));</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">return</span> temp;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a7e6eff2c8b93f18002c06059b7e5b79a"><div class="ttname"><a href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">arm_compute::smul_qs16</a></div><div class="ttdeci">qint16_t smul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00149">FixedPoint.inl:149</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a70476eda2d46c943d572362fe2fc9d14"><div class="ttname"><a href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">arm_compute::ssub_qs16</a></div><div class="ttdeci">qint16_t ssub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00114">FixedPoint.inl:114</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="ab768d7001612a149c0bf695b773d659b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sinvsqrt_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar inverse square root </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point inverse square root. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00209">209</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00137">smul_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00109">ssub_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift = 8 - (fixed_point_position + (__builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - 24));</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_three = (3 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>       temp        = shift &lt; 0 ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt;&lt; -shift) : (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt; shift);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>       x2          = temp;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="comment">// We need three iterations to find the result</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 3; ++i)</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    {</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, x2, fixed_point_position), fixed_point_position));</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        x2                     = (<a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, three_minus_dx, fixed_point_position) &gt;&gt; 1);</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    }</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    temp = shift &lt; 0 ? (x2 &lt;&lt; (-shift &gt;&gt; 1)) : (x2 &gt;&gt; (shift &gt;&gt; 1));</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">return</span> temp;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_aec48f137adc904d648dd7eba0d828fab"><div class="ttname"><a href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">arm_compute::smul_qs8</a></div><div class="ttdeci">qint8_t smul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00137">FixedPoint.inl:137</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab97841950d268532e51f28a208ddafd4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">arm_compute::ssub_qs8</a></div><div class="ttdeci">qint8_t ssub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00109">FixedPoint.inl:109</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="ad45601a3c0f1d9f6210041651f4e2f4b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> slog_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar logarithm </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point logarithm. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">340</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00077">sadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00255">sdiv_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00149">smul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00091">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00173">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00114">ssub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;{</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="comment">// Constants</span></div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2       = (0x58B9 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>         = (0x5C0F &gt;&gt; (7 - fixed_point_position - 1));</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>         = -(0x56AE &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C         = (0x2933 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D         = -(0x0AA7 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="keywordflow">if</span>((const_one == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) || (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; 0))</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    {</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    }</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; const_one)</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    {</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keywordflow">return</span> -<a class="code" href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">slog_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">sdiv_qs16</a>(const_one, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    }</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="comment">// Remove even powers of 2</span></div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift_val = 31 - __builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt;= shift_val;</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    sum          = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), B);</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    sum          = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), A);</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    sum          = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position);</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">sadd_qs16</a>(sum, shift_val &lt;&lt; fixed_point_position), ln2, fixed_point_position);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a62b21ae2dd27770147d5b7c265fa534c"><div class="ttname"><a href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">arm_compute::sdiv_qs16</a></div><div class="ttdeci">qint16_t sdiv_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar division </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00255">FixedPoint.inl:255</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
-<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad45601a3c0f1d9f6210041651f4e2f4b"><div class="ttname"><a href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">arm_compute::slog_qs16</a></div><div class="ttdeci">qint16_t slog_qs16(qint16_t a, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar logarithm </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00340">FixedPoint.inl:340</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a7e6eff2c8b93f18002c06059b7e5b79a"><div class="ttname"><a href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">arm_compute::smul_qs16</a></div><div class="ttdeci">qint16_t smul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00149">FixedPoint.inl:149</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00091">FixedPoint.inl:91</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a70476eda2d46c943d572362fe2fc9d14"><div class="ttname"><a href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">arm_compute::ssub_qs16</a></div><div class="ttdeci">qint16_t ssub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00114">FixedPoint.inl:114</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab30659aa2125bd5857547d424e601e34"><div class="ttname"><a href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">arm_compute::sadd_qs16</a></div><div class="ttdeci">qint16_t sadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00077">FixedPoint.inl:77</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a55c8a365b4242664f8c0f19e91bcee92"><div class="ttname"><a href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">arm_compute::sqmul_qs16</a></div><div class="ttdeci">qint16_t sqmul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00173">FixedPoint.inl:173</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a596a7e3c63f80e67ea7cb713e8fc9992"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> slog_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar logarithm </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point logarithm. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">307</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00072">sadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00249">sdiv_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00137">smul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00082">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00161">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00109">ssub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;{</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="comment">// Constants</span></div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2       = (0x58 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>         = (0x5C &gt;&gt; (7 - fixed_point_position - 1));</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>         = -(0x56 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C         = (0x29 &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D         = -(0x0A &gt;&gt; (7 - fixed_point_position));</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordflow">if</span>((const_one == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) || (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; 0))</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    {</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    }</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &lt; const_one)</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    {</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        <span class="keywordflow">return</span> -<a class="code" href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">slog_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">sdiv_qs8</a>(const_one, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    }</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <span class="comment">// Remove even powers of 2</span></div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift_val = 31 - __builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;&gt;= shift_val;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    sum         = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), B);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    sum         = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), A);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    sum         = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position);</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">sadd_qs8</a>(sum, shift_val &lt;&lt; fixed_point_position), ln2, fixed_point_position);</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aec48f137adc904d648dd7eba0d828fab"><div class="ttname"><a href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">arm_compute::smul_qs8</a></div><div class="ttdeci">qint8_t smul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00137">FixedPoint.inl:137</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab97841950d268532e51f28a208ddafd4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">arm_compute::ssub_qs8</a></div><div class="ttdeci">qint8_t ssub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00109">FixedPoint.inl:109</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
-<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa8cee074ec68e2ae7830a9472efd8429"><div class="ttname"><a href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">arm_compute::sadd_qs8</a></div><div class="ttdeci">qint8_t sadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00072">FixedPoint.inl:72</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ae39636f0e83dd3b854b89181a230216f"><div class="ttname"><a href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">arm_compute::sdiv_qs8</a></div><div class="ttdeci">qint8_t sdiv_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar division </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00249">FixedPoint.inl:249</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_af0b73b0c4980a551d7cd4edec43ffd92"><div class="ttname"><a href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">arm_compute::sqmul_qs8</a></div><div class="ttdeci">qint8_t sqmul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00161">FixedPoint.inl:161</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a596a7e3c63f80e67ea7cb713e8fc9992"><div class="ttname"><a href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">arm_compute::slog_qs8</a></div><div class="ttdeci">qint8_t slog_qs8(qint8_t a, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar logarithm </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00307">FixedPoint.inl:307</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00082">FixedPoint.inl:82</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a7e6eff2c8b93f18002c06059b7e5b79a"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> smul_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</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#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar multiply </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00149">149</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00229">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;{</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="comment">// Rounding up</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    tmp += round_up_const;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(tmp &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="aec48f137adc904d648dd7eba0d828fab"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> smul_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</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#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar multiply </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00137">137</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00209">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;{</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="comment">// Rounding up</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    tmp += round_up_const;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">&gt;</span>(tmp &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a45669fcc0f31fce521179510e85dcb62"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqadd_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</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#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar saturating add </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00091">91</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00055">sshr_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = (<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) + static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(tmp);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="af1a4a8b0eeee4d2d1c14774e2417f3de"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqadd_qs32 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</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#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>32 bit fixed point scalar saturating add </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 32 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 32 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00100">100</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;{</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="comment">// We need to store the temporary result in qint64_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> tmp = (<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) + static_cast&lt;qint64_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="comment">// Saturate the result in case of overflow and cast to qint32_t</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&gt;(tmp);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_adc3be0bc3741b081217b2609abcf0333"><div class="ttname"><a href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">arm_compute::qint64_t</a></div><div class="ttdeci">int64_t qint64_t</div><div class="ttdoc">64 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00032">FixedPoint.h:32</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a532d90e007d0cb6f3d43107229c40c32"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqadd_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</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#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar saturating add </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00082">82</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">sshr_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="comment">// We need to store the temporary result in qint16_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = (<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) + static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(tmp);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a790df824287a4f498e648dbbb481906b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqcvt_qs16_f32 </td>
-          <td>(</td>
-          <td class="paramtype">float&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Convert a float to 16 bit fixed point. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 16 bit fixed point </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00389">389</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;{</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> * (1 &lt;&lt; fixed_point_position) + ((<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;= 0) ? 0.5 : -0.5));</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a4f425447c1efb8d2b48cb50b110f4739"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqcvt_qs8_f32 </td>
-          <td>(</td>
-          <td class="paramtype">float&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Convert a float to 8 bit fixed point. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00378">378</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;{</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> * (1 &lt;&lt; fixed_point_position) + ((<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> &gt;= 0) ? 0.5 : -0.5));</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="aba5b39758733711eaf3015d17839feb5"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqexp_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar exponential </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point exponential. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">284</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00067">sabs_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00091">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00173">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00040">sqshl_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00128">sqsub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;{</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="comment">// Constants</span></div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2       = ((0x58B9 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> inv_ln2   = (((0x38AA &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1) | const_one;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>         = ((0x7FBA &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>         = ((0x3FE9 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C         = ((0x1693 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D         = ((0x0592 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span>      dec_a = (<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, inv_ln2, fixed_point_position) &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(dec_a, fixed_point_position), fixed_point_position)));</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>       <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a>   = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, D, fixed_point_position), C);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    sum                  = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), B);</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    sum                  = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), A);</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    sum                  = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    sum                  = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(sum, const_one);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="keywordflow">return</span> (dec_a &lt; 0) ? (sum &gt;&gt; -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(sum, dec_a);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a5d49ea329c81268d6e12031f6f13f1eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">arm_compute::sabs_qs16</a></div><div class="ttdeci">qint16_t sabs_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point scalar absolute value </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00067">FixedPoint.inl:67</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
-<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a383b9d12f86c35ceed6dd5922439aa4c"><div class="ttname"><a href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">arm_compute::sqshl_qs16</a></div><div class="ttdeci">qint16_t sqshl_qs16(qint16_t a, int shift)</div><div class="ttdoc">16 bit fixed point scalar saturating shift left </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00040">FixedPoint.inl:40</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00091">FixedPoint.inl:91</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a217e5c603560d6f73971983c6d1572a1"><div class="ttname"><a href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">arm_compute::sqsub_qs16</a></div><div class="ttdeci">qint16_t sqsub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00128">FixedPoint.inl:128</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a55c8a365b4242664f8c0f19e91bcee92"><div class="ttname"><a href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">arm_compute::sqmul_qs16</a></div><div class="ttdeci">qint16_t sqmul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00173">FixedPoint.inl:173</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a20724c7cb556b1ff4fd9d01c7020d762"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqexp_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar exponential </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point exponential. </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">261</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::alpha</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00062">sabs_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00082">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00161">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00032">sqshl_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00119">sqsub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;{</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="comment">// Constants</span></div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2       = ((0x58 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> inv_ln2   = (((0x38 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1) | const_one;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>         = ((0x7F &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>         = ((0x3F &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C         = ((0x16 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D         = ((0x05 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span>     dec_a = (<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, inv_ln2, fixed_point_position) &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(dec_a, fixed_point_position), fixed_point_position)));</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>       <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a>   = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, D, fixed_point_position), C);</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    sum                 = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), B);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    sum                 = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), A);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    sum                 = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    sum                 = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(sum, const_one);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keywordflow">return</span> (dec_a &lt; 0) ? (sum &gt;&gt; -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(sum, dec_a);</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
-<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a203882febb616f5468d1b63b60ffb331"><div class="ttname"><a href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">arm_compute::sqshl_qs8</a></div><div class="ttdeci">qint8_t sqshl_qs8(qint8_t a, int shift)</div><div class="ttdoc">8 bit fixed point scalar saturating shift left </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00032">FixedPoint.inl:32</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ae74bbb6e25cc1b774428722b2faad00c"><div class="ttname"><a href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">arm_compute::sqsub_qs8</a></div><div class="ttdeci">qint8_t sqsub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00119">FixedPoint.inl:119</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_af0b73b0c4980a551d7cd4edec43ffd92"><div class="ttname"><a href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">arm_compute::sqmul_qs8</a></div><div class="ttdeci">qint8_t sqmul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00161">FixedPoint.inl:161</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a43315c66c4d00207f70143233b189085"><div class="ttname"><a href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">arm_compute::sabs_qs8</a></div><div class="ttdeci">qint8_t sabs_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point scalar absolute value </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00062">FixedPoint.inl:62</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00082">FixedPoint.inl:82</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="ad555b251940cba2ca1c6eb168f0bbea4"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmovn_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</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>Scalar saturating move and narrow. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert to 8 bit fixed point</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 8 bit </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00395">395</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;{</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a4a4859f4f212d3824e70a36aed901b5b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmovn_qs32 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td>
-          <td class="paramname"><em>a</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>Scalar saturating move and narrow. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert to 16 bit fixed point</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 16 bit </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00401">401</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;{</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a55c8a365b4242664f8c0f19e91bcee92"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmul_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</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#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar saturating multiply </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00173">173</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;{</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <span class="comment">// Rounding up</span></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    tmp += round_up_const;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(tmp &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="af0b73b0c4980a551d7cd4edec43ffd92"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmul_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</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#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar saturating multiply </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00161">161</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;{</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="comment">// Rounding up</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    tmp += round_up_const;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(tmp &gt;&gt; fixed_point_position);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a7f9fcf8e60c300e602327f8ff67800cb"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqmull_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</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#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar multiply long </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication long. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00197">197</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
-<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;{</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="comment">// Rounding up</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    tmp += round_up_const;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keywordflow">return</span> tmp &gt;&gt; fixed_point_position;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a0721e062e6d7a90f07fd08aeda5e7eda"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmull_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</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#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar multiply long </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication long. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00185">185</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>.</p>
-<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;{</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="comment">// Rounding up</span></div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    tmp += round_up_const;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keywordflow">return</span> tmp &gt;&gt; fixed_point_position;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a383b9d12f86c35ceed6dd5922439aa4c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqshl_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>shift</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar saturating shift left </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point shift. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00040">40</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) &lt;&lt; shift;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(tmp);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a203882febb616f5468d1b63b60ffb331"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqshl_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>shift</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar saturating shift left </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point shift. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00032">32</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) &lt;&lt; shift;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(tmp);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a217e5c603560d6f73971983c6d1572a1"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqsub_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</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#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar saturating subtraction </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point subtraction. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00128">128</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00284">sqexp_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;{</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - static_cast&lt;qint32_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&gt;(tmp);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="ae74bbb6e25cc1b774428722b2faad00c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqsub_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</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#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar saturating subtraction </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point subtraction. The result is saturated in case of overflow </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00119">119</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">arm_compute::test::validation::a</a>, and <a class="el" href="_utility_8h_source.xhtml#l00140">arm_compute::utility::saturate_cast()</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00261">sqexp_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;{</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="comment">// We need to store the temporary result in uint16_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - static_cast&lt;qint16_t&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">utility::saturate_cast</a>&lt;<a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&gt;(tmp);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a26bf8243169fc3fd2299024c25b0aa0d"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a26bf8243169fc3fd2299024c25b0aa0d">arm_compute::utility::saturate_cast</a></div><div class="ttdeci">T saturate_cast(U val)</div><div class="ttdoc">Type cast with saturation. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00140">Utility.h:140</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a1dfcf4fd912cbd9853c0f7ddfcf3a163"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sshr_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>shift</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar shift right </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point shift </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00055">55</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00091">sqadd_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;{</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">&quot;Shift should not be zero&quot;</span>);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_val = 1 &lt;&lt; (shift - 1);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, round_val) &gt;&gt; shift;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00091">FixedPoint.inl:91</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#l00319">Error.h:319</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a3e4f9ff20167e78399975ec02c009c95"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sshr_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>shift</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar shift right </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point shift </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">48</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="_error_8h_source.xhtml#l00319">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00082">sqadd_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">&quot;Shift should not be zero&quot;</span>);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> round_val = 1 &lt;&lt; (shift - 1);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, round_val) &gt;&gt; shift;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00082">FixedPoint.inl:82</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#l00319">Error.h:319</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a70476eda2d46c943d572362fe2fc9d14"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ssub_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</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#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point scalar subtraction </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point subtraction </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00114">114</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00229">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00340">slog_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;{</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="ab97841950d268532e51f28a208ddafd4"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ssub_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</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#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point scalar subtraction </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point subtraction </dd></dl>
-
-<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00109">109</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">arm_compute::test::validation::b</a>.</p>
-
-<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00209">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00307">slog_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">CLTensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00121">GEMM.cpp:121</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00122">GEMM.cpp:122</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
 <a class="anchor" id="ac955c978e18cc9bf6daea31f13076fba"></a>
 <div class="memitem">
 <div class="memproto">
@@ -19315,7 +16782,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -19342,7 +16809,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -19369,7 +16836,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -19396,7 +16863,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the data layout. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -19423,7 +16890,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>, <a class="el" href="_validate_8h_source.xhtml#l00721">error_on_data_type_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l01000">error_on_value_not_representable_in_fixed_point()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00656">error_on_data_type_not_in()</a>.</p>
 
 </div>
 </div>
@@ -19450,7 +16917,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00688">error_on_format_not_in()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00623">error_on_format_not_in()</a>.</p>
 
 </div>
 </div>
@@ -19477,7 +16944,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the interpolation policy. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -19504,7 +16971,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -19531,7 +16998,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -19558,7 +17025,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the normalization type. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -19585,7 +17052,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The string describing the pooling type. </dd></dl>
 
-<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00803">data_type_for_convolution_matrix()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
 
 </div>
 </div>
@@ -19639,6 +17106,43 @@
 
 </div>
 </div>
+<a class="anchor" id="ab75d8ff29ba9b398d5740b3efd156e71"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> &amp;&#160;</td>
+          <td class="paramname"><em>type</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Formatted output of the GradientDimension type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p>Definition at line <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00064">64</a> of file <a class="el" href="tests_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>Referenced by <a class="el" href="_function_helpers_8h_source.xhtml#l00131">arm_compute::graph::backends::detail::create_batch_normalization_layer()</a>, <a class="el" href="_initializer_list_dataset_8h_source.xhtml#l00085">InitializerListDataset&lt; T &gt;::iterator::description()</a>, <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, and <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00051">to_string_if_not_null()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
 <a class="anchor" id="aabe16be22edb41656e66ed9eae3b69e6"></a>
 <div class="memitem">
 <div class="memproto">
@@ -19670,10 +17174,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00101">101</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-
-<p>Referenced by <a class="el" href="_u_n_i_t_2_fixed_point_8cpp_source.xhtml#l00067">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00063">main()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;{</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    str &lt;&lt; <span class="keyword">function</span>;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00118">118</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;{</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    str &lt;&lt; <span class="keyword">function</span>;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a27f0ebddef1b83e0ac31c7a7a23a8d36"></a>
@@ -19707,8 +17209,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00144">144</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;{</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    str &lt;&lt; pattern;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00161">161</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;{</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    str &lt;&lt; pattern;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="ad9fd48b3c01116b217a684aaeaf8b24f"></a>
@@ -19742,43 +17244,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00226">226</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;{</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    str &lt;&lt; quantization_info;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a3d4684c886b4d13ce004cd6d7fcea9b1"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">std::string arm_compute::to_string </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;&#160;</td>
-          <td class="paramname"><em>op</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Formatted output of the FixedPointOp type. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00278">278</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;{</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    str &lt;&lt; op;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;}</div></div><!-- fragment -->
+<p>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>&#160;{</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    str &lt;&lt; quantization_info;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a72626d2cca3922127c41526e37e9e623"></a>
@@ -19812,11 +17279,11 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00342">342</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00307">307</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00841">ActivationLayerInfo::activation()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00856">ActivationLayerInfo::enabled()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;{</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="keywordflow">if</span>(info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a1d79980f25d38aba3d6777d0afe544f3">enabled</a>())</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    {</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">activation</a>();</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    }</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a63e05ce4946dd9807c005c1619fa337a"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">arm_compute::ActivationLayerInfo::activation</a></div><div class="ttdeci">ActivationFunction activation() const </div><div class="ttdoc">Get the type of activation function. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00841">Types.h:841</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a1d79980f25d38aba3d6777d0afe544f3"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a1d79980f25d38aba3d6777d0afe544f3">arm_compute::ActivationLayerInfo::enabled</a></div><div class="ttdeci">bool enabled() const </div><div class="ttdoc">Check if initialised. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00856">Types.h:856</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00871">ActivationLayerInfo::activation()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00886">ActivationLayerInfo::enabled()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;{</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordflow">if</span>(info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a1d79980f25d38aba3d6777d0afe544f3">enabled</a>())</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    {</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">activation</a>();</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    }</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a63e05ce4946dd9807c005c1619fa337a"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">arm_compute::ActivationLayerInfo::activation</a></div><div class="ttdeci">ActivationFunction activation() const </div><div class="ttdoc">Get the type of activation function. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00871">Types.h:871</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a1d79980f25d38aba3d6777d0afe544f3"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a1d79980f25d38aba3d6777d0afe544f3">arm_compute::ActivationLayerInfo::enabled</a></div><div class="ttdeci">bool enabled() const </div><div class="ttdoc">Check if initialised. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00886">Types.h:886</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -19851,8 +17318,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00358">358</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;{</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    str &lt;&lt; <span class="keyword">function</span>;</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;}</div></div><!-- fragment -->
+<p>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>&#160;{</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    str &lt;&lt; <span class="keyword">function</span>;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a45dd771bdecbafb975fd267c2ae320a7"></a>
@@ -19886,11 +17353,11 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00398">398</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00363">363</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00892">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00887">NormalizationLayerInfo::type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;{</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">type</a>() &lt;&lt; <span class="stringliteral">&quot;:NormSize=&quot;</span> &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a0549be3702c05e6ec1ada69a6d08e349">norm_size</a>();</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a39f6445d0b790034f0d8fac36f2eb7f5"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">arm_compute::NormalizationLayerInfo::type</a></div><div class="ttdeci">NormType type() const </div><div class="ttdoc">Get the normalization type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00887">Types.h:887</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a0549be3702c05e6ec1ada69a6d08e349"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a0549be3702c05e6ec1ada69a6d08e349">arm_compute::NormalizationLayerInfo::norm_size</a></div><div class="ttdeci">uint32_t norm_size() const </div><div class="ttdoc">Get the normalization size. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00892">Types.h:892</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00922">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00917">NormalizationLayerInfo::type()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;{</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">type</a>() &lt;&lt; <span class="stringliteral">&quot;:NormSize=&quot;</span> &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a0549be3702c05e6ec1ada69a6d08e349">norm_size</a>();</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a39f6445d0b790034f0d8fac36f2eb7f5"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">arm_compute::NormalizationLayerInfo::type</a></div><div class="ttdeci">NormType type() const </div><div class="ttdoc">Get the normalization type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00917">Types.h:917</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a0549be3702c05e6ec1ada69a6d08e349"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a0549be3702c05e6ec1ada69a6d08e349">arm_compute::NormalizationLayerInfo::norm_size</a></div><div class="ttdeci">uint32_t norm_size() const </div><div class="ttdoc">Get the normalization size. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00922">Types.h:922</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -19925,10 +17392,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00465">465</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00430">430</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00178">arm_compute::test::validation::rounding_policy</a>.</p>
-<div class="fragment"><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;{</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;}</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#l00178">PixelWiseMultiplication.cpp:178</a></div></div>
+<p>References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">arm_compute::test::validation::rounding_policy</a>.</p>
+<div class="fragment"><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;{</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>;</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a60ad1078faeaf3f59266d69ad937339f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">arm_compute::test::validation::rounding_policy</a></div><div class="ttdeci">rounding_policy</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">PixelWiseMultiplication.cpp:168</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -19963,8 +17430,11 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00505">505</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;{</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    str &lt;&lt; data_layout;</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00470">470</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00227">arm_compute::test::validation::data_layout</a>.</p>
+<div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;{</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a>;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</a></div></div>
+</div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a96b47511b549b48d2ead05b5c757ccc9"></a>
@@ -19998,10 +17468,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00584">584</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00572">572</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::data_type</a>.</p>
-<div class="fragment"><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;{</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>;</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
+<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">arm_compute::test::validation::data_type</a>.</p>
+<div class="fragment"><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;{</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -20036,8 +17506,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00666">666</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;{</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    str &lt;&lt; format;</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00654">654</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;{</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    str &lt;&lt; format;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a813e71cd70c2bbcbf0743fa83a3608b9"></a>
@@ -20071,8 +17541,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00733">733</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;{</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;    str &lt;&lt; channel;</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00721">721</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;{</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;    str &lt;&lt; channel;</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a48fd5e28bdb4975c141841f0b96f8707"></a>
@@ -20106,10 +17576,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00841">841</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>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>
 
-<p>References <a class="el" href="_tensor_info_8h_source.xhtml#l00267">TensorInfo::data_type()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00247">TensorInfo::fixed_point_position()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00259">TensorInfo::num_channels()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00263">TensorInfo::tensor_shape()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;{</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;    str &lt;&lt; <span class="stringliteral">&quot;{Shape=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;Type=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;Channels=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_channels() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;FixedPointPos=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.fixed_point_position() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<p>References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;{</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -20144,8 +17614,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00858">858</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;{</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;    str &lt;&lt; dimensions;</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00857">857</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;{</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;    str &lt;&lt; dimensions;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a1c4486f45128be7156e38e6dea345a16"></a>
@@ -20179,8 +17649,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00871">871</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;{</div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;    str &lt;&lt; stride;</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;}</div></div><!-- fragment -->
+<p>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>&#160;{</div><div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    str &lt;&lt; stride;</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a9d9b56d1b106b79fc5c5411372222d0f"></a>
@@ -20214,10 +17684,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00884">884</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00883">883</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::shape</a>.</p>
-<div class="fragment"><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;{</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;}</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_convolution_8cpp_source.xhtml#l00133">Convolution.cpp:133</a></div></div>
+<p>References <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>.</p>
+<div class="fragment"><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;{</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -20252,8 +17722,192 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00897">897</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;{</div><div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;    str &lt;&lt; coord;</div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00896">896</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;{</div><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;    str &lt;&lt; coord;</div><div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a26a595cd5522bae4fa1c4f2fb9b8f4d5"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &amp;&#160;</td>
+          <td class="paramname"><em>info</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00981">981</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;{</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="adac3c1908846c6361e664a353ad1c3cf"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;&#160;</td>
+          <td class="paramname"><em>info</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00994">994</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;{</div><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a8ac2dfdfad6db71a5cf2ecee6b70f722"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;&#160;</td>
+          <td class="paramname"><em>info</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p>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>
+
+<p>References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;{</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;    str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ab6ea50ec0a98c2180e6530cfcb5eb366"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;&#160;</td>
+          <td class="paramname"><em>dim</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image&#39;s dimensions with a start, end and step. ">Window::Dimension</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p>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>&#160;{</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;    str &lt;&lt; dim;</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a99aba2774f142d36c6a286cbfe027772"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
+          <td class="paramname"><em>win</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td>Type to output.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01032">1032</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;{</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;    str &lt;&lt; win;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a2c0e6c1c4cf10da25e7a7362ba151ba2"></a>
@@ -20287,8 +17941,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00942">942</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;{</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;    str &lt;&lt; pad_stride_info;</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01077">1077</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;{</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;    str &lt;&lt; pad_stride_info;</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a0604106dd269acd58152a81ba87cc265"></a>
@@ -20322,8 +17976,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00955">955</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;{</div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;    str &lt;&lt; mode;</div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;}</div></div><!-- fragment -->
+<p>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>&#160;{</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;    str &lt;&lt; mode;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a5c9cde9144eaeceaf086377b9bc5a5be"></a>
@@ -20357,8 +18011,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00968">968</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;{</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;    str &lt;&lt; border;</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;}</div></div><!-- fragment -->
+<p>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>&#160;{</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;    str &lt;&lt; border;</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a94bd78942b683c05cba85048537d3ee7"></a>
@@ -20392,8 +18046,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00981">981</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;{</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;    str &lt;&lt; policy;</div><div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01116">1116</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;{</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;    str &lt;&lt; policy;</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a5b8e815072ae54278cb1c91e254be4d3"></a>
@@ -20427,8 +18081,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00994">994</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;{</div><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;    std::stringstream str;</div><div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;    str &lt;&lt; policy;</div><div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01129">1129</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;{</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;    str &lt;&lt; policy;</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="adcc7e107e7dbd2ffac02189089c33e4f"></a>
@@ -20453,8 +18107,8 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01025">1025</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;{</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;    str &lt;&lt; policy;</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01160">1160</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;{</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;    str &lt;&lt; policy;</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="aae534105c7ea67999ccbb34a0ed567cd"></a>
@@ -20488,8 +18142,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01059">1059</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;{</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;    str &lt;&lt; op;</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01194">1194</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;{</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;    str &lt;&lt; op;</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="ad8b676c38d9b8d9d9bde7caec5720bd9"></a>
@@ -20523,8 +18177,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01072">1072</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;{</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01207">1207</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;{</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a2872d19dd10dc3117813d291c08e0383"></a>
@@ -20558,8 +18212,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01085">1085</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;{</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01220">1220</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;{</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="acef515348c5f7f73c89aa4b8a47a02bc"></a>
@@ -20593,10 +18247,10 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01098">1098</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01233">1233</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
 
-<p>References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00759">PoolingLayerInfo::is_global_pooling()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00749">PoolingLayerInfo::pad_stride_info()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00744">PoolingLayerInfo::pool_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00739">PoolingLayerInfo::pool_type()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
-<div class="fragment"><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;{</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;    str &lt;&lt; <span class="stringliteral">&quot;{Type=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;IsGlobalPooling=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_global_pooling();</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;    <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_global_pooling())</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;    {</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;        str &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;            &lt;&lt; <span class="stringliteral">&quot;PoolSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_size().width &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_size().height &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;            &lt;&lt; <span class="stringliteral">&quot;PadStride=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pad_stride_info();</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;    }</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;    str &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
+<p>References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00789">PoolingLayerInfo::is_global_pooling()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00779">PoolingLayerInfo::pad_stride_info()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00774">PoolingLayerInfo::pool_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PoolingLayerInfo::pool_type()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
+<div class="fragment"><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;{</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;    str &lt;&lt; <span class="stringliteral">&quot;{Type=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;        &lt;&lt; <span class="stringliteral">&quot;IsGlobalPooling=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_global_pooling();</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;    <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_global_pooling())</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;    {</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;        str &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;            &lt;&lt; <span class="stringliteral">&quot;PoolSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_size().width &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_size().height &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;            &lt;&lt; <span class="stringliteral">&quot;PadStride=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pad_stride_info();</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;    }</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;    str &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -20631,8 +18285,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01163">1163</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;{</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01298">1298</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;{</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a42e6f8761f01b5846f56c3b8025c8c0a"></a>
@@ -20666,43 +18320,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01200">1200</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;{</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="ab75d8ff29ba9b398d5740b3efd156e71"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">std::string arm_compute::to_string </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> &amp;&#160;</td>
-          <td class="paramname"><em>type</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Formatted output of the GradientDimension type. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
-
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01240">1240</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;{</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01335">1335</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;{</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a950ba288e8136db4bf52f7c51dea20eb"></a>
@@ -20736,8 +18355,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>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>&#160;{</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01375">1375</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;{</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="aee88a2c259879eb9dc18cb5965e87c29"></a>
@@ -20771,8 +18390,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01307">1307</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;{</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01402">1402</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;{</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a3cf43a216912b361eaffc3c71452a31e"></a>
@@ -20806,8 +18425,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01341">1341</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;{</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;}</div></div><!-- fragment -->
+<p>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>&#160;{</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a853d44a32a328fb4455f6200a11c4785"></a>
@@ -20841,8 +18460,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01381">1381</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;{</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;    str &lt;&lt; conv_method;</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01476">1476</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;{</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;    str &lt;&lt; conv_method;</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="aee29ccfc095313663fc954f581ddf40a"></a>
@@ -20876,8 +18495,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01454">1454</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;{</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;    str &lt;&lt; gpu_target;</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01549">1549</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;{</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;    str &lt;&lt; gpu_target;</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a905d7ec8787e8c4b7e88b0a2faaccd1f"></a>
@@ -20911,8 +18530,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01486">1486</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;{</div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;    str &lt;&lt; detection_window;</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01581">1581</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;{</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;    str &lt;&lt; detection_window;</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a51fc944d872cf00c1e8e71ccdf8be264"></a>
@@ -20946,8 +18565,70 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01526">1526</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;{</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;    str &lt;&lt; termination;</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01621">1621</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;{</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;    str &lt;&lt; termination;</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="add33a9d992aeaa69d6940fd896ee5e75"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;&#160;</td>
+          <td class="paramname"><em>cpu_model</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Formatted output of the CPUModel type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">cpu_model</td><td>Model to output</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01670">1670</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160;{</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;    str &lt;&lt; cpu_model;</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a6411da4e87e64e8859f8b725645ee9aa"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
+          <td class="paramname"><em>args</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output of a vector of objects. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> of objects to print</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>String representing args. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01711">1711</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;{</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;    str &lt;&lt; args;</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="a37cc282b0852aab04b13a6e6566adda7"></a>
@@ -20972,8 +18653,76 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01544">1544</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;{</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;}</div></div><!-- fragment -->
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01729">1729</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;{</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;    std::stringstream str;</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;    str &lt;&lt; type;</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160;    <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a1d8c24abe3cf6edd704d126d1d2a5420"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>val</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Fallback method: try to use std::to_string: </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Value to convert to string</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>String representing val. </dd></dl>
+
+<p>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>
+
+<p>References <a class="el" href="_toolchain_support_8h_source.xhtml#l00210">arm_compute::support::cpp11::to_string()</a>.</p>
+<div class="fragment"><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;{</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">support::cpp11::to_string</a>(val);</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a1d8c24abe3cf6edd704d126d1d2a5420"><div class="ttname"><a href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const T &amp;val)</div><div class="ttdoc">Fallback method: try to use std::to_string: </div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l01743">TypePrinter.h:1743</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ad023d4ca1d3facf3975c941fd728a6f4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string arm_compute::to_string_if_not_null </td>
+          <td>(</td>
+          <td class="paramtype">T *&#160;</td>
+          <td class="paramname"><em>arg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Formatted output if arg is not null. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Object to print</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>String representing arg. </dd></dl>
+
+<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00051">51</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00064">to_string()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">if</span>(arg == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keywordflow">return</span> <span class="stringliteral">&quot;nullptr&quot;</span>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    {</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">to_string</a>(*arg);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a1d8c24abe3cf6edd704d126d1d2a5420"><div class="ttname"><a href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const T &amp;val)</div><div class="ttdoc">Fallback method: try to use std::to_string: </div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l01743">TypePrinter.h:1743</a></div></div>
+</div><!-- fragment -->
 </div>
 </div>
 <a class="anchor" id="ac2a92cae51d2734a65676052adb33c22"></a>
@@ -21013,743 +18762,11 @@
 
 <p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">368</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
 
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1c28e5916fd54b778da115bfe646f588">calculate_max_window()</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5a5f3d4d4461121db2e4e3b4d3ee587f">IAccessWindow::update_padding_if_needed()</a>, and <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>.</p>
+<p>References <a class="el" href="namespacearm__compute.xhtml#a1c28e5916fd54b778da115bfe646f588">calculate_max_window()</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5a5f3d4d4461121db2e4e3b4d3ee587f">IAccessWindow::update_padding_if_needed()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>, and <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00107">arm_compute::test::validation::valid_region</a>.</p>
 <div class="fragment"><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;{</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <a class="code" href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">utility::for_each</a>([&amp;](<span class="keyword">const</span> IAccessWindow &amp; w)</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    {</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        window_changed |= w.update_window_if_needed(win);</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    },</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    patterns...);</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <a class="code" href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">utility::for_each</a>([&amp;](IAccessWindow &amp; w)</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    {</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        padding_changed |= w.update_padding_if_needed(win);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    },</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    patterns...);</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    <span class="keywordflow">return</span> window_changed;</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;}</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 &amp;&amp;)</div><div class="ttdoc">Base case of for_each. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00091">Utility.h:91</a></div></div>
 </div><!-- fragment -->
 </div>
 </div>
-<a class="anchor" id="a52988f4969583e2677bc4f04da8439e4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vabs_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Absolute value of 16 bit fixed point vector (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a6c5277e56fb1c3434ded55b90faa51e8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vabs_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Absolute value of 8 bit fixed point vector (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ade3f03f4b20d7887ab4fa0abf527e1d6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vabsq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Absolute value of 16 bit fixed point vector (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ac3a568bc6c67b5706661db5243829f50"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vabsq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Absolute value of 8 bit fixed point vector (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aeae8ace3bb6e0cdb407fdac73f1c67a6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vadd_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector add (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a6ae2c8aa90fad62779e17a2adb06f353"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vadd_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector add (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a76505d3ed993337fde8186da5060e8e8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vaddq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector add (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a14157ffd112ba32acb3af50e46d0e76a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vaddq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector add (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aa3eadd9dc42dec63c6a23af0044704c0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float32x4_t arm_compute::vcvt_f32_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert a 16 bit fixed point vector with 4 elements to a float vector with 4 elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float32x2 </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a0e5310342a6ac0682691754a45d968ac"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float32x4x2_t arm_compute::vcvt_f32_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert a 8 bit fixed point vector with 8 elements to a float vector with 4x2 elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float32x2x4 </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a943abeff66faa34d1c2aeeab4ebfabdf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float32x4x2_t arm_compute::vcvtq_qs16_f32 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert a 16 bit fixed point vector with 8 elements to a float vector with 4x2 elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float32x4x2 </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a19e68f6a298ae587a491df52d6859350"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float32x4x4_t arm_compute::vcvtq_qs8_f32 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert a 8 bit fixed point vector with 16 elements to a float vector with 4x4 elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float32x4x4 </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a73c3ec663189efd1ef6e93249939ed02"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vdiv_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Division fixed point 16 bit (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in fixed point format. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ae882a78a649d7d737cab1cb496e6e0f0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vdiv_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int8x8_t&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Division fixed point 8bit (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in fixed point format. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="af5830e15cd59ed3198b916ec03efa07a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdivq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Division fixed point 16 bit (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in 16 bit fixed point format. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="abacd82fd9acb85349b751a3eba0fd8db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vdivq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Division fixed point 8bit (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in 8bit fixed point format. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aa6ebf4319713b842c2b95fe5e251d199"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vdup_n_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector duplicate (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point to duplicate</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ae5928c224ded2b86475c0e85036aa42b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vdup_n_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector duplicate (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point to duplicate</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a740436aed8843612da747f40ff926875"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector duplicate (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point to duplicate</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aa286876d5353075d13377380bf0068ef"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16_f32 </td>
-          <td>(</td>
-          <td class="paramtype">float&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Duplicate a float and convert it to 16 bit fixed point vector (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>floating point value to convert and duplicate </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a14e4a79c204d38d9ab1c510180ce3a98"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vdupq_n_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector duplicate (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point to duplicate</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a579ff1fb4795bc28e7eae6f480e03e08"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vdupq_n_qs8_f32 </td>
-          <td>(</td>
-          <td class="paramtype">float&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Duplicate a float and convert it to 8 bit fixed point vector (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>floating point value to convert and duplicate </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
-
-</div>
-</div>
 <a class="anchor" id="ab55486f1153a4c5f507d4923b59fc6a0"></a>
 <div class="memitem">
 <div class="memproto">
@@ -21800,106 +18817,6 @@
 
 </div>
 </div>
-<a class="anchor" id="adb8a3a973b625b035f663bcac5781596"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vget_high_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the higher half of a 16 elements vector. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 8 elements</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ab1a1485f2120c55da4a57a59be074f27"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vget_high_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the higher half of a 16 elements vector. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 16 elements</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a9e66057ae3f10ac402b7d7da1649ca59"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vget_low_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the lower half of a 16 elements vector. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 8 elements</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a01aba870fcfc162ae8aa04ac2a71699f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vget_low_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the lower half of a 16 elements vector. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 16 elements</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
-
-</div>
-</div>
 <a class="anchor" id="acc6fd1bcd12ef1141e15401a04d31187"></a>
 <div class="memitem">
 <div class="memproto">
@@ -21975,78 +18892,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a21e91de60863fd472ebb82d7dc349d8f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vinvsqrt_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a85869673985438d7681e9c114bef6e25"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vinvsqrt_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
-
-</div>
-</div>
 <a class="anchor" id="ab8970d7aed07d8649f5e3088455948b8"></a>
 <div class="memitem">
 <div class="memproto">
@@ -22072,379 +18917,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a14c3ee7e923e6b37c7b3dbf115cbeaf9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vinvsqrtq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a40884fce7e40ddc919782b553cd19c83"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vinvsqrtq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="afae4f82c3373c53f461bffef703b95ff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vld1_dup_qs16 </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Load all lanes of 16 bit fixed point vector with same value from memory (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point scalar value to load</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ae6b66e4796e08d83db8fe89721e33d00"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vld1_dup_qs8 </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Load all lanes of 8 bit fixed point vector with same value from memory (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point scalar value to load</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
-
-<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00065">arm_compute::detail::load_matrix_row()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5be0b430ef4d7b6a8da81a09f08f63bc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vld1_qs16 </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Load a single 16 bit fixed point vector from memory (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point vector to load</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a36fd8142f6f27eb7a663f6d1c2dbd0ff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vld1_qs8 </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Load a single 8 bit fixed point vector from memory (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point vector to load</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
-
-<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00229">arm_compute::detail::convolve_3x3&lt; 1 &gt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a63c5b930195280ddd6716edd68651e3a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vld1q_dup_qs16 </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Load all lanes of 16 bit fixed point vector with same value from memory (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point scalar value to load</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="af6610f298ec273b9c83880a99fec49ac"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vld1q_dup_qs8 </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Load all lanes of 8 bit fixed point vector with same value from memory (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point scalar value to load</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ac1fbd31b8bc9abfb5d951679c839ec8b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vld1q_qs16 </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Load a single 16 bit fixed point vector from memory (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point vector to load</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a6fe68b389512d3adff15f45fc061bebd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vld1q_qs8 </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Load a single 8 bit fixed point vector from memory (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point vector to load</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a8bab58697ee7d7df117384a05d4e2f92"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> arm_compute::vld2q_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Load two 16 bit fixed point vectors from memory (8x2 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point vectors to load</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vectors (8x2 elements) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a33add780af7e9251ccbb0e3c50c9cc11"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vlog_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate logarithm fixed point 16 bit (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit logarithm. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a4ca0ad1dc517c2646d7da1583936867f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vlog_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate logarithm fixed point 8 bit (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit logarithm. </dd></dl>
-
-</div>
-</div>
 <a class="anchor" id="a1d090b80b655e7f8fd8977bb93808b04"></a>
 <div class="memitem">
 <div class="memproto">
@@ -22470,78 +18942,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a941057e2a953c1c350edcf384ccb0c0d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vlogq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate logarithm fixed point 16 bit (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit logarithm. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a72f1d32348ca1824c4f914d648dd0d61"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vlogq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate logarithm fixed point 16bit (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit logarithm. </dd></dl>
-
-</div>
-</div>
 <a class="anchor" id="ace593813d742d127296b09fa8ab3f85e"></a>
 <div class="memitem">
 <div class="memproto">
@@ -22578,498 +18978,6 @@
 
 </div>
 </div>
-<a class="anchor" id="afda7e56c8683e05da9787945eacf027f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vmax_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector max (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a1e832672b8b717f5af77bc138c4e684d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vmax_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector max (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a62b936c1f23af7aedbad5859a6f01c94"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmaxq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector max (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a5ed31e134ad256235f1b237a5cf16b72"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vmaxq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector max (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="adaa26cd2173ae553d357eddb015f4d69"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vmin_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector min (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a612e9bb7486e8cf609902d247047787c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vmin_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector min (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ae25469583330f615fb9d3729c615cc63"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vminq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector min (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector min operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="afb63c79277d00a478faf54a760f0f38c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vminq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector min (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector min operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a65dd9a9ece185e072304bfb84f1da896"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vmla_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector multiply-accumulate (4 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a9148ef4deac37685c5dca50713e1bc51"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vmla_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector multiply-accumulate (8 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a163987dd7c9679354c24ad7d3a32fafb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vmlal_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector multiply-accumulate long (4 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 32 bit fixed point vector <code>a</code> (a + b * c). 4 elements</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a1daaabdf809ac3cbfde6d95555faef78"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmlal_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector multiply-accumulate long (8 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 16 bit fixed point vector <code>a</code> (a + b * c). 8 elements</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
-
-</div>
-</div>
 <a class="anchor" id="aba8de9eaa10a7cb45c5aa603585d0e4c"></a>
 <div class="memitem">
 <div class="memproto">
@@ -23124,537 +19032,6 @@
 <div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// Convert uint8 vectors to uint16 vectors</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keyword">const</span> uint8x8_t vd_low        = vget_low_u8(vd);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keyword">const</span> uint8x8_t vd_high       = vget_high_u8(vd);</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    uint16x8_t      vd_low_u16x8  = vmovl_u8(vd_low);</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    uint16x8_t      vd_high_u16x8 = vmovl_u8(vd_high);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="comment">// Convert uint16 vectors to uint32 vectors</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    uint32x4_t A_u32x4 = vmovl_u16(vget_low_u16(vd_low_u16x8));</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    uint32x4_t B_u32x4 = vmovl_u16(vget_high_u16(vd_low_u16x8));</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    uint32x4_t C_u32x4 = vmovl_u16(vget_low_u16(vd_high_u16x8));</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    uint32x4_t D_u32x4 = vmovl_u16(vget_high_u16(vd_high_u16x8));</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="comment">// Convert uint32 vectors to float32 vectors</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    float32x4_t A_f32x4 = vcvtq_f32_u32(A_u32x4);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    float32x4_t B_f32x4 = vcvtq_f32_u32(B_u32x4);</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    float32x4_t C_f32x4 = vcvtq_f32_u32(C_u32x4);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    float32x4_t D_f32x4 = vcvtq_f32_u32(D_u32x4);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="comment">// vd = vd*vs + vo</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    A_f32x4 = vmlaq_f32(vo, A_f32x4, vs);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    B_f32x4 = vmlaq_f32(vo, B_f32x4, vs);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    C_f32x4 = vmlaq_f32(vo, C_f32x4, vs);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    D_f32x4 = vmlaq_f32(vo, D_f32x4, vs);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="comment">// Convert float32 vectors to uint32 vectors</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    A_u32x4 = vcvtq_u32_f32(A_f32x4);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    B_u32x4 = vcvtq_u32_f32(B_f32x4);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    C_u32x4 = vcvtq_u32_f32(C_f32x4);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    D_u32x4 = vcvtq_u32_f32(D_f32x4);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="comment">// Convert uint32 vectors to uint16 vectors (with saturation)</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    vd_low_u16x8  = vcombine_u16(vqmovn_u32(A_u32x4), vqmovn_u32(B_u32x4));</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    vd_high_u16x8 = vcombine_u16(vqmovn_u32(C_u32x4), vqmovn_u32(D_u32x4));</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="comment">// convert uint16 vectors to uint8 vectors (with saturation)</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordflow">return</span> vcombine_u8(vqmovn_u16(vd_low_u16x8), vqmovn_u16(vd_high_u16x8));</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
-<a class="anchor" id="a5740aa7e90f78b876eab289c1f555bd6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmlaq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector multiply-accumulate (16 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a8f7e4ade15cc5e0ff880a5cae0afe551"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vmlaq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector multiply-accumulate (16 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aa8689c6e9627c58b6362ac9556b7b85f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vmul_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector multiply (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a87756fc439f4a516852d4c1c845006bd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vmul_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector multiply (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a240b655cf59e7e8e07bd7873e9db0209"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vmull_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector long multiply (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 32 bit fixed point long vector multiplication. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="adedd47ca832ff5041f2e3fb9cecda6e9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmull_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector long multiply (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point long vector multiplication. </dd></dl>
-
-<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00229">arm_compute::detail::convolve_3x3&lt; 1 &gt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aff021302b2661f42dffbb9fe4a6e3587"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vmulq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector multiply (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a9b64880d62b60bb7237d0eb920c02087"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vmulq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector multiply (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a976c55d88da1b155b4a83130a2c25555"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int16x4_t arm_compute::vpaddl_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating pairwise add (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a45b269785fb545f072e5fd313b8b3648"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vpmax_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector pairwise max (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise max operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ac253431834fc1859d112e62ce2a6f59c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vpmax_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector pairwise max (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise max operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a0ab85cdf2cf2a3c2724a1431cab2d93c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vpmin_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector pairwise min (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise min operation </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a9f6abd342d47b531832e11b1837ad0b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vpmin_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector pairwise min (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise min operation </dd></dl>
-
-</div>
-</div>
 <a class="anchor" id="aa6465367a67af2bae4ca46750231dae0"></a>
 <div class="memitem">
 <div class="memproto">
@@ -23692,2059 +19069,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a0d7dfd9d3e62db1e218a965839901b63"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqabs_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Saturating absolute value of 16 bit fixed point vector (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>4 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a16e9223adc0503cd621862bc579ac8fd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqabs_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Saturating absolute value of 8 bit fixed point vector (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="af6a8c22ef994a8035e92882ac525f416"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqabsq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Saturating absolute value of 16 bit fixed point vector (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="abe1d2a5130d2aaf0df28a90a45f8968d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqabsq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Saturating absolute value of 8 bit fixed point vector (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a7b9af77579156d434eb576314495e313"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqadd_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating add (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a53c990687ed6af989bcf4920b06c5092"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqadd_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating add (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ac211d3f3dc485752995088353ae380b5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqaddq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating add (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aaa057569eb92497b2c8c973b3318adb8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqaddq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating add (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ad6a5927c42259aa1e8e8acef8f42b2be"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqcvt_qs16_f32 </td>
-          <td>(</td>
-          <td class="paramtype">const float32x4_t&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert a float vector with 4 elements to 16 bit fixed point vector with 4 elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 16 bit fixed point. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a371a36182341de1fa885d16e8780302f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqcvt_qs8_f32 </td>
-          <td>(</td>
-          <td class="paramtype">const float32x4x2_t&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert a float vector with 4x2 elements to 8 bit fixed point vector with 8 elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ab65a962155ae0435b66bfa12328e5edf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqcvtq_qs16_f32 </td>
-          <td>(</td>
-          <td class="paramtype">const float32x4x2_t &amp;&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 16 bit fixed point. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a8363f66cbb4859d6bff88722def231bb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqcvtq_qs8_f32 </td>
-          <td>(</td>
-          <td class="paramtype">const float32x4x4_t &amp;&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a8aec993498bbb804d3411179eaae5ce8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqexp_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating exponential fixed point 16 bit (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit saturating exponential </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a796dc111009ab985d6bac8664743b56e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqexp_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating exponential fixed point 8bit (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit saturating exponential </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="acb7e4a856a35070e51f402767916fbb5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqexpq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating exponential fixed point 16 bit (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit saturating exponential </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a7274ff184c5e2bf7fd8159ee7905fb7c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqexpq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating exponential fixed point 8bit (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit saturating exponential </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ad1c8116664a899f8756dcfe1c9acbea2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqinvsqrt_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="afcdeee5eb58f1d043bf16fada4d1bbc5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqinvsqrt_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a9c366f52098f4262c6233f46f565d118"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqinvsqrtq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a097eca47afb2688ec59dc72cd84d442d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqinvsqrtq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a82aa0004d0ec3a36047eb9aa8145ae58"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmla_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating multiply-accumulate (4 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a1ef65dbc253ba9bdf9878d587134948d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmla_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating multiply-accumulate (8 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a3821183742f08737679437e657400fd2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vqmlal_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating multiply-accumulate long (4 elements). </p>
-<p>The saturation is performed on the 16 bit fixed point output vector. This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 32 bit fixed point vector <code>a</code> (a + b * c). 4 elements</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a2e9b5e17434f8beaf1010d256b4b41c2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqmlal_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating multiply-accumulate long (8 elements). </p>
-<p>The saturation is performed on the 16 bit fixed point output vector. This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 16 bit fixed point vector <code>a</code> (a + b * c). 8 elements</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
-
-<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00229">arm_compute::detail::convolve_3x3&lt; 1 &gt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7f95e15953c87e04b31dd4fb508ba661"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqmlaq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating multiply-accumulate (8 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate.The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a9b87f278c2405ed16a39dd3c727ed176"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqmlaq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating multiply-accumulate (16 elements). </p>
-<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate.The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a92c2d0b9a8eeb3ab04a39a25fef2b6c3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmovn_q16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating narrow (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point vector to convert</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a12e7578c32321d2362114563881153ee"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmovn_q32 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>32 bit fixed point vector saturating narrow (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>32 bit fixed point vector to convert</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="afdab93549d4c969851a39081a7f282a1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmul_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating multiply (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a13b07f92cefe3dcc799ab28c351419cb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmul_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating multiply (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a97a9dc05834e61a1aca309400bfded8c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqmulq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating multiply (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a8391ec73756d60aa43a82c04d5ece85e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqmulq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating multiply (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a7db8aa4f9e7973933b2fb17c8278add0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqpowq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating n power for fixed point 16bit (8 elements). </p>
-<p>pow(a,b) = e^(b*log(a))</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16bit fixed point power vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16bit power. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a0d4cef7d7331ac5a216d8bd3000564db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqpowq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate saturating n power for fixed point 8bit (16 elements). </p>
-<p>pow(a,b) = e^(b*log(a))</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8bit fixed point power vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit power. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a496848521c818232b32b1ea1f481d1f2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqsub_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating subtraction (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a8a94adba1cfff4ce4142add654c60521"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqsub_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating subtraction (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a270d4ddc6689933d1d239eabf7649e54"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqsubq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector saturating subtraction (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a7e8458b3298a996c332d771b1058e515"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqsubq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector saturating subtraction (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a37fac70d8902a85688e7c0e8781099e8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqtanh_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate hyperbolic tangent for fixed point 16 bit (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a7e2b6f46b6457834c1e0248089a52ec8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqtanh_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate hyperbolic tangent for fixed point 8bit (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a424118de27c3118ff9d2d704663f746c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqtanhq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate hyperbolic tangent for fixed point 16bit (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aa999fb138baf59c481d6a7c40832623c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqtanhq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate hyperbolic tangent for fixed point 8bit (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a6684a81eb6da5626f58dc2f779442363"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vrecip_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
-<p>(4 elements)</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit reciprocal (1/a). </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a8296fccbf09fbf34ad4b92f4021006da"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vrecip_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
-<p>(8 elements)</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit reciprocal (1/a). </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a0c9efa256360bb7dbb87e1ddd439727b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vrecipq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
-<p>(8 elements)</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit reciprocal (1/a). </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="aaa8caca8d68cca50001e0c60b01cf3b7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vrecipq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
-<p>(16 elements)</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit reciprocal (1/a). </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a5002d49f346614198f3e8b475f27a7eb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void arm_compute::vst1_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Store a single 16 bit fixed point vector to memory (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 16 bit fixed point vector should be stored </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00503">arm_compute::detail::store_results&lt; 3 &gt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7eed40dd2defff08c98f66bf0c67c61d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void arm_compute::vst1_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Store a single 8 bit fixed point vector to memory (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 8 bit fixed point vector should be stored </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a class="anchor" id="af3bb253fc02f0f58278794832cff641c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void arm_compute::vst1q_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Store a single 16 bit fixed point vector to memory (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 16 bit fixed point vector should be stored </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00490">arm_compute::detail::store_results&lt; 1 &gt;()</a>, and <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00497">arm_compute::detail::store_results&lt; 2 &gt;()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1839b5e8f0a3b1702b661a1838fba830"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void arm_compute::vst1q_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Store a single 8 bit fixed point vector to memory (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 8 bit fixed point vector should be stored </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a class="anchor" id="a133a4b6b925f585d9e3cab041494ddca"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void arm_compute::vst2q_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Store two 16 bit fixed point vector to memory (8x2 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 16 bit fixed point vectors should be stored </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vectors to store </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a class="anchor" id="a9c19223d683db3fb9a2afae06a9172da"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vsub_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</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#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector subtraction (4 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ac8b8422b0719e35a7faba44cbd81c973"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vsub_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</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#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector subtraction (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a8d4129255837b86e09fcc326e46821fb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vsubq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</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#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>16 bit fixed point vector subtraction (8 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ac081f136f0b4e5e1faba00197b0f5bb6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vsubq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</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#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>8 bit fixed point vector subtraction (16 elements) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction </dd></dl>
-
-</div>
-</div>
 <a class="anchor" id="a3e59419da344d02daca9c5b274a1da45"></a>
 <div class="memitem">
 <div class="memproto">
@@ -25772,80 +19096,6 @@
 
 </div>
 </div>
-<a class="anchor" id="a1629fb1e72d3c423a27c4b99befdca42"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vtaylor_poly_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Perform a 4th degree polynomial approximation. </p>
-<p>(4 elements)</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit taylor approximation. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a0e0e8c2bd0e807665d319522a9759290"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vtaylor_poly_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Perform a 4th degree polynomial approximation. </p>
-<p>(8 elements)</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
-
-</div>
-</div>
 <a class="anchor" id="a0c10bb00a86edd8d0cd4c33b494f6cd4"></a>
 <div class="memitem">
 <div class="memproto">
@@ -25882,80 +19132,6 @@
 
 </div>
 </div>
-<a class="anchor" id="aa8fcc7e78931bef2916548369bc928e3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vtaylor_polyq_qs16 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Perform a 4th degree polynomial approximation. </p>
-<p>(8 elements)</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="a026e9fe1c4037706de8f6206efd98a56"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vtaylor_polyq_qs8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fixed_point_position</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Perform a 4th degree polynomial approximation. </p>
-<p>(16 elements)</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
-
-</div>
-</div>
 <h2 class="groupheader">Variable Documentation</h2>
 <a class="anchor" id="a3fed059965fe44cbe7ed4091d6b63acf"></a>
 <div class="memitem">
@@ -25969,7 +19145,7 @@
 
 <p>Constant value of the border pixels when using <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92" title="Pixels outside the image are assumed to have a constant value. ">BorderMode::CONSTANT</a>. </p>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00101">101</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00098">98</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
 
 </div>
 </div>
@@ -26033,9 +19209,9 @@
 
 <p>Constant value used to indicate a half-scale pyramid. </p>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00104">104</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00101">101</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
 
-<p>Referenced by <a class="el" href="_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="reference_2_optical_flow_8cpp_source.xhtml#l00246">arm_compute::test::validation::reference::optical_flow()</a>.</p>
+<p>Referenced by <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>
 
 </div>
 </div>
@@ -26051,7 +19227,7 @@
 
 <p>Constant value used to indicate a ORB scaled pyramid. </p>
 
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00107">107</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00104">104</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
 
 </div>
 </div>
@@ -26061,7 +19237,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 Wed May 23 2018 11:36:40 for Compute Library by
+    <li class="footer">Generated on Wed Aug 29 2018 15:31:41 for Compute Library by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
   </ul>