arm_compute v19.08
diff --git a/documentation/helpers__asymm_8h.xhtml b/documentation/helpers__asymm_8h.xhtml
index 2fd5b9b..d26fd3c 100644
--- a/documentation/helpers__asymm_8h.xhtml
+++ b/documentation/helpers__asymm_8h.xhtml
@@ -40,7 +40,7 @@
   <img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
   <td style="padding-left: 0.5em;">
    <div id="projectname">
-   &#160;<span id="projectnumber">19.05</span>
+   &#160;<span id="projectnumber">19.08</span>
    </div>
   </td>
  </tr>
@@ -318,7 +318,7 @@
 </div><div class="memdoc">
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) asymm_exp_on_interval_between_negative_one_quarter_and_0_excl##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) a) \</div><div class="line">    {                                                                                                                               \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) constant_term     = 1895147668;                                                              \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) constant_1_over_3 = 715827883;                                                               \</div><div class="line">        const <span class="keywordtype">int</span> k_fractional_bits = 31;                                                                                           \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                                                    \</div><div class="line">        x = a + (1 &lt;&lt; (k_fractional_bits - 3));                                                                                     \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                                                    \</div><div class="line">        x2 = <a class="code" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(x, x, size);                                                                                                \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                                                    \</div><div class="line">        x3 = <a class="code" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(x2, x, size);                                                                                               \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                                                    \</div><div class="line">        x4 = <a class="code" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(x2, x2, size);                                                                                              \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                                                    \</div><div class="line">        x4_over_4 = <a class="code" href="helpers__asymm_8h.xhtml#aa43fc359dea64362f3016384f4269845">ASYMM_ROUNDING_DIVIDE_BY_POW2</a>(x4, 2, size);                                                                     \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                                                    \</div><div class="line">        x4_over_24_plus_x3_over_6_plus_x2 = <a class="code" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>((x4_over_4 + x3), constant_1_over_3, size) + x2;                             \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                                                    \</div><div class="line">        x4_over_24_plus_x3_over_6_plus_x2_over_2 = <a class="code" href="helpers__asymm_8h.xhtml#aa43fc359dea64362f3016384f4269845">ASYMM_ROUNDING_DIVIDE_BY_POW2</a>(x4_over_24_plus_x3_over_6_plus_x2, 1, size);       \</div><div class="line">        return constant_term + <a class="code" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(constant_term, x + x4_over_24_plus_x3_over_6_plus_x2_over_2, size);                       \</div><div class="line">    }</div><div class="ttc" id="helpers__asymm_8h_xhtml_a5483aefd5e07244661178bfd3f434448"><div class="ttname"><a href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a></div><div class="ttdeci">#define ASYMM_MULT(a, b, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00296">helpers_asymm.h:296</a></div></div>
 <div class="ttc" id="helpers__asymm_8h_xhtml_aa43fc359dea64362f3016384f4269845"><div class="ttname"><a href="helpers__asymm_8h.xhtml#aa43fc359dea64362f3016384f4269845">ASYMM_ROUNDING_DIVIDE_BY_POW2</a></div><div class="ttdeci">#define ASYMM_ROUNDING_DIVIDE_BY_POW2(x, exponent, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00295">helpers_asymm.h:295</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>Calculates \( exp(x) \) for x in [-1/4, 0). </p>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -444,7 +444,7 @@
       </table>
 </div><div class="memdoc">
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) asymm_mask_if_non_zero##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) a) \</div><div class="line">    {                                                                                        \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) all_zeros = 0;                                        \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) all_ones  = ~0;                                       \</div><div class="line">        return <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">select</a>(all_zeros, all_ones, a != 0);                                          \</div><div class="line">    }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af77145fbdc6b0c8931148f5597d9de53"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">arm_compute::test::validation::select</a></div><div class="ttdeci">CLSelect select</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00164">Select.cpp:164</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>For each element of input vector, the corresponding bits of the result item are set if the input item is non-zero. </p>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -505,7 +505,7 @@
       </table>
 </div><div class="memdoc">
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) asymm_mask_if_zero##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) a) \</div><div class="line">    {                                                                                    \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) all_zeros = 0;                                    \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) all_ones  = ~0;                                   \</div><div class="line">        return <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">select</a>(all_zeros, all_ones, a == 0);                                      \</div><div class="line">    }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af77145fbdc6b0c8931148f5597d9de53"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">arm_compute::test::validation::select</a></div><div class="ttdeci">CLSelect select</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00164">Select.cpp:164</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>For each element of input vector, the corresponding bits of the result item are set if the input item is zero. </p>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -616,7 +616,7 @@
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) <a class="code" href="softmax__layer__quantized_8cl.xhtml#a525a42d38133b1051b8924b456add4a1">asymm_mult</a>##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) a, <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a>) \</div><div class="line">    {                                                                                                        \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                             \</div><div class="line">        overflow = a == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a> &amp;&amp; a == INT_MIN;                                                                   \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">long</span>, size)                                                                            \</div><div class="line">        a_64 = convert_long##size(a);                                                                        \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">long</span>, size)                                                                            \</div><div class="line">        b_64 = convert_long##size(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a>);                                                                        \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">long</span>, size)                                                                            \</div><div class="line">        ab_64 = a_64 * b_64;                                                                                 \</div><div class="line">        <span class="comment">/* COMPMID-907 */</span>                                                                                    \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                             \</div><div class="line">        ab_x2_high32 = convert_int##size(((ab_64 + (1 &lt;&lt; 30)) &gt;&gt; 31));                                       \</div><div class="line">        return <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">select</a>(ab_x2_high32, INT_MAX, overflow);                                                      \</div><div class="line">    }</div><div class="ttc" id="softmax__layer__quantized_8cl_xhtml_a525a42d38133b1051b8924b456add4a1"><div class="ttname"><a href="softmax__layer__quantized_8cl.xhtml#a525a42d38133b1051b8924b456add4a1">asymm_mult</a></div><div class="ttdeci">#define asymm_mult(a, b)</div><div class="ttdef"><b>Definition:</b> <a href="softmax__layer__quantized_8cl_source.xhtml#l00056">softmax_layer_quantized.cl:56</a></div></div>
 <div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aa76b4a6e74940dabc5b7fc6b2dab3545"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">arm_compute::test::validation::b</a></div><div class="ttdeci">SimpleTensor&lt; float &gt; b</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00157">DFT.cpp:157</a></div></div>
 <div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af77145fbdc6b0c8931148f5597d9de53"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">arm_compute::test::validation::select</a></div><div class="ttdeci">CLSelect select</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00164">Select.cpp:164</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>Product of two numbers, interpreting them as fixed-point values in the interval [-1, 1), rounding to the nearest value, and saturating -1 * -1 to the maximum value. </p>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -679,7 +679,7 @@
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) asymm_one_over_one_plus_x_for_x_in_0_1##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) a) \</div><div class="line">    {                                                                                                        \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) Q0_one = INT_MAX;                                                     \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) Q2_one = 1 &lt;&lt; (31 - 2);                                               \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                             \</div><div class="line">        half_denominator = <a class="code" href="helpers__asymm_8h.xhtml#ad47fa44c1566aa4678fe524478490612">ASYMM_ROUNDING_HALF_SUM</a>(a, Q0_one, size);                                         \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) Q2_48_over_17     = 1515870810;                                       \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) Q2_neg_32_over_17 = -1010580540;                                      \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                             \</div><div class="line">        x = Q2_48_over_17 + <a class="code" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(half_denominator, Q2_neg_32_over_17, size);                           \</div><div class="line">        for(<span class="keywordtype">int</span> i = 0; i &lt; 3; i++)                                                                           \</div><div class="line">        {                                                                                                    \</div><div class="line">            VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                         \</div><div class="line">            half_denominator_times_x = <a class="code" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(half_denominator, x, size);                                \</div><div class="line">            VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                         \</div><div class="line">            one_minus_half_denominator_times_x = Q2_one - half_denominator_times_x;                          \</div><div class="line">            VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                         \</div><div class="line">            tmp = <a class="code" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(x, one_minus_half_denominator_times_x, size);                                   \</div><div class="line">            x   = x + <a class="code" href="helpers__asymm_8h.xhtml#a4cc3ff3a2eeb5f5e9d6743e08f632928">ASYMM_SATURATING_ROUNDING_MULT_BY_POW2</a>(tmp, 2, size);                                  \</div><div class="line">        }                                                                                                    \</div><div class="line">        return <a class="code" href="helpers__asymm_8h.xhtml#a4cc3ff3a2eeb5f5e9d6743e08f632928">ASYMM_SATURATING_ROUNDING_MULT_BY_POW2</a>(x, 1, size);                                           \</div><div class="line">    }</div><div class="ttc" id="helpers__asymm_8h_xhtml_a5483aefd5e07244661178bfd3f434448"><div class="ttname"><a href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a></div><div class="ttdeci">#define ASYMM_MULT(a, b, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00296">helpers_asymm.h:296</a></div></div>
 <div class="ttc" id="helpers__asymm_8h_xhtml_a4cc3ff3a2eeb5f5e9d6743e08f632928"><div class="ttname"><a href="helpers__asymm_8h.xhtml#a4cc3ff3a2eeb5f5e9d6743e08f632928">ASYMM_SATURATING_ROUNDING_MULT_BY_POW2</a></div><div class="ttdeci">#define ASYMM_SATURATING_ROUNDING_MULT_BY_POW2(x, exponent, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00306">helpers_asymm.h:306</a></div></div>
 <div class="ttc" id="helpers__asymm_8h_xhtml_ad47fa44c1566aa4678fe524478490612"><div class="ttname"><a href="helpers__asymm_8h.xhtml#ad47fa44c1566aa4678fe524478490612">ASYMM_ROUNDING_HALF_SUM</a></div><div class="ttdeci">#define ASYMM_ROUNDING_HALF_SUM(a, b, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00307">helpers_asymm.h:307</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>Calculates \( 1 / (1 + x) \) for x in (0, 1). </p>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -753,7 +753,7 @@
 </div><div class="memdoc">
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) <a class="code" href="softmax__layer__quantized_8cl.xhtml#ad57ea340cdcfeb2e1375b70c3ae59bae">asymm_rescale</a>##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) value, <span class="keywordtype">int</span> src_integer_bits, <span class="keywordtype">int</span> dst_integer_bits) \</div><div class="line">    {                                                                                                                               \</div><div class="line">        int exponent = src_integer_bits - dst_integer_bits;                                                                         \</div><div class="line">        return <a class="code" href="helpers__asymm_8h.xhtml#a4cc3ff3a2eeb5f5e9d6743e08f632928">ASYMM_SATURATING_ROUNDING_MULT_BY_POW2</a>(value, exponent, size);                                                       \</div><div class="line">    }</div><div class="ttc" id="helpers__asymm_8h_xhtml_a4cc3ff3a2eeb5f5e9d6743e08f632928"><div class="ttname"><a href="helpers__asymm_8h.xhtml#a4cc3ff3a2eeb5f5e9d6743e08f632928">ASYMM_SATURATING_ROUNDING_MULT_BY_POW2</a></div><div class="ttdeci">#define ASYMM_SATURATING_ROUNDING_MULT_BY_POW2(x, exponent, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00306">helpers_asymm.h:306</a></div></div>
 <div class="ttc" id="softmax__layer__quantized_8cl_xhtml_ad57ea340cdcfeb2e1375b70c3ae59bae"><div class="ttname"><a href="softmax__layer__quantized_8cl.xhtml#ad57ea340cdcfeb2e1375b70c3ae59bae">asymm_rescale</a></div><div class="ttdeci">#define asymm_rescale(value, src_integer_bits, dst_integer_bits)</div><div class="ttdef"><b>Definition:</b> <a href="softmax__layer__quantized_8cl_source.xhtml#l00058">softmax_layer_quantized.cl:58</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>Considering the integer value as fixed-point, change the number of integer bits and update value accordingly. </p>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -821,7 +821,7 @@
 </div><div class="memdoc">
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) asymm_rounding_divide_by_POW2_##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) x, <span class="keywordtype">int</span> exponent) \</div><div class="line">    {                                                                                                              \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                                   \</div><div class="line">        mask = (1 &lt;&lt; exponent) - 1;                                                                                \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) zero = 0;                                                                   \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) one  = 1;                                                                   \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">int</span>, size)                                                                                   \</div><div class="line">        threshold = (mask &gt;&gt; 1) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">select</a>(zero, one, x &lt; 0);                                                        \</div><div class="line">        return (x &gt;&gt; exponent) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">select</a>(zero, one, (x &amp; mask) &gt; <a class="code" href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a6cae310822a46019ba25a00ddb0f7e62">threshold</a>);                                        \</div><div class="line">    }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af77145fbdc6b0c8931148f5597d9de53"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">arm_compute::test::validation::select</a></div><div class="ttdeci">CLSelect select</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00164">Select.cpp:164</a></div></div>
 <div class="ttc" id="namespacearm__compute_1_1test_1_1validation_1_1reference_xhtml_a6cae310822a46019ba25a00ddb0f7e62"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a6cae310822a46019ba25a00ddb0f7e62">arm_compute::test::validation::reference::threshold</a></div><div class="ttdeci">SimpleTensor&lt; T &gt; threshold(const SimpleTensor&lt; T &gt; &amp;src, T threshold, T false_value, T true_value, ThresholdType type, T upper)</div><div class="ttdef"><b>Definition:</b> <a href="reference_2_threshold_8cpp_source.xhtml#l00035">Threshold.cpp:35</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>Correctly-rounded-to-nearest division by a power-of-two. </p>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -888,9 +888,9 @@
       </table>
 </div><div class="memdoc">
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) asymm_rounding_half_sum##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) a, <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a>) \</div><div class="line">    {                                                                                                                     \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">long</span>, size)                                                                                         \</div><div class="line">        a64 = convert_long##size(a);                                                                                      \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">long</span>, size)                                                                                         \</div><div class="line">        b64 = convert_long##size(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">b</a>);                                                                                      \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">long</span>, size)                                                                                         \</div><div class="line">        sum = a64 + b64;                                                                                                  \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">long</span>, size) one       = 1;                                                                    \</div><div class="line">        const <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">long</span>, size) minus_one = -1;                                                                   \</div><div class="line">        VEC_DATA_TYPE(<span class="keywordtype">long</span>, size)                                                                                         \</div><div class="line">        sign = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">select</a>(minus_one, one, <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> &gt;= 0);                                                                          \</div><div class="line">        return convert_int##size((<a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> + sign) / 2);                                                                       \</div><div class="line">    }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aa76b4a6e74940dabc5b7fc6b2dab3545"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aa76b4a6e74940dabc5b7fc6b2dab3545">arm_compute::test::validation::b</a></div><div class="ttdeci">SimpleTensor&lt; float &gt; b</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_d_f_t_8cpp_source.xhtml#l00157">DFT.cpp:157</a></div></div>
-<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector.</div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
+<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector.</div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00065">reduction_operation.cl:65</a></div></div>
 <div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af77145fbdc6b0c8931148f5597d9de53"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af77145fbdc6b0c8931148f5597d9de53">arm_compute::test::validation::select</a></div><div class="ttdeci">CLSelect select</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_select_8cpp_source.xhtml#l00164">Select.cpp:164</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>Calculates (a+b)/2, rounded to the nearest integer. </p>
 <p>Equivalent to VRHADD in the ARM NEON instruction set.</p>
