arm_compute v17.05
diff --git a/documentation/namespacearm__compute.xhtml b/documentation/namespacearm__compute.xhtml
index 0a8fba0..15c085d 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">ARM Compute Library
-  <span id="projectnumber">17.04</span>
+  <span id="projectnumber">17.05</span>
</div>
</td>
</tr>
@@ -368,6 +368,9 @@
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m.xhtml">CLGEMM</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMM on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4.xhtml">CLGEMMInterleave4x4</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml" title="OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. ">CLGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml">CLGEMMInterleave4x4Kernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. <a href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -872,15 +875,6 @@
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution3x3.xhtml">NEConvolution3x3</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_n_e_convolution3x3.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution5x5.xhtml">NEConvolution5x5</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 5x5. <a href="classarm__compute_1_1_n_e_convolution5x5.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution7x7.xhtml">NEConvolution7x7</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 7x7. <a href="classarm__compute_1_1_n_e_convolution7x7.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution9x9.xhtml">NEConvolution9x9</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 9x9. <a href="classarm__compute_1_1_n_e_convolution9x9.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_n_e_convolution_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -896,6 +890,9 @@
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml">NEConvolutionRectangleKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 5x5, 7x7, 9x9. <a href="classarm__compute_1_1_n_e_convolution_square.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml">NECumulativeDistributionKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the cumulative distribution (cummulative summmation) calculation kernel. <a href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1029,10 +1026,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template NEON kernel to perform Harris Score. <a href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram.xhtml">NEHistogram</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute histogram. <a href="classarm__compute_1_1_n_e_histogram.xhtml#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram_border_kernel.xhtml">NEHistogramBorderKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the histogram border handling kernel. <a href="classarm__compute_1_1_n_e_histogram_border_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a>. <a href="classarm__compute_1_1_n_e_histogram.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the histogram kernel. <a href="classarm__compute_1_1_n_e_histogram_kernel.xhtml#details">More...</a><br /></td></tr>
@@ -1131,7 +1125,7 @@
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml">NENonMaximaSuppression3x3FP16Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression 3x3. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in F16 if the input data type is F32. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to perform Non-Maxima suppression over a 3x3 window using NEON. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml#details">More...</a><br /></td></tr>
@@ -1473,6 +1467,15 @@
<tr class="separator:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ec6965f606c588137f7a48d84c1d6f0">CLOldValueArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< <a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a> ></td></tr>
<tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adbc7771d367ba8f51da1450d3602e5c0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adbc7771d367ba8f51da1450d3602e5c0">NEConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>< 5 ></td></tr>
+<tr class="memdesc:adbc7771d367ba8f51da1450d3602e5c0"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#adbc7771d367ba8f51da1450d3602e5c0">More...</a><br /></td></tr>
+<tr class="separator:adbc7771d367ba8f51da1450d3602e5c0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeb2682fbeb2766df26b4be1971c9757d"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeb2682fbeb2766df26b4be1971c9757d">NEConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>< 7 ></td></tr>
+<tr class="memdesc:aeb2682fbeb2766df26b4be1971c9757d"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#aeb2682fbeb2766df26b4be1971c9757d">More...</a><br /></td></tr>
+<tr class="separator:aeb2682fbeb2766df26b4be1971c9757d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae5a088552f26a1afafd0cbf821d256fb"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae5a088552f26a1afafd0cbf821d256fb">NEConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>< 9 ></td></tr>
+<tr class="memdesc:ae5a088552f26a1afafd0cbf821d256fb"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#ae5a088552f26a1afafd0cbf821d256fb">More...</a><br /></td></tr>
+<tr class="separator:ae5a088552f26a1afafd0cbf821d256fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a681c120e2188371794ec3a59768c64ab"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a681c120e2188371794ec3a59768c64ab">LKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> ></td></tr>
<tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9d037379f22f90d871d3fa4ad337437a"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d037379f22f90d871d3fa4ad337437a">NEScheduler</a> = <a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
@@ -1640,6 +1643,8 @@
<tr class="memitem:a22af22ebac966b76e8553127064201a2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22af22ebac966b76e8553127064201a2">enqueue</a> (cl::CommandQueue &queue, <a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &window, const cl::NDRange &lws_hint=cl::Range_128_1)</td></tr>
<tr class="memdesc:a22af22ebac966b76e8553127064201a2"><td class="mdescLeft"> </td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a22af22ebac966b76e8553127064201a2">More...</a><br /></td></tr>
<tr class="separator:a22af22ebac966b76e8553127064201a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa4f4d7a58287017588fc338965873f14"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa4f4d7a58287017588fc338965873f14">opencl_is_available</a> ()</td></tr>
+<tr class="separator:aa4f4d7a58287017588fc338965873f14"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a568b0fbfa3d903099d9c9f7b6acf188d">error</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
<tr class="memdesc:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="mdescLeft"> </td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a568b0fbfa3d903099d9c9f7b6acf188d">More...</a><br /></td></tr>
<tr class="separator:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1713,24 +1718,24 @@
<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplParams" colspan="2">template<bool alpha> </td></tr>
<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad304c0b0a72ed3f65c24fa69ab3cd53e">colorconvert_rgb_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
<tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aab4b53a52d617f05420711425f20ed4b"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab4b53a52d617f05420711425f20ed4b">vinvsqrt_f32</a> (float32x4_t x)</td></tr>
-<tr class="memdesc:aab4b53a52d617f05420711425f20ed4b"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root. <a href="#aab4b53a52d617f05420711425f20ed4b">More...</a><br /></td></tr>
-<tr class="separator:aab4b53a52d617f05420711425f20ed4b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a99d2837a875fc6bca19755f40205f04a"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99d2837a875fc6bca19755f40205f04a">vinv_f32</a> (const float32x4_t &x)</td></tr>
-<tr class="memdesc:a99d2837a875fc6bca19755f40205f04a"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal. <a href="#a99d2837a875fc6bca19755f40205f04a">More...</a><br /></td></tr>
-<tr class="separator:a99d2837a875fc6bca19755f40205f04a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aa4e5c4d2084010ee1c68475fde882f84"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">vtaylor_poly_f32</a> (const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs)</td></tr>
-<tr class="memdesc:aa4e5c4d2084010ee1c68475fde882f84"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 7th degree polynomial approximation using Estrin's method. <a href="#aa4e5c4d2084010ee1c68475fde882f84">More...</a><br /></td></tr>
-<tr class="separator:aa4e5c4d2084010ee1c68475fde882f84"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ab61617950fb57bf883ee19fc4e219826"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">vexp_f32</a> (const float32x4_t &x)</td></tr>
-<tr class="memdesc:ab61617950fb57bf883ee19fc4e219826"><td class="mdescLeft"> </td><td class="mdescRight">Calculate exponential. <a href="#ab61617950fb57bf883ee19fc4e219826">More...</a><br /></td></tr>
-<tr class="separator:ab61617950fb57bf883ee19fc4e219826"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:afa7e6a89815b00d86c5ae6ec73d79c26"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa7e6a89815b00d86c5ae6ec73d79c26">vlog_f32</a> (const float32x4_t &x)</td></tr>
-<tr class="memdesc:afa7e6a89815b00d86c5ae6ec73d79c26"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm. <a href="#afa7e6a89815b00d86c5ae6ec73d79c26">More...</a><br /></td></tr>
-<tr class="separator:afa7e6a89815b00d86c5ae6ec73d79c26"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:af2002ba27e8c8033e3038da708248f32"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af2002ba27e8c8033e3038da708248f32">vtanh_f32</a> (const float32x4_t &val)</td></tr>
-<tr class="memdesc:af2002ba27e8c8033e3038da708248f32"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#af2002ba27e8c8033e3038da708248f32">More...</a><br /></td></tr>
-<tr class="separator:af2002ba27e8c8033e3038da708248f32"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab8970d7aed07d8649f5e3088455948b8"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab8970d7aed07d8649f5e3088455948b8">vinvsqrtq_f32</a> (float32x4_t x)</td></tr>
+<tr class="memdesc:ab8970d7aed07d8649f5e3088455948b8"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root. <a href="#ab8970d7aed07d8649f5e3088455948b8">More...</a><br /></td></tr>
+<tr class="separator:ab8970d7aed07d8649f5e3088455948b8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae1cdb8bbcb3f7ce5d3469f42f19d37a6"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae1cdb8bbcb3f7ce5d3469f42f19d37a6">vinvq_f32</a> (const float32x4_t &x)</td></tr>
+<tr class="memdesc:ae1cdb8bbcb3f7ce5d3469f42f19d37a6"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal. <a href="#ae1cdb8bbcb3f7ce5d3469f42f19d37a6">More...</a><br /></td></tr>
+<tr class="separator:ae1cdb8bbcb3f7ce5d3469f42f19d37a6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac91f64208cebf2177a6be3a40ecebca8"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">vtaylor_polyq_f32</a> (const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs)</td></tr>
+<tr class="memdesc:ac91f64208cebf2177a6be3a40ecebca8"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 7th degree polynomial approximation using Estrin's method. <a href="#ac91f64208cebf2177a6be3a40ecebca8">More...</a><br /></td></tr>
+<tr class="separator:ac91f64208cebf2177a6be3a40ecebca8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa197f574e5effe492aa8034651467eb3"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">vexpq_f32</a> (const float32x4_t &x)</td></tr>
+<tr class="memdesc:aa197f574e5effe492aa8034651467eb3"><td class="mdescLeft"> </td><td class="mdescRight">Calculate exponential. <a href="#aa197f574e5effe492aa8034651467eb3">More...</a><br /></td></tr>
+<tr class="separator:aa197f574e5effe492aa8034651467eb3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4082e6868f902da08483e54ec07484c8"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4082e6868f902da08483e54ec07484c8">vlogq_f32</a> (const float32x4_t &x)</td></tr>
+<tr class="memdesc:a4082e6868f902da08483e54ec07484c8"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm. <a href="#a4082e6868f902da08483e54ec07484c8">More...</a><br /></td></tr>
+<tr class="separator:a4082e6868f902da08483e54ec07484c8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9598330b2406691ce6580f7506e62168"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9598330b2406691ce6580f7506e62168">vtanhq_f32</a> (const float32x4_t &val)</td></tr>
+<tr class="memdesc:a9598330b2406691ce6580f7506e62168"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a9598330b2406691ce6580f7506e62168">More...</a><br /></td></tr>
+<tr class="separator:a9598330b2406691ce6580f7506e62168"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae0dbcd09c015bda4ab290b957d7bd6c7"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae0dbcd09c015bda4ab290b957d7bd6c7">vpowq_f32</a> (const float32x4_t &val, const float32x4_t &n)</td></tr>
<tr class="memdesc:ae0dbcd09c015bda4ab290b957d7bd6c7"><td class="mdescLeft"> </td><td class="mdescRight">Calculate n power of a number. <a href="#ae0dbcd09c015bda4ab290b957d7bd6c7">More...</a><br /></td></tr>
<tr class="separator:ae0dbcd09c015bda4ab290b957d7bd6c7"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2751,7 +2756,7 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00253">253</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00266">266</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -2855,6 +2860,22 @@
</div>
</div>
+<a class="anchor" id="adbc7771d367ba8f51da1450d3602e5c0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#adbc7771d367ba8f51da1450d3602e5c0">NEConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a><5></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run 5x5 convolution. </p>
+
+<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a21898b2d2e31ab9af8933c66ff82c8c6"></a>
<div class="memitem">
<div class="memproto">
@@ -2871,6 +2892,22 @@
</div>
</div>
+<a class="anchor" id="aeb2682fbeb2766df26b4be1971c9757d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aeb2682fbeb2766df26b4be1971c9757d">NEConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a><7></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run 7x7 convolution. </p>
+
+<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="ae46cbbe03d31c6c8e7eba7b58999842d"></a>
<div class="memitem">
<div class="memproto">
@@ -2887,6 +2924,22 @@
</div>
</div>
+<a class="anchor" id="ae5a088552f26a1afafd0cbf821d256fb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ae5a088552f26a1afafd0cbf821d256fb">NEConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a><9></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Basic function to run 9x9 convolution. </p>
+
+<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00102">102</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a1025306f820a9e76df7e5891caacff7b"></a>
<div class="memitem">
<div class="memproto">
@@ -3023,7 +3076,7 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00178">178</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00191">191</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -3110,8 +3163,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00196">196</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">arm_compute::BilinearInterpolation::BILINEAR_OLD_NEW</a></div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00209">209</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">arm_compute::BilinearInterpolation::BILINEAR_OLD_NEW</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">arm_compute::BilinearInterpolation::BILINEAR_SCHARR</a></div></div>
</div><!-- fragment -->
</div>
@@ -3147,8 +3200,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00108">108</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::BorderMode::UNDEFINED</a></div><div class="ttdoc">Borders are left undefined. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::BorderMode::UNDEFINED</a></div><div class="ttdoc">Borders are left undefined. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">arm_compute::BorderMode::REPLICATE</a></div><div class="ttdoc">Pixels outside the image are assumed to have the same value as the closest image pixel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">arm_compute::BorderMode::CONSTANT</a></div><div class="ttdoc">Pixels outside the image are assumed to have a constant value. </div></div>
</div><!-- fragment -->
@@ -3212,8 +3265,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00280">280</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00293">293</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">arm_compute::Channel::C1</a></div><div class="ttdoc">Second channel (used by formats with unknown channel types). </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">arm_compute::Channel::V</a></div><div class="ttdoc">Cr/V/Value channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
@@ -3256,8 +3309,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00181">181</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">arm_compute::ConvertPolicy::WRAP</a></div><div class="ttdoc">Wrap around. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00194">194</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">arm_compute::ConvertPolicy::WRAP</a></div><div class="ttdoc">Wrap around. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">arm_compute::ConvertPolicy::SATURATE</a></div><div class="ttdoc">Saturate. </div></div>
</div><!-- fragment -->
</div>
@@ -3310,8 +3363,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00059">59</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">Unknown image format. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00060">60</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">Unknown image format. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F16 per channel </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 S16 per channel </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a></div></div>
@@ -3356,8 +3409,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00348">348</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">arm_compute::DimensionRoundingType::CEIL</a></div><div class="ttdoc">Ceil rounding. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00361">361</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> {</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">arm_compute::DimensionRoundingType::CEIL</a></div><div class="ttdoc">Ceil rounding. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">arm_compute::DimensionRoundingType::FLOOR</a></div><div class="ttdoc">Floor rounding. </div></div>
</div><!-- fragment -->
</div>
@@ -3435,8 +3488,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a></div><div class="ttdoc">A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00038">38</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> {</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a></div><div class="ttdoc">A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">Unknown image format. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F16 per channel </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">arm_compute::Format::NV12</a></div><div class="ttdoc">A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </div></div>
@@ -3490,8 +3543,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00321">321</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> {</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>, </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>, </div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>, </div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52">L1SQRT_NORM</a> </div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a></div><div class="ttdoc">L2-norm followed by clipping. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00334">334</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>, </div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>, </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>, </div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52">L1SQRT_NORM</a> </div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a></div><div class="ttdoc">L2-norm followed by clipping. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">arm_compute::HOGNormType::L1_NORM</a></div><div class="ttdoc">L1 norm. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">arm_compute::HOGNormType::L2_NORM</a></div><div class="ttdoc">L2-norm. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52">arm_compute::HOGNormType::L1SQRT_NORM</a></div><div class="ttdoc">L1 norm with SQRT. </div></div>
@@ -3529,8 +3582,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00188">188</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> {</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">arm_compute::InterpolationPolicy::BILINEAR</a></div><div class="ttdoc">Output values are defined by bilinear interpolation between the pixels. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00201">201</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">arm_compute::InterpolationPolicy::BILINEAR</a></div><div class="ttdoc">Output values are defined by bilinear interpolation between the pixels. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">arm_compute::InterpolationPolicy::NEAREST_NEIGHBOR</a></div><div class="ttdoc">Output values are defined to match the source pixel whose center is nearest to the sample position...</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">arm_compute::InterpolationPolicy::AREA</a></div><div class="ttdoc">Output values are determined by averaging the source pixels whose areas fall under the area of the de...</div></div>
</div><!-- fragment -->
@@ -3564,8 +3617,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00225">225</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">arm_compute::MagnitudeType::L1NORM</a></div><div class="ttdoc">L1 normalization type. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00238">238</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">arm_compute::MagnitudeType::L1NORM</a></div><div class="ttdoc">L1 normalization type. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">arm_compute::MagnitudeType::L2NORM</a></div><div class="ttdoc">L2 normalization type. </div></div>
</div><!-- fragment -->
</div>
@@ -3604,8 +3657,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00297">297</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">arm_compute::MatrixPattern::DISK</a></div><div class="ttdoc">Disk pattern matrix. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00310">310</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">arm_compute::MatrixPattern::DISK</a></div><div class="ttdoc">Disk pattern matrix. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">arm_compute::MatrixPattern::BOX</a></div><div class="ttdoc">Box pattern matrix. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">arm_compute::MatrixPattern::CROSS</a></div><div class="ttdoc">Cross pattern matrix. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">arm_compute::MatrixPattern::OTHER</a></div><div class="ttdoc">Any other matrix pattern. </div></div>
@@ -3643,8 +3696,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00306">306</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  : <span class="keywordtype">unsigned</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00319">319</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  : <span class="keywordtype">unsigned</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">arm_compute::NonLinearFilterFunction::MIN</a></div><div class="ttdoc">Non linear erode. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">arm_compute::NonLinearFilterFunction::MEDIAN</a></div><div class="ttdoc">Non linear median filter. </div></div>
</div><!-- fragment -->
@@ -3676,8 +3729,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00314">314</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2">IN_MAP</a>, <span class="comment">/* Normalization applied within the same map */</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> <span class="comment">/* Normalization applied cross maps */</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2">arm_compute::NormType::IN_MAP</a></div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00327">327</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2">IN_MAP</a>, <span class="comment">/* Normalization applied within the same map */</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> <span class="comment">/* Normalization applied cross maps */</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2">arm_compute::NormType::IN_MAP</a></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>
</div><!-- fragment -->
</div>
@@ -3711,8 +3764,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00235">235</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">arm_compute::PhaseType::UNSIGNED</a></div><div class="ttdoc">Angle range: [0, 180]. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00248">248</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">arm_compute::PhaseType::UNSIGNED</a></div><div class="ttdoc">Angle range: [0, 180]. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">arm_compute::PhaseType::SIGNED</a></div><div class="ttdoc">Angle range: [0, 360]. </div></div>
</div><!-- fragment -->
</div>
@@ -3745,8 +3798,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00355">355</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00356"></a><span class="lineno"> 356</span> {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a> </div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> };</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>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00368">368</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> {</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a> </div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> };</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 -->
</div>
@@ -3779,8 +3832,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00210">210</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>, </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">arm_compute::RoundingPolicy::TO_NEAREST_EVEN</a></div><div class="ttdoc">Rounds to nearest even output value. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00223">223</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> {</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>, </div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a> </div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">arm_compute::RoundingPolicy::TO_NEAREST_EVEN</a></div><div class="ttdoc">Rounds to nearest even output value. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">arm_compute::RoundingPolicy::TO_ZERO</a></div><div class="ttdoc">Truncates the least significand values that are lost in operations. </div></div>
</div><!-- fragment -->
</div>
@@ -3813,8 +3866,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00217">217</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">arm_compute::Termination::TERM_CRITERIA_EPSILON</a></div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00230">230</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">arm_compute::Termination::TERM_CRITERIA_EPSILON</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">arm_compute::Termination::TERM_CRITERIA_ITERATIONS</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">arm_compute::Termination::TERM_CRITERIA_BOTH</a></div></div>
</div><!-- fragment -->
@@ -3848,8 +3901,8 @@
</td></tr>
</table>
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00203">203</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">arm_compute::ThresholdType::RANGE</a></div><div class="ttdoc">Threshold with two values. </div></div>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00216">216</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> {</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">arm_compute::ThresholdType::RANGE</a></div><div class="ttdoc">Threshold with two values. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">arm_compute::ThresholdType::BINARY</a></div><div class="ttdoc">Threshold with one value. </div></div>
</div><!-- fragment -->
</div>
@@ -4087,7 +4140,7 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
-<p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00294">update_window_and_padding()</a>.</p>
+<p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00307">update_window_and_padding()</a>.</p>
</div>
</div>
@@ -4139,7 +4192,7 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
-<p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00294">update_window_and_padding()</a>.</p>
+<p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00307">update_window_and_padding()</a>.</p>
</div>
</div>
@@ -4784,12 +4837,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> object based on the specified strides. Missing strides are calculated based on the tensor shape and the strides of lower dimensions. </dd></dl>
-<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00376">376</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00389">389</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
<p>References <a class="el" href="_tensor_info_8h_source.xhtml#l00239">TensorInfo::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00073">Dimensions< T >::set()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00255">TensorInfo::tensor_shape()</a>.</p>
-<p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00398">compute_strides()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> {</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keyword">const</span> TensorShape &shape = info.tensor_shape();</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="comment">// Create strides object</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  Strides strides(stride_x, fixed_strides...);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i < info.num_dimensions(); ++i)</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  strides.set(i, shape[i - 1] * strides[i - 1]);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  }</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">return</span> strides;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div></div><!-- fragment -->
+<p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00411">compute_strides()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keyword">const</span> TensorShape &shape = info.tensor_shape();</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="comment">// Create strides object</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  Strides strides(stride_x, fixed_strides...);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i < info.num_dimensions(); ++i)</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  {</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  strides.set(i, shape[i - 1] * strides[i - 1]);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  }</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">return</span> strides;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a99bbb937f89cde6dfe346f566d41c707"></a>
@@ -4823,10 +4876,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> object based on element size and tensor shape. </dd></dl>
-<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00398">398</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00411">411</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="_helpers_8h_source.xhtml#l00376">compute_strides()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00231">TensorInfo::element_size()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span> {</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a99bbb937f89cde6dfe346f566d41c707">compute_strides</a>(info, info.element_size());</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a99bbb937f89cde6dfe346f566d41c707"><div class="ttname"><a href="namespacearm__compute.xhtml#a99bbb937f89cde6dfe346f566d41c707">arm_compute::compute_strides</a></div><div class="ttdeci">Strides compute_strides(const TensorInfo &info)</div><div class="ttdoc">Create a strides object based on the tensor dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8h_source.xhtml#l00398">Helpers.h:398</a></div></div>
+<p>References <a class="el" href="_helpers_8h_source.xhtml#l00389">compute_strides()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00231">TensorInfo::element_size()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00412"></a><span class="lineno"> 412</span> {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a99bbb937f89cde6dfe346f566d41c707">compute_strides</a>(info, info.element_size());</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a99bbb937f89cde6dfe346f566d41c707"><div class="ttname"><a href="namespacearm__compute.xhtml#a99bbb937f89cde6dfe346f566d41c707">arm_compute::compute_strides</a></div><div class="ttdeci">Strides compute_strides(const TensorInfo &info)</div><div class="ttdoc">Create a strides object based on the tensor dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8h_source.xhtml#l00411">Helpers.h:411</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -4923,7 +4976,7 @@
<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#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
<div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> {</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &v)</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  };</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keyword">auto</span> accu_neg = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &first, <span class="keyword">const</span> <span class="keywordtype">int</span> &second)</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">return</span> first + (second < 0 ? second : 0);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  };</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keyword">auto</span> accu_pos = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &first, <span class="keyword">const</span> <span class="keywordtype">int</span> &second)</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  {</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">return</span> first + (second > 0 ? second : 0);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  };</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + size, gez) && std::all_of(conv_col, conv_col + size, gez);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  {</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="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="l00460"></a><span class="lineno"> 460</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + size, 0) * max_row_value;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  first_stage = (max_row_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  second_stage = (max_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  {</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keyword">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="l00469"></a><span class="lineno"> 469</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + size, 0, accu_pos) * UINT8_MAX;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> neg_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + size, 0, accu_neg);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pos_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + size, 0, accu_pos);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = neg_coeffs_sum * max_row_value + pos_coeffs_sum * min_row_value;</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = neg_coeffs_sum * min_row_value + pos_coeffs_sum * max_row_value;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  first_stage = ((INT16_MIN <= min_row_value) && (max_row_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  second_stage = ((INT16_MIN <= min_value) && (max_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span> }</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00059">Types.h:59</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="_types_8h_source.xhtml#l00060">Types.h:60</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -5525,7 +5578,7 @@
<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string & string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
<div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00110">Error.h:110</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="_types_8h_source.xhtml#l00059">Types.h:59</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="_types_8h_source.xhtml#l00060">Types.h:60</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -5595,7 +5648,7 @@
<p>References <a class="el" href="_error_8h_source.xhtml#l00110">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00092">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="_error_8h.xhtml#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="l00200"></a><span class="lineno"> 200</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &&object_format = <span class="keywordtype">object</span>->info()->format();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(object_format);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="_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="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">const</span> std::array<F, <span class="keyword">sizeof</span>...(Fs)> formats_array{ { std::forward<Fs>(formats)... } };</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(formats_array);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(object_format != format && std::none_of(formats_array.begin(), formats_array.end(), [&](<span class="keyword">const</span> F & f)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">return</span> f == object_format;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  }),</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Format %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a>(object_format).c_str());</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a></div><div class="ttdeci">Format</div><div class="ttdoc">Image colour formats. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00037">Types.h:37</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="_types_8h_source.xhtml#l00038">Types.h:38</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#l00110">Error.h:110</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a9c92c867fc64454545668d87b20979eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">arm_compute::string_from_format</a></div><div class="ttdeci">const std::string & string_from_format(Format format)</div><div class="ttdoc">Convert a tensor format into a string. </div></div>
</div><!-- fragment -->
@@ -5785,7 +5838,7 @@
<p>References <a class="el" href="_error_8h_source.xhtml#l00092">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00263">TensorInfo::data_type()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">ITensor::info()</a>.</p>
<div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_1);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_2);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&first_data_type = tensor_1->info()->data_type();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(first_data_type);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">const</span> std::array<<span class="keyword">const</span> ITensor *, <span class="keyword">sizeof</span>...(Ts)> tensors_array{ { std::forward<Ts>(tensors)... } };</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_2->info()->data_type() != first_data_type || std::any_of(tensors_array.begin(), tensors_array.end(), [&](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> tensor->info()->data_type() != first_data_type;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }),</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different data types"</span>);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00059">Types.h:59</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="_types_8h_source.xhtml#l00060">Types.h:60</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -6125,7 +6178,7 @@
</dd>
</dl>
-<p>Referenced by <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="test__helpers_2_utils_8h_source.xhtml#l00142">PPMLoader::fill_image()</a>, <a class="el" href="neon__copy__objects_8cpp_source.xhtml#l00035">main_neon_copy_objects()</a>, and <a class="el" href="test__helpers_2_utils_8h_source.xhtml#l00245">test_helpers::save_to_ppm()</a>.</p>
+<p>Referenced by <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="test__helpers_2_utils_8h_source.xhtml#l00140">PPMLoader::fill_image()</a>, <a class="el" href="neon__copy__objects_8cpp_source.xhtml#l00035">main_neon_copy_objects()</a>, and <a class="el" href="test__helpers_2_utils_8h_source.xhtml#l00243">test_helpers::save_to_ppm()</a>.</p>
</div>
</div>
@@ -6260,10 +6313,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
-<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00344">344</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00357">357</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="_types_8h_source.xhtml#l00103">ValidRegion::anchor</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00108">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00073">Dimensions< T >::set()</a>, and <a class="el" href="_types_8h_source.xhtml#l00104">ValidRegion::shape</a>.</p>
-<div class="fragment"><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keyword">auto</span> intersect = [](<span class="keyword">const</span> ValidRegion & r1, <span class="keyword">const</span> ValidRegion & r2) -> ValidRegion</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  ValidRegion region;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  {</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  region.anchor.set(d, std::max(r1.anchor[d], r2.anchor[d]));</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  region.shape.set(d, std::min(r1.shape[d], r2.shape[d]));</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  }</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">return</span> region;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  };</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">return</span> foldl(intersect, std::forward<Ts>(regions)...);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</div></div><!-- fragment -->
+<p>References <a class="el" href="_types_8h_source.xhtml#l00116">ValidRegion::anchor</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00108">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00073">Dimensions< T >::set()</a>, and <a class="el" href="_types_8h_source.xhtml#l00117">ValidRegion::shape</a>.</p>
+<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> {</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keyword">auto</span> intersect = [](<span class="keyword">const</span> ValidRegion & r1, <span class="keyword">const</span> ValidRegion & r2) -> ValidRegion</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  ValidRegion region;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  {</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  region.anchor.set(d, std::max(r1.anchor[d], r2.anchor[d]));</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  {</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  region.shape.set(d, std::min(r1.shape[d], r2.shape[d]));</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  }</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">return</span> region;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  };</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> foldl(intersect, std::forward<Ts>(regions)...);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="af5982a092e9eb743fce2d6392bdd8897"></a>
@@ -6495,6 +6548,21 @@
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="aa4f4d7a58287017588fc338965873f14"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool arm_compute::opencl_is_available </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a4823543d67a2520c98669e2a5608ef6a"></a>
<div class="memitem">
<div class="memproto">
@@ -7134,10 +7202,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the window has been changed. Changes to the padding do not influence the returned value. </dd></dl>
-<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00294">294</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00307">307</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#aa8063930734453501dbe41f60c5a89d9">calculate_max_window()</a>, <a class="el" href="namespacearm__compute.xhtml#a0451630695335182319ee53d785d0715">calculate_max_window_horizontal()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#abd645498a7cbaebd88b257083e459dd6">IAccessWindow::update_padding_if_needed()</a>, and <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  for_each([&](<span class="keyword">const</span> IAccessWindow & w)</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  window_changed |= w.update_window_if_needed(win);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  },</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  patterns...);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  for_each([&](<span class="keyword">const</span> IAccessWindow & w)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  padding_changed |= w.update_padding_if_needed(win);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  },</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  patterns...);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">return</span> window_changed;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  for_each([&](<span class="keyword">const</span> IAccessWindow & w)</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  {</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  window_changed |= w.update_window_if_needed(win);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  },</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  patterns...);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  for_each([&](<span class="keyword">const</span> IAccessWindow & w)</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  padding_changed |= w.update_padding_if_needed(win);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  },</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  patterns...);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">return</span> window_changed;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ae350823b5c93227dc33f1105ece06d68"></a>
@@ -7167,7 +7235,7 @@
<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span>std::ostringstream &<span class="keyword">></span>(std::ostringstream() << val).str();</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div></div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="ab61617950fb57bf883ee19fc4e219826"></a>
+<a class="anchor" id="aa197f574e5effe492aa8034651467eb3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -7175,7 +7243,7 @@
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">float32x4_t arm_compute::vexp_f32 </td>
+ <td class="memname">float32x4_t arm_compute::vexpq_f32 </td>
<td>(</td>
<td class="paramtype">const float32x4_t & </td>
<td class="paramname"><em>x</em></td><td>)</td>
@@ -7200,15 +7268,15 @@
<p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00115">115</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
-<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00097">vtaylor_poly_f32()</a>.</p>
+<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00097">vtaylor_polyq_f32()</a>.</p>
-<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00186">vpowq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00165">vtanh_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_INV_LN2 = vdupq_n_f32(1.4426950408f); <span class="comment">// 1/ln(2)</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  int32x4_t m = vcvtq_s32_f32(vmulq_f32(x, CONST_INV_LN2));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  float32x4_t val = vmlsq_f32(x, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">vtaylor_poly_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  poly = vreinterpretq_f32_s32(vaddq_s32(vreinterpretq_s32_f32(poly), vshlq_n_s32(m, 23)));</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aa4e5c4d2084010ee1c68475fde882f84"><div class="ttname"><a href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">arm_compute::vtaylor_poly_f32</a></div><div class="ttdeci">float32x4_t vtaylor_poly_f32(const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00097">NEMath.h:97</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a869945609357fa552d94eb16f7aad4e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">arm_compute::exp_tab</a></div><div class="ttdeci">const std::array< float32x4_t, 8 > exp_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00032">NEMath.h:32</a></div></div>
+<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00191">vpowq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00167">vtanhq_f32()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_INV_LN2 = vdupq_n_f32(1.4426950408f); <span class="comment">// 1/ln(2)</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  int32x4_t m = vcvtq_s32_f32(vmulq_f32(x, CONST_INV_LN2));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  float32x4_t val = vmlsq_f32(x, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  poly = vreinterpretq_f32_s32(vaddq_s32(vreinterpretq_s32_f32(poly), vshlq_n_s32(m, 23)));</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a869945609357fa552d94eb16f7aad4e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">arm_compute::exp_tab</a></div><div class="ttdeci">const std::array< float32x4_t, 8 > exp_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00032">NEMath.h:32</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ac91f64208cebf2177a6be3a40ecebca8"><div class="ttname"><a href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00097">NEMath.h:97</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a99d2837a875fc6bca19755f40205f04a"></a>
+<a class="anchor" id="ae1cdb8bbcb3f7ce5d3469f42f19d37a6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -7216,7 +7284,7 @@
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">float32x4_t arm_compute::vinv_f32 </td>
+ <td class="memname">float32x4_t arm_compute::vinvq_f32 </td>
<td>(</td>
<td class="paramtype">const float32x4_t & </td>
<td class="paramname"><em>x</em></td><td>)</td>
@@ -7241,11 +7309,11 @@
<p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00082">82</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
-<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00165">vtanh_f32()</a>.</p>
+<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00167">vtanhq_f32()</a>.</p>
<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  float32x4_t recip = vrecpeq_f32(x);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> recip;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div></div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="aab4b53a52d617f05420711425f20ed4b"></a>
+<a class="anchor" id="ab8970d7aed07d8649f5e3088455948b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -7253,7 +7321,7 @@
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">float32x4_t arm_compute::vinvsqrt_f32 </td>
+ <td class="memname">float32x4_t arm_compute::vinvsqrtq_f32 </td>
<td>(</td>
<td class="paramtype">float32x4_t </td>
<td class="paramname"><em>x</em></td><td>)</td>
@@ -7280,7 +7348,7 @@
<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  float32x4_t sqrt_reciprocal = vrsqrteq_f32(x);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> sqrt_reciprocal;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> }</div></div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="afa7e6a89815b00d86c5ae6ec73d79c26"></a>
+<a class="anchor" id="a4082e6868f902da08483e54ec07484c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -7288,7 +7356,7 @@
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">float32x4_t arm_compute::vlog_f32 </td>
+ <td class="memname">float32x4_t arm_compute::vlogq_f32 </td>
<td>(</td>
<td class="paramtype">const float32x4_t & </td>
<td class="paramname"><em>x</em></td><td>)</td>
@@ -7313,10 +7381,10 @@
<p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
-<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00097">vtaylor_poly_f32()</a>.</p>
+<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00097">vtaylor_polyq_f32()</a>.</p>
-<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00186">vpowq_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_127 = vdupq_n_s32(127); <span class="comment">// 127</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="comment">// Extract exponent</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  int32x4_t m = vsubq_s32(vreinterpretq_s32_u32(vshrq_n_u32(vreinterpretq_u32_f32(x), 23)), CONST_127);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  float32x4_t val = vreinterpretq_f32_s32(vsubq_s32(vreinterpretq_s32_f32(x), vshlq_n_s32(m, 23)));</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">vtaylor_poly_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a>);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  poly = vmlaq_f32(poly, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aa4e5c4d2084010ee1c68475fde882f84"><div class="ttname"><a href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">arm_compute::vtaylor_poly_f32</a></div><div class="ttdeci">float32x4_t vtaylor_poly_f32(const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00097">NEMath.h:97</a></div></div>
+<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00191">vpowq_f32()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_127 = vdupq_n_s32(127); <span class="comment">// 127</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="comment">// Extract exponent</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  int32x4_t m = vsubq_s32(vreinterpretq_s32_u32(vshrq_n_u32(vreinterpretq_u32_f32(x), 23)), CONST_127);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  float32x4_t val = vreinterpretq_f32_s32(vsubq_s32(vreinterpretq_s32_f32(x), vshlq_n_s32(m, 23)));</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a>);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  poly = vmlaq_f32(poly, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ac91f64208cebf2177a6be3a40ecebca8"><div class="ttname"><a href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00097">NEMath.h:97</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a48fb9cf404e8f7043235bf14105c9793"><div class="ttname"><a href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">arm_compute::log_tab</a></div><div class="ttdeci">const std::array< float32x4_t, 8 > log_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00047">NEMath.h:47</a></div></div>
</div><!-- fragment -->
</div>
@@ -7364,15 +7432,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
-<p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00186">186</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
+<p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00191">191</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
-<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexp_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00139">vlog_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">vexp_f32</a>(vmulq_f32(n, <a class="code" href="namespacearm__compute.xhtml#afa7e6a89815b00d86c5ae6ec73d79c26">vlog_f32</a>(val)));</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_afa7e6a89815b00d86c5ae6ec73d79c26"><div class="ttname"><a href="namespacearm__compute.xhtml#afa7e6a89815b00d86c5ae6ec73d79c26">arm_compute::vlog_f32</a></div><div class="ttdeci">float32x4_t vlog_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate logarithm. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00139">NEMath.h:139</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab61617950fb57bf883ee19fc4e219826"><div class="ttname"><a href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">arm_compute::vexp_f32</a></div><div class="ttdeci">float32x4_t vexp_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00115">NEMath.h:115</a></div></div>
+<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00139">vlogq_f32()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">vexpq_f32</a>(vmulq_f32(n, <a class="code" href="namespacearm__compute.xhtml#a4082e6868f902da08483e54ec07484c8">vlogq_f32</a>(val)));</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a4082e6868f902da08483e54ec07484c8"><div class="ttname"><a href="namespacearm__compute.xhtml#a4082e6868f902da08483e54ec07484c8">arm_compute::vlogq_f32</a></div><div class="ttdeci">float32x4_t vlogq_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate logarithm. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00139">NEMath.h:139</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aa197f574e5effe492aa8034651467eb3"><div class="ttname"><a href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00115">NEMath.h:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="af2002ba27e8c8033e3038da708248f32"></a>
+<a class="anchor" id="a9598330b2406691ce6580f7506e62168"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -7380,7 +7448,7 @@
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">float32x4_t arm_compute::vtanh_f32 </td>
+ <td class="memname">float32x4_t arm_compute::vtanhq_f32 </td>
<td>(</td>
<td class="paramtype">const float32x4_t & </td>
<td class="paramname"><em>val</em></td><td>)</td>
@@ -7396,6 +7464,7 @@
<p>Calculate hyperbolic tangent. </p>
<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
+<dl class="section note"><dt>Note</dt><dd>We clamp x to [-5,5] to avoid overflowing issues.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
@@ -7404,15 +7473,15 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
-<p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00165">165</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
+<p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00167">167</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
-<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexp_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00082">vinv_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f); <span class="comment">// 1.f</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_2 = vdupq_n_f32(2.f); <span class="comment">// 2.f</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  float32x4_t exp2x = <a class="code" href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">vexp_f32</a>(vmulq_f32(CONST_2, val));</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  float32x4_t num = vsubq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  float32x4_t den = vaddq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  float32x4_t tanh = vmulq_f32(num, <a class="code" href="namespacearm__compute.xhtml#a99d2837a875fc6bca19755f40205f04a">vinv_f32</a>(den));</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> tanh;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a99d2837a875fc6bca19755f40205f04a"><div class="ttname"><a href="namespacearm__compute.xhtml#a99d2837a875fc6bca19755f40205f04a">arm_compute::vinv_f32</a></div><div class="ttdeci">float32x4_t vinv_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate reciprocal. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00082">NEMath.h:82</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab61617950fb57bf883ee19fc4e219826"><div class="ttname"><a href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">arm_compute::vexp_f32</a></div><div class="ttdeci">float32x4_t vexp_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00115">NEMath.h:115</a></div></div>
+<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00082">vinvq_f32()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f); <span class="comment">// 1.f</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_2 = vdupq_n_f32(2.f); <span class="comment">// 2.f</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MIN_TANH = vdupq_n_f32(-5.f); <span class="comment">// -5.f</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MAX_TANH = vdupq_n_f32(5.f); <span class="comment">// 5.f</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  float32x4_t x = vminq_f32(vmaxq_f32(val, CONST_MIN_TANH), CONST_MAX_TANH);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  float32x4_t exp2x = <a class="code" href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">vexpq_f32</a>(vmulq_f32(CONST_2, x));</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  float32x4_t num = vsubq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  float32x4_t den = vaddq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  float32x4_t tanh = vmulq_f32(num, <a class="code" href="namespacearm__compute.xhtml#ae1cdb8bbcb3f7ce5d3469f42f19d37a6">vinvq_f32</a>(den));</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> tanh;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ae1cdb8bbcb3f7ce5d3469f42f19d37a6"><div class="ttname"><a href="namespacearm__compute.xhtml#ae1cdb8bbcb3f7ce5d3469f42f19d37a6">arm_compute::vinvq_f32</a></div><div class="ttdeci">float32x4_t vinvq_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate reciprocal. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00082">NEMath.h:82</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aa197f574e5effe492aa8034651467eb3"><div class="ttname"><a href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00115">NEMath.h:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="aa4e5c4d2084010ee1c68475fde882f84"></a>
+<a class="anchor" id="ac91f64208cebf2177a6be3a40ecebca8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -7420,7 +7489,7 @@
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">float32x4_t arm_compute::vtaylor_poly_f32 </td>
+ <td class="memname">float32x4_t arm_compute::vtaylor_polyq_f32 </td>
<td>(</td>
<td class="paramtype">const float32x4_t & </td>
<td class="paramname"><em>x</em>, </td>
@@ -7458,7 +7527,7 @@
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>.</p>
-<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexp_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00139">vlog_f32()</a>.</p>
+<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00139">vlogq_f32()</a>.</p>
<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vmlaq_f32(coeffs[0], coeffs[4], x);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vmlaq_f32(coeffs[2], coeffs[6], x);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  float32x4_t C = vmlaq_f32(coeffs[1], coeffs[5], x);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  float32x4_t D = vmlaq_f32(coeffs[3], coeffs[7], x);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  float32x4_t x2 = vmulq_f32(x, x);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  float32x4_t x4 = vmulq_f32(x2, x2);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  float32x4_t res = vmlaq_f32(vmlaq_f32(A, B, x2), vmlaq_f32(C, D, x2), x4);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
</div><!-- fragment -->
@@ -7477,7 +7546,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="_types_8h_source.xhtml#l00077">77</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00078">78</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -7533,7 +7602,7 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00080">80</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00081">81</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -7547,7 +7616,7 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00083">83</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00084">84</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -7557,7 +7626,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 Apr 12 2017 14:26:05 for ARM Compute Library by
+ <li class="footer">Generated on Wed May 3 2017 17:20:04 for ARM 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>