@@ -961,7 +961,7 @@
 <div class="ttc" id="helpers__asymm_8h_xhtml_af1d5450c9c4c13a6b7aa52af197b54b2"><div class="ttname"><a href="helpers__asymm_8h.xhtml#af1d5450c9c4c13a6b7aa52af197b54b2">ASYMM_MASK_IF_NON_ZERO</a></div><div class="ttdeci">#define ASYMM_MASK_IF_NON_ZERO(a, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00302">helpers_asymm.h:302</a></div></div>
 <div class="ttc" id="helpers__asymm_8h_xhtml_a9bc08a8c1833c5e6055ad6665e3ccf12"><div class="ttname"><a href="helpers__asymm_8h.xhtml#a9bc08a8c1833c5e6055ad6665e3ccf12">ASYMM_SELECT_USING_MASK</a></div><div class="ttdeci">#define ASYMM_SELECT_USING_MASK(if_mask, then_val, else_val, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00300">helpers_asymm.h:300</a></div></div>
 <div class="ttc" id="namespacearm__compute_1_1test_1_1validation_1_1reference_xhtml_a6cae310822a46019ba25a00ddb0f7e62"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation_1_1reference.xhtml#a6cae310822a46019ba25a00ddb0f7e62">arm_compute::test::validation::reference::threshold</a></div><div class="ttdeci">SimpleTensor&lt; T &gt; threshold(const SimpleTensor&lt; T &gt; &amp;src, T threshold, T false_value, T true_value, ThresholdType type, T upper)</div><div class="ttdef"><b>Definition:</b> <a href="reference_2_threshold_8cpp_source.xhtml#l00035">Threshold.cpp:35</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>Calculates the product of a integer value by a power of two, with either a positive exponent (equivalent to an arithmetic left shift, saturating) or a negative exponent (equivalent to an arithmetic right shift, rounding to nearest). </p>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -1033,7 +1033,7 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) asymm_select_using_mask##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) if_mask, <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) then_val, <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) else_val) \</div><div class="line">    {                                                                                                                                                                     \</div><div class="line">        return (if_mask &amp; then_val) ^ (~if_mask &amp; else_val);                                                                                                              \</div><div class="line">    }</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) asymm_select_using_mask##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) if_mask, <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) then_val, <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) else_val) \</div><div class="line">    {                                                                                                                                                                     \</div><div class="line">        return (if_mask &amp; then_val) ^ (~if_mask &amp; else_val);                                                                                                              \</div><div class="line">    }</div><div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p>Each bit of the result is set to the corresponding bit of either then_val or else_val depending on whether the corresponding bit of if_mask is set. </p>
 <p>Equivalent to the VBSL instruction in ARM NEON.</p>
@@ -1127,7 +1127,7 @@
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) exp_barrel_shifter##size(<a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) result, <span class="keywordtype">int</span> exponent, <span class="keywordtype">int</span> fp_multiplier, <span class="keywordtype">int</span> k_integer_bits, <span class="keywordtype">int</span> k_fractional_bits, <a class="code" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a>(<span class="keywordtype">int</span>, size) remainder) \</div><div class="line">    {                                                                                                                                                                                                         \</div><div class="line">        if(k_integer_bits &gt; exponent)                                                                                                                                                                         \</div><div class="line">        {                                                                                                                                                                                                     \</div><div class="line">            const <span class="keywordtype">int</span> k_shift_amount = k_integer_bits &gt; exponent ? k_fractional_bits + exponent : 0;                                                                                                          \</div><div class="line">            return <a class="code" href="helpers__asymm_8h.xhtml#a9bc08a8c1833c5e6055ad6665e3ccf12">ASYMM_SELECT_USING_MASK</a>(                                                                                                                                                                   \</div><div class="line">                    <a class="code" href="helpers__asymm_8h.xhtml#af1d5450c9c4c13a6b7aa52af197b54b2">ASYMM_MASK_IF_NON_ZERO</a>(remainder &amp; (1 &lt;&lt; k_shift_amount), size),                                                                                                                              \</div><div class="line">                    <a class="code" href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a>(result, fp_multiplier, size), result, size);                                                                                                                                       \</div><div class="line">        }                                                                                                                                                                                                     \</div><div class="line">        \</div><div class="line">        return result;                                                                                                                                                                                        \</div><div class="line">    }</div><div class="ttc" id="helpers__asymm_8h_xhtml_a5483aefd5e07244661178bfd3f434448"><div class="ttname"><a href="helpers__asymm_8h.xhtml#a5483aefd5e07244661178bfd3f434448">ASYMM_MULT</a></div><div class="ttdeci">#define ASYMM_MULT(a, b, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00296">helpers_asymm.h:296</a></div></div>
 <div class="ttc" id="helpers__asymm_8h_xhtml_af1d5450c9c4c13a6b7aa52af197b54b2"><div class="ttname"><a href="helpers__asymm_8h.xhtml#af1d5450c9c4c13a6b7aa52af197b54b2">ASYMM_MASK_IF_NON_ZERO</a></div><div class="ttdeci">#define ASYMM_MASK_IF_NON_ZERO(a, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00302">helpers_asymm.h:302</a></div></div>
 <div class="ttc" id="helpers__asymm_8h_xhtml_a9bc08a8c1833c5e6055ad6665e3ccf12"><div class="ttname"><a href="helpers__asymm_8h.xhtml#a9bc08a8c1833c5e6055ad6665e3ccf12">ASYMM_SELECT_USING_MASK</a></div><div class="ttdeci">#define ASYMM_SELECT_USING_MASK(if_mask, then_val, else_val, size)</div><div class="ttdef"><b>Definition:</b> <a href="helpers__asymm_8h_source.xhtml#l00300">helpers_asymm.h:300</a></div></div>
-<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00057">helpers.h:57</a></div></div>
+<div class="ttc" id="src_2core_2_c_l_2cl__kernels_2_helpers_8h_xhtml_a36f754c05b6fddf6df0d8d0a74f8159f"><div class="ttname"><a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h.xhtml#a36f754c05b6fddf6df0d8d0a74f8159f">VEC_DATA_TYPE</a></div><div class="ttdeci">#define VEC_DATA_TYPE(type, size)</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml#l00073">helpers.h:73</a></div></div>
 </div><!-- fragment -->
 <p class="definition">Definition at line <a class="el" href="helpers__asymm_8h_source.xhtml#l00144">144</a> of file <a class="el" href="helpers__asymm_8h_source.xhtml">helpers_asymm.h</a>.</p>
 
@@ -2948,7 +2948,7 @@
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.xhtml">core</a></li><li class="navelem"><a class="el" href="dir_8c278f79c760e5c5fbd911f9870614c1.xhtml">CL</a></li><li class="navelem"><a class="el" href="dir_25885286e9dad4fa105b7b25a8031bbf.xhtml">cl_kernels</a></li><li class="navelem"><a class="el" href="helpers__asymm_8h.xhtml">helpers_asymm.h</a></li>
-    <li class="footer">Generated on Thu May 23 2019 17:11:26 for Compute Library by
+    <li class="footer">Generated on Mon Sep 2 2019 11:47:29 for Compute Library by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
   </ul>