blob: 55ead9bf8759f3c90b5472f2f0f48014b4faa489 [file] [log] [blame]
Anthony Barbier871448e2017-03-24 14:54:29 +00001<!-- HTML header for doxygen 1.8.9.1-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
Kaizen8938bd32017-09-28 14:38:23 +01007<meta name="generator" content="Doxygen 1.8.6"/>
Anthony Barbier871448e2017-03-24 14:54:29 +00008<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01009<title>Compute Library: arm_compute Namespace Reference</title>
Anthony Barbier871448e2017-03-24 14:54:29 +000010<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000015<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17 $(document).ready(initResizable);
18 $(window).load(resizeHeight);
19</script>
20<link href="search/search.css" rel="stylesheet" type="text/css"/>
Anthony Barbier871448e2017-03-24 14:54:29 +000021<script type="text/javascript" src="search/search.js"></script>
22<script type="text/javascript">
Kaizen8938bd32017-09-28 14:38:23 +010023 $(document).ready(function() { searchBox.OnSelectItem(0); });
Anthony Barbier871448e2017-03-24 14:54:29 +000024</script>
25<script type="text/x-mathjax-config">
26 MathJax.Hub.Config({
27 extensions: ["tex2jax.js"],
28 jax: ["input/TeX","output/HTML-CSS"],
29});
Kaizen8938bd32017-09-28 14:38:23 +010030</script><script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000031<link href="doxygen.css" rel="stylesheet" type="text/css" />
32</head>
33<body>
34<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
35<div id="titlearea">
36<table cellspacing="0" cellpadding="0">
37 <tbody>
38 <tr style="height: 56px;">
39 <td style="padding-left: 0.5em;">
Anthony Barbierdbdab852017-06-23 15:42:00 +010040 <div id="projectname">Compute Library
Kaizenbf8b01d2017-10-12 14:26:51 +010041 &#160;<span id="projectnumber">17.10</span>
Anthony Barbier871448e2017-03-24 14:54:29 +000042 </div>
43 </td>
44 </tr>
45 </tbody>
46</table>
47</div>
48<!-- end header part -->
Kaizen8938bd32017-09-28 14:38:23 +010049<!-- Generated by Doxygen 1.8.6 -->
Anthony Barbier871448e2017-03-24 14:54:29 +000050<script type="text/javascript">
51var searchBox = new SearchBox("searchBox", "search",false,'Search');
52</script>
53 <div id="navrow1" class="tabs">
54 <ul class="tablist">
55 <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
Anthony Barbierdbdab852017-06-23 15:42:00 +010056 <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
Anthony Barbier871448e2017-03-24 14:54:29 +000057 <li class="current"><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
58 <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
59 <li><a href="files.xhtml"><span>Files</span></a></li>
60 <li>
61 <div id="MSearchBox" class="MSearchBoxInactive">
62 <span class="left">
63 <img id="MSearchSelect" src="search/mag_sel.png"
64 onmouseover="return searchBox.OnSearchSelectShow()"
65 onmouseout="return searchBox.OnSearchSelectHide()"
66 alt=""/>
67 <input type="text" id="MSearchField" value="Search" accesskey="S"
68 onfocus="searchBox.OnSearchFieldFocus(true)"
69 onblur="searchBox.OnSearchFieldFocus(false)"
70 onkeyup="searchBox.OnSearchFieldChange(event)"/>
71 </span><span class="right">
72 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
73 </span>
74 </div>
75 </li>
76 </ul>
77 </div>
78 <div id="navrow2" class="tabs2">
79 <ul class="tablist">
80 <li><a href="namespaces.xhtml"><span>Namespace&#160;List</span></a></li>
81 <li><a href="namespacemembers.xhtml"><span>Namespace&#160;Members</span></a></li>
82 </ul>
83 </div>
84</div><!-- top -->
85<div id="side-nav" class="ui-resizable side-nav-resizable">
86 <div id="nav-tree">
87 <div id="nav-tree-contents">
88 <div id="nav-sync" class="sync"></div>
89 </div>
90 </div>
91 <div id="splitbar" style="-moz-user-select:none;"
92 class="ui-resizable-handle">
93 </div>
94</div>
95<script type="text/javascript">
96$(document).ready(function(){initNavTree('namespacearm__compute.xhtml','');});
97</script>
98<div id="doc-content">
99<!-- window showing the filter options -->
100<div id="MSearchSelectWindow"
101 onmouseover="return searchBox.OnSearchSelectShow()"
102 onmouseout="return searchBox.OnSearchSelectHide()"
103 onkeydown="return searchBox.OnSearchSelectKey(event)">
Kaizen8938bd32017-09-28 14:38:23 +0100104<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000105
106<!-- iframe showing the search results (closed by default) -->
107<div id="MSearchResultsWindow">
108<iframe src="javascript:void(0)" frameborder="0"
109 name="MSearchResults" id="MSearchResults">
110</iframe>
111</div>
112
113<div class="header">
114 <div class="summary">
115<a href="#namespaces">Namespaces</a> &#124;
116<a href="#nested-classes">Data Structures</a> &#124;
117<a href="#typedef-members">Typedefs</a> &#124;
118<a href="#enum-members">Enumerations</a> &#124;
119<a href="#func-members">Functions</a> &#124;
120<a href="#var-members">Variables</a> </div>
121 <div class="headertitle">
122<div class="title">arm_compute Namespace Reference</div> </div>
123</div><!--header-->
124<div class="contents">
125<table class="memberdecls">
126<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
127Namespaces</h2></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100128<tr class="memitem:namespacearm__compute_1_1detail"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1detail.xhtml">detail</a></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000129<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100130<tr class="memitem:namespacearm__compute_1_1graph"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph.xhtml">graph</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100131<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100132<tr class="memitem:namespacearm__compute_1_1graph__utils"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml">graph_utils</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100133<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100134<tr class="memitem:namespacearm__compute_1_1support"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1support.xhtml">support</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100135<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100136<tr class="memitem:namespacearm__compute_1_1test"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml">test</a></td></tr>
137<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
138<tr class="memitem:namespacearm__compute_1_1traits"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1traits.xhtml">traits</a></td></tr>
139<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
140<tr class="memitem:namespacearm__compute_1_1utils"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1utils.xhtml">utils</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100141<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000142</table><table class="memberdecls">
143<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
144Data Structures</h2></td></tr>
145<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_auto_padding.xhtml">AccessWindowAutoPadding</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100146<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy access window. <a href="classarm__compute_1_1_access_window_auto_padding.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000147<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
148<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_static.xhtml">AccessWindowStatic</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100149<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a static rectangular access pattern. <a href="classarm__compute_1_1_access_window_static.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000150<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_transpose.xhtml">AccessWindowTranspose</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100152<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a XY-transpose access pattern. <a href="classarm__compute_1_1_access_window_transpose.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000153<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100154<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml">enable_bitwise_ops&lt; arm_compute::GPUTarget &gt;</a></td></tr>
155<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable operation operations on GPUTarget enumerations. <a href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000156<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100157<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_program.xhtml">Program</a></td></tr>
158<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_program.xhtml" title="Program class. ">Program</a> class. <a href="classarm__compute_1_1_program.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000159<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100160<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a></td></tr>
161<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> class. <a href="classarm__compute_1_1_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000162<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
163<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml">CLKernelLibrary</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100164<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml" title="CLKernelLibrary class. ">CLKernelLibrary</a> class. <a href="classarm__compute_1_1_c_l_kernel_library.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000165<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100166<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a></td></tr>
167<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a>. <a href="classarm__compute_1_1_i_c_l_array.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000168<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100169<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a></td></tr>
170<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml" title="ICLDistribution1D interface class. ">ICLDistribution1D</a> interface class. <a href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000171<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100172<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_h_o_g.xhtml">ICLHOG</a></td></tr>
173<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_i_c_l_h_o_g.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000174<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100175<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a></td></tr>
176<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all the OpenCL kernels. <a href="classarm__compute_1_1_i_c_l_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000177<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100178<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a></td></tr>
179<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL LUT. <a href="classarm__compute_1_1_i_c_l_lut.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000180<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100181<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_h_o_g.xhtml">ICLMultiHOG</a></td></tr>
182<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for storing multiple <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_i_c_l_multi_h_o_g.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000183<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100184<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_image.xhtml">ICLMultiImage</a></td></tr>
185<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL multi-planar images. <a href="classarm__compute_1_1_i_c_l_multi_image.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000186<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100187<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml">ICLSimple2DKernel</a></td></tr>
188<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100189<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100190<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml">ICLSimple3DKernel</a></td></tr>
191<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100192<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100193<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml">ICLSimpleKernel</a></td></tr>
194<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100195<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100196<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a></td></tr>
197<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL tensor. <a href="classarm__compute_1_1_i_c_l_tensor.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000198<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100199<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a></td></tr>
200<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000201<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100202<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml">CLAccumulateKernel</a></td></tr>
203<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate kernel. <a href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000204<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100205<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a></td></tr>
206<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000207<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100208<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml">CLAccumulateSquaredKernel</a></td></tr>
209<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate squared kernel. <a href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000210<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100211<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a></td></tr>
212<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000213<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100214<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a></td></tr>
215<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the arithmetic addition kernel. <a href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000216<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100217<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a></td></tr>
218<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the arithmetic subtraction kernel. <a href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000219<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100220<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_batch_normalization_layer_kernel.xhtml">CLBatchNormalizationLayerKernel</a></td></tr>
221<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the BatchNormalization layer kernel. <a href="classarm__compute_1_1_c_l_batch_normalization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000222<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100223<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml">CLBitwiseAndKernel</a></td></tr>
224<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the bitwise AND operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000225<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100226<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml">CLBitwiseNotKernel</a></td></tr>
227<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the bitwise NOT operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000228<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100229<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml">CLBitwiseOrKernel</a></td></tr>
230<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the bitwise OR operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000231<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100232<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml">CLBitwiseXorKernel</a></td></tr>
233<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the bitwise XOR operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000234<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100235<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml">CLBox3x3Kernel</a></td></tr>
236<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the box 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000237<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100238<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gradient_kernel.xhtml">CLGradientKernel</a></td></tr>
239<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform Gradient computation. <a href="classarm__compute_1_1_c_l_gradient_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100240<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100241<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml">CLEdgeNonMaxSuppressionKernel</a></td></tr>
242<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform Non-Maxima suppression for Canny Edge. <a href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000243<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100244<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml">CLEdgeTraceKernel</a></td></tr>
245<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform Edge tracing. <a href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000246<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100247<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml">CLChannelCombineKernel</a></td></tr>
248<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel combine kernel. <a href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000249<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100250<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml">CLChannelExtractKernel</a></td></tr>
251<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel extract kernel. <a href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000252<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100253<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml">CLCol2ImKernel</a></td></tr>
254<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the col2im reshaping kernel. <a href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000255<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100256<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a></td></tr>
257<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the color convert kernel. <a href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000258<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100259<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a></td></tr>
260<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_c_l_convolution_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000261<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
262<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100263<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Horizontal pass of a Separable Convolution. <a href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000264<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
265<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100266<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Vertical pass of a Separable Convolution. <a href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000267<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100268<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml">CLConvolutionRectangleKernel</a></td></tr>
269<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml#details">More...</a><br/></td></tr>
270<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
271<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_concatenate_kernel.xhtml">CLDepthConcatenateKernel</a></td></tr>
272<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_c_l_depth_concatenate_kernel.xhtml#details">More...</a><br/></td></tr>
273<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
274<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml">CLDepthConvertKernel</a></td></tr>
275<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depth conversion kernel. <a href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml#details">More...</a><br/></td></tr>
276<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
277<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution3x3_kernel.xhtml">CLDepthwiseConvolution3x3Kernel</a></td></tr>
278<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor. <a href="classarm__compute_1_1_c_l_depthwise_convolution3x3_kernel.xhtml#details">More...</a><br/></td></tr>
279<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
280<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_im2_col_kernel.xhtml">CLDepthwiseIm2ColKernel</a></td></tr>
281<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depthwise im2col reshape kernel. <a href="classarm__compute_1_1_c_l_depthwise_im2_col_kernel.xhtml#details">More...</a><br/></td></tr>
282<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
283<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml">CLDepthwiseVectorToTensorKernel</a></td></tr>
284<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depthwise vector to tensor kernel. <a href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml#details">More...</a><br/></td></tr>
285<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
286<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_weights_reshape_kernel.xhtml">CLDepthwiseWeightsReshapeKernel</a></td></tr>
287<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depthwise weights reshape kernel. <a href="classarm__compute_1_1_c_l_depthwise_weights_reshape_kernel.xhtml#details">More...</a><br/></td></tr>
288<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
289<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dequantization_layer_kernel.xhtml">CLDequantizationLayerKernel</a></td></tr>
290<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the dequantization layer kernel. <a href="classarm__compute_1_1_c_l_dequantization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
291<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
292<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative_kernel.xhtml">CLDerivativeKernel</a></td></tr>
293<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the derivative kernel. <a href="classarm__compute_1_1_c_l_derivative_kernel.xhtml#details">More...</a><br/></td></tr>
294<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
295<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate_kernel.xhtml">CLDilateKernel</a></td></tr>
296<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the dilate kernel. <a href="classarm__compute_1_1_c_l_dilate_kernel.xhtml#details">More...</a><br/></td></tr>
297<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
298<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer_kernel.xhtml">CLDirectConvolutionLayerKernel</a></td></tr>
299<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the direct convolution kernel. <a href="classarm__compute_1_1_c_l_direct_convolution_layer_kernel.xhtml#details">More...</a><br/></td></tr>
300<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
301<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode_kernel.xhtml">CLErodeKernel</a></td></tr>
302<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the erode kernel. <a href="classarm__compute_1_1_c_l_erode_kernel.xhtml#details">More...</a><br/></td></tr>
303<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
304<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml">CLFastCornersKernel</a></td></tr>
305<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CL kernel to perform fast corners. <a href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml#details">More...</a><br/></td></tr>
306<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
307<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml">CLCopyToArrayKernel</a></td></tr>
308<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CL kernel to copy keypoints information to ICLKeyPointArray and counts the number of key points. <a href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml#details">More...</a><br/></td></tr>
309<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
310<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a></td></tr>
311<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for filling the border of a kernel. <a href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml#details">More...</a><br/></td></tr>
312<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
313<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a></td></tr>
314<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a floor operation. <a href="classarm__compute_1_1_c_l_floor_kernel.xhtml#details">More...</a><br/></td></tr>
315<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
316<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml">CLGaussian3x3Kernel</a></td></tr>
317<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the Gaussian 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml#details">More...</a><br/></td></tr>
318<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
319<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml">CLGaussian5x5HorKernel</a></td></tr>
320<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Gaussian filter on a tensor. <a href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml#details">More...</a><br/></td></tr>
321<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
322<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml">CLGaussian5x5VertKernel</a></td></tr>
323<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Gaussian filter on a tensor. <a href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml#details">More...</a><br/></td></tr>
324<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
325<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml">CLGaussianPyramidHorKernel</a></td></tr>
326<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a Gaussian filter and half scaling across width (horizontal pass) <a href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml#details">More...</a><br/></td></tr>
327<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
328<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml">CLGaussianPyramidVertKernel</a></td></tr>
329<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a Gaussian filter and half scaling across height (vertical pass) <a href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml#details">More...</a><br/></td></tr>
330<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
331<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml">CLGEMMInterleave4x4Kernel</a></td></tr>
332<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
333<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
334<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">CLGEMMLowpMatrixMultiplyKernel</a></td></tr>
335<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to compute low precision matrix multiplication kernel. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
336<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
337<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">CLGEMMMatrixAccumulateBiasesKernel</a></td></tr>
338<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br/></td></tr>
339<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
340<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml">CLGEMMMatrixAdditionKernel</a></td></tr>
341<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform the in-place matrix addition between 2 matrices, taking into account that the second matrix might be weighted by a scalar value beta. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br/></td></tr>
342<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
343<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml">CLGEMMMatrixMultiplyKernel</a></td></tr>
344<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to multiply two input matrices "A" and "B" . <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
345<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
346<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_vector_multiply_kernel.xhtml">CLGEMMMatrixVectorMultiplyKernel</a></td></tr>
347<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the GEMM matrix vector multiply kernel. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_vector_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
348<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
349<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml">CLGEMMTranspose1xWKernel</a></td></tr>
350<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br/></td></tr>
351<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
352<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml">CLHarrisScoreKernel</a></td></tr>
353<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the harris score kernel. <a href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml#details">More...</a><br/></td></tr>
354<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
355<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_kernel.xhtml">CLHistogramKernel</a></td></tr>
356<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the histogram kernel. <a href="classarm__compute_1_1_c_l_histogram_kernel.xhtml#details">More...</a><br/></td></tr>
357<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
358<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml">CLHistogramBorderKernel</a></td></tr>
359<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the histogram kernel to handle the leftover part of image. <a href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml#details">More...</a><br/></td></tr>
360<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
361<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml">CLHOGOrientationBinningKernel</a></td></tr>
362<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> Orientation Binning. <a href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml#details">More...</a><br/></td></tr>
363<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
364<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_block_normalization_kernel.xhtml">CLHOGBlockNormalizationKernel</a></td></tr>
365<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> block normalization. <a href="classarm__compute_1_1_c_l_h_o_g_block_normalization_kernel.xhtml#details">More...</a><br/></td></tr>
366<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
367<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_detector_kernel.xhtml">CLHOGDetectorKernel</a></td></tr>
368<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector kernel using linear SVM. <a href="classarm__compute_1_1_c_l_h_o_g_detector_kernel.xhtml#details">More...</a><br/></td></tr>
369<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
370<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml">CLIm2ColKernel</a></td></tr>
371<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml#details">More...</a><br/></td></tr>
372<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
373<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml">CLIntegralImageHorKernel</a></td></tr>
374<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the horizontal pass of the integral image kernel. <a href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml#details">More...</a><br/></td></tr>
375<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
376<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml">CLIntegralImageVertKernel</a></td></tr>
377<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the vertical pass of the integral image kernel. <a href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml#details">More...</a><br/></td></tr>
378<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
379<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l2_normalize_kernel.xhtml">CLL2NormalizeKernel</a></td></tr>
380<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the reduction operation kernel. <a href="classarm__compute_1_1_c_l_l2_normalize_kernel.xhtml#details">More...</a><br/></td></tr>
381<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
382<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a></td></tr>
383<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal keypoint structure for Lucas-Kanade Optical Flow. <a href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml#details">More...</a><br/></td></tr>
384<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
385<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a></td></tr>
386<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for storing Spatial Gradient Matrix and the minimum eigenvalue for each keypoint. <a href="structarm__compute_1_1_c_l_coefficient_table.xhtml#details">More...</a><br/></td></tr>
387<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
388<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a></td></tr>
389<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for storing ival, ixval and iyval for each point inside the window. <a href="structarm__compute_1_1_c_l_old_value.xhtml#details">More...</a><br/></td></tr>
390<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
391<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml">CLLKTrackerInitKernel</a></td></tr>
392<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the initialization step of LKTracker. <a href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml#details">More...</a><br/></td></tr>
393<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
394<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml">CLLKTrackerFinalizeKernel</a></td></tr>
395<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the finalize step of LKTracker, where it truncates the coordinates stored in new_points array. <a href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml#details">More...</a><br/></td></tr>
396<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
397<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml">CLLKTrackerStage0Kernel</a></td></tr>
398<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the first stage of LKTracker, where A11, A12, A22, min_eig, ival, ixval and iyval are computed. <a href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml#details">More...</a><br/></td></tr>
399<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
400<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml">CLLKTrackerStage1Kernel</a></td></tr>
401<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the second stage of LKTracker, where the motion vectors of the given points are computed. <a href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml#details">More...</a><br/></td></tr>
402<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
403<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_locally_connected_matrix_multiply_kernel.xhtml">CLLocallyConnectedMatrixMultiplyKernel</a></td></tr>
404<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to multiply each row of first tensor with low 2 dimensions of second tensor. <a href="classarm__compute_1_1_c_l_locally_connected_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
405<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
406<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a></td></tr>
407<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml#details">More...</a><br/></td></tr>
408<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
409<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a></td></tr>
410<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to calculate mean and standard deviation of input image pixels. <a href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml#details">More...</a><br/></td></tr>
411<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
412<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml">CLMedian3x3Kernel</a></td></tr>
413<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the median 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml#details">More...</a><br/></td></tr>
414<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
415<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_layer_kernel.xhtml">CLMinMaxLayerKernel</a></td></tr>
416<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform min max search on a 3D tensor. <a href="classarm__compute_1_1_c_l_min_max_layer_kernel.xhtml#details">More...</a><br/></td></tr>
417<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
418<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_kernel.xhtml">CLMinMaxKernel</a></td></tr>
419<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform min max search on an image. <a href="classarm__compute_1_1_c_l_min_max_kernel.xhtml#details">More...</a><br/></td></tr>
420<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
421<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml">CLMinMaxLocationKernel</a></td></tr>
422<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to find min max locations of an image. <a href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml#details">More...</a><br/></td></tr>
423<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
424<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml">CLNonLinearFilterKernel</a></td></tr>
425<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to apply a non-linear filter. <a href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml#details">More...</a><br/></td></tr>
426<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
427<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml">CLNonMaximaSuppression3x3Kernel</a></td></tr>
428<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to perform Non-Maxima suppression over a 3x3 window using OpenCL. <a href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml#details">More...</a><br/></td></tr>
429<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
430<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a></td></tr>
431<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
432<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
433<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a></td></tr>
434<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the pixelwise multiplication kernel. <a href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br/></td></tr>
435<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
436<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml">CLPoolingLayerKernel</a></td></tr>
437<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml#details">More...</a><br/></td></tr>
438<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
439<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_quantization_layer_kernel.xhtml">CLQuantizationLayerKernel</a></td></tr>
440<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the quantization layer kernel. <a href="classarm__compute_1_1_c_l_quantization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
441<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
442<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduction_operation_kernel.xhtml">CLReductionOperationKernel</a></td></tr>
443<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the reduction operation kernel. <a href="classarm__compute_1_1_c_l_reduction_operation_kernel.xhtml#details">More...</a><br/></td></tr>
444<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
445<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap_kernel.xhtml">CLRemapKernel</a></td></tr>
446<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a remap on a tensor. <a href="classarm__compute_1_1_c_l_remap_kernel.xhtml#details">More...</a><br/></td></tr>
447<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
448<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a></td></tr>
449<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform tensor reshaping. <a href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml#details">More...</a><br/></td></tr>
450<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
451<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a></td></tr>
452<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the <a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> pooling layer kernel. <a href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml#details">More...</a><br/></td></tr>
453<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
454<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a></td></tr>
455<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the scale kernel. <a href="classarm__compute_1_1_c_l_scale_kernel.xhtml#details">More...</a><br/></td></tr>
456<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
457<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml">CLScharr3x3Kernel</a></td></tr>
458<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 Scharr filter on a tensor. <a href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000459<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
460<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml">CLSobel3x3Kernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100461<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000462<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
463<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml">CLSobel5x5HorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100464<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000465<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
466<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml">CLSobel5x5VertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100467<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000468<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
469<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml">CLSobel7x7HorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100470<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000471<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
472<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml">CLSobel7x7VertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100473<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000474<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100475<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml">CLLogits1DMaxKernel</a></td></tr>
476<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000477<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100478<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml">CLLogits1DShiftExpSumKernel</a></td></tr>
479<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100480<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100481<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml">CLLogits1DNormKernel</a></td></tr>
482<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000483<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
484<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100485<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform table lookup calculations. <a href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000486<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
487<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold_kernel.xhtml">CLThresholdKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100488<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the thresholding kernel. <a href="classarm__compute_1_1_c_l_threshold_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000489<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
490<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose_kernel.xhtml">CLTransposeKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100491<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_c_l_transpose_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000492<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
493<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100494<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the warp affine kernel. <a href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000495<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
496<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100497<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the warp perspective kernel. <a href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000498<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100499<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_weights_reshape_kernel.xhtml">CLWeightsReshapeKernel</a></td></tr>
500<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100501<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_symbols.xhtml">CLSymbols</a></td></tr>
502<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000503<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100504<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> of an item. <a href="classarm__compute_1_1_coordinates.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000505<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100506<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000507<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100508<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_thread_info.xhtml">ThreadInfo</a></td></tr>
509<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
510<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
511<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all kernels implemented in C++. <a href="classarm__compute_1_1_i_c_p_p_kernel.xhtml#details">More...</a><br/></td></tr>
512<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
513<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
514<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple NEON kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000515<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
516<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml">CPPCornerCandidatesKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100517<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform corner candidates. <a href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000518<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100519<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml">CPPDetectionWindowNonMaximaSuppressionKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100520<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform in-place computation of euclidean distance on IDetectionWindowArray. <a href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000521<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
522<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml">CPPSortEuclideanDistanceKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100523<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform sorting and euclidean distance. <a href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000524<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
525<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100526<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> with dimensionality. <a href="classarm__compute_1_1_dimensions.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000527<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100528<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a></td></tr>
529<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100530<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_iterator.xhtml">Iterator</a></td></tr>
531<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_iterator.xhtml" title="Iterator updated by execute_window_loop for each window element. ">Iterator</a> updated by <a class="el" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a> for each window element. <a href="classarm__compute_1_1_iterator.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000532<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
533<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100534<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>'s metadata. <a href="classarm__compute_1_1_h_o_g_info.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000535<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
536<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_access_window.xhtml">IAccessWindow</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100537<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface describing methods to update access window and padding based on kernel parameters. <a href="classarm__compute_1_1_i_access_window.xhtml#details">More...</a><br/></td></tr>
538<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
539<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_rectangle.xhtml">AccessWindowRectangle</a></td></tr>
540<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a rectangular access pattern. <a href="classarm__compute_1_1_access_window_rectangle.xhtml#details">More...</a><br/></td></tr>
541<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
542<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_vertical.xhtml">AccessWindowVertical</a></td></tr>
543<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a column access pattern. <a href="classarm__compute_1_1_access_window_vertical.xhtml#details">More...</a><br/></td></tr>
544<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
545<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_horizontal.xhtml">AccessWindowHorizontal</a></td></tr>
546<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a row access pattern. <a href="classarm__compute_1_1_access_window_horizontal.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000547<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
548<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100549<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a> of type T. <a href="classarm__compute_1_1_i_array.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000550<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
551<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution.xhtml">IDistribution</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100552<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for distribution objects. <a href="classarm__compute_1_1_i_distribution.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000553<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
554<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml">IDistribution1D</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100555<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">1D Distribution interface <a href="classarm__compute_1_1_i_distribution1_d.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000556<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
557<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_h_o_g.xhtml">IHOG</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100558<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_i_h_o_g.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000559<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
560<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100561<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common information for all the kernels. <a href="classarm__compute_1_1_i_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000562<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
563<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut.xhtml">ILut</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100564<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lookup Table object interface. <a href="classarm__compute_1_1_i_lut.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000565<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
566<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100567<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for storing multiple <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_i_multi_h_o_g.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000568<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
569<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_image.xhtml">IMultiImage</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100570<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for multi-planar images. <a href="classarm__compute_1_1_i_multi_image.xhtml#details">More...</a><br/></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +0100571<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000572<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_pyramid.xhtml">IPyramid</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100573<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for pyramid data-object. <a href="classarm__compute_1_1_i_pyramid.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100574<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000575<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100576<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for NEON tensor. <a href="classarm__compute_1_1_i_tensor.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000577<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100578<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100579<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the tensor's metadata. <a href="classarm__compute_1_1_i_tensor_info.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000580<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +0100581<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_logger.xhtml">Logger</a></td></tr>
582<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_logger.xhtml" title="Logger singleton class. ">Logger</a> singleton class. <a href="classarm__compute_1_1_logger.xhtml#details">More...</a><br/></td></tr>
583<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000584<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image_info.xhtml">MultiImageInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100585<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the multi-planar image's metadata. <a href="classarm__compute_1_1_multi_image_info.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000586<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100587<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_a_arch32_kernel.xhtml">NEGEMMAArch32Kernel</a></td></tr>
588<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AArch32/armv7a NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_a_arch32_kernel.xhtml#details">More...</a><br/></td></tr>
589<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
590<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_a_arch64_kernel.xhtml">NEGEMMAArch64Kernel</a></td></tr>
591<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AArch64 NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_a_arch64_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000592<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
593<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100594<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000595<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
596<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100597<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate kernel. <a href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000598<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
599<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100600<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000601<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100602<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml">NEAccumulateWeightedFP16Kernel</a></td></tr>
603<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel using F16. <a href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
604<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
605<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a></td></tr>
606<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate squared kernel. <a href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000607<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
608<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100609<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000610<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
611<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100612<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform addition between two tensors. <a href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000613<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
614<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100615<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform subtraction between two tensors. <a href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100616<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
617<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml">NEBatchNormalizationLayerKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100618<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the batch normalization layer kernel. <a href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000619<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
620<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100621<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform bitwise AND between XY-planes of two tensors. <a href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000622<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
623<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100624<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform bitwise NOT operation. <a href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000625<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
626<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100627<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform bitwise inclusive OR between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000628<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
629<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100630<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000631<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
632<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100633<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Box 3x3 filter. <a href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000634<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100635<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml">NEBox3x3FP16Kernel</a></td></tr>
636<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Box 3x3 filter using F16 simd. <a href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000637<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
638<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100639<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes magnitude and quantised phase from inputs gradients. <a href="classarm__compute_1_1_n_e_gradient_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000640<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100641<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml">NEGradientFP16Kernel</a></td></tr>
642<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Gradient computation. <a href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000643<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100644<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml">NEEdgeNonMaxSuppressionKernel</a></td></tr>
645<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression for Canny Edge. <a href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000646<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100647<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml">NEEdgeTraceKernel</a></td></tr>
648<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Edge tracing. <a href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000649<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100650<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a></td></tr>
651<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel combine kernel. <a href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000652<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100653<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a></td></tr>
654<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel extract kernel. <a href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000655<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100656<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml">NECol2ImKernel</a></td></tr>
657<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform col2im reshaping. <a href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000658<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100659<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a></td></tr>
660<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the color convert kernel. <a href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000661<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100662<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a></td></tr>
663<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000664<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
665<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100666<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Horizontal pass of a Separable Convolution. <a href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000667<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
668<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100669<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Vertical pass of a Separable Convolution. <a href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000670<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100671<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml">NEConvolutionRectangleKernel</a></td></tr>
672<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml#details">More...</a><br/></td></tr>
673<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
674<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml">NECumulativeDistributionKernel</a></td></tr>
675<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the cumulative distribution (cummulative summmation) calculation kernel. <a href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml#details">More...</a><br/></td></tr>
676<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
677<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate_kernel.xhtml">NEDepthConcatenateKernel</a></td></tr>
678<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_n_e_depth_concatenate_kernel.xhtml#details">More...</a><br/></td></tr>
679<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
680<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml">NEDepthConvertKernel</a></td></tr>
681<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Depth conversion kernel. <a href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml#details">More...</a><br/></td></tr>
682<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
683<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml">NEDequantizationLayerKernel</a></td></tr>
684<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the dequantization layer kernel. <a href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
685<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
686<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative_kernel.xhtml">NEDerivativeKernel</a></td></tr>
687<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the derivative along the X/Y directions on a tensor. <a href="classarm__compute_1_1_n_e_derivative_kernel.xhtml#details">More...</a><br/></td></tr>
688<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
689<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate_kernel.xhtml">NEDilateKernel</a></td></tr>
690<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform boolean image dilatation. <a href="classarm__compute_1_1_n_e_dilate_kernel.xhtml#details">More...</a><br/></td></tr>
691<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
692<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_bias_accumulate_kernel.xhtml">NEDirectConvolutionLayerBiasAccumulateKernel</a></td></tr>
693<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to accumulate the biases to each element of the input tensor. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_bias_accumulate_kernel.xhtml#details">More...</a><br/></td></tr>
694<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
695<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml">NEDirectConvolutionLayerKernel</a></td></tr>
696<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON interface for Direct Convolution Layer kernel. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml#details">More...</a><br/></td></tr>
697<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
698<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode_kernel.xhtml">NEErodeKernel</a></td></tr>
699<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform boolean image erosion. <a href="classarm__compute_1_1_n_e_erode_kernel.xhtml#details">More...</a><br/></td></tr>
700<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
701<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml">NEFastCornersKernel</a></td></tr>
702<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform fast corners. <a href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml#details">More...</a><br/></td></tr>
703<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
704<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml">NEFillArrayKernel</a></td></tr>
705<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This kernel adds all texels greater than or equal to the threshold value to the keypoint array. <a href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml#details">More...</a><br/></td></tr>
706<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
707<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a></td></tr>
708<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to fill borders. <a href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml#details">More...</a><br/></td></tr>
709<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
710<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml">NEFillInnerBorderKernel</a></td></tr>
711<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to fill the interior borders. <a href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml#details">More...</a><br/></td></tr>
712<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
713<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a></td></tr>
714<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a floor operation. <a href="classarm__compute_1_1_n_e_floor_kernel.xhtml#details">More...</a><br/></td></tr>
715<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
716<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml">NEGaussian3x3Kernel</a></td></tr>
717<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Gaussian 3x3 filter. <a href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml#details">More...</a><br/></td></tr>
718<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
719<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml">NEGaussian5x5HorKernel</a></td></tr>
720<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Gaussian 5x5 filter (horizontal pass) <a href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml#details">More...</a><br/></td></tr>
721<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
722<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml">NEGaussian5x5VertKernel</a></td></tr>
723<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Gaussian 5x5 filter (vertical pass) <a href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml#details">More...</a><br/></td></tr>
724<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
725<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml">NEGaussianPyramidHorKernel</a></td></tr>
726<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a GaussianPyramid (horizontal pass) <a href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml#details">More...</a><br/></td></tr>
727<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
728<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml">NEGaussianPyramidVertKernel</a></td></tr>
729<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a GaussianPyramid (vertical pass) <a href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml#details">More...</a><br/></td></tr>
730<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
731<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml">NEGEMMAssemblyBaseKernel</a></td></tr>
732<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AssemblyBase/armv7a NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml#details">More...</a><br/></td></tr>
733<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
734<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml">NEGEMMInterleave4x4Kernel</a></td></tr>
735<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to interleave the elements of a matrix. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br/></td></tr>
736<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
737<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a></td></tr>
738<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to multiply matrices. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
739<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
740<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">NEGEMMMatrixAccumulateBiasesKernel</a></td></tr>
741<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br/></td></tr>
742<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
743<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml">NEGEMMMatrixAdditionKernel</a></td></tr>
744<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform the in-place matrix addition between 2 matrices taking into account that the second matrix might be weighted by a scalar value beta: <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br/></td></tr>
745<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
746<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml">NEGEMMMatrixMultiplyKernel</a></td></tr>
747<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
748<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
749<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml">NEGEMMTranspose1xWKernel</a></td></tr>
750<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br/></td></tr>
751<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
752<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml">INEHarrisScoreKernel</a></td></tr>
753<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all Harris Score kernels. <a href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml#details">More...</a><br/></td></tr>
754<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
755<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a></td></tr>
756<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
757<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
758<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml">NEHarrisScoreFP16Kernel</a></td></tr>
759<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate Weighted kernel using F16. <a href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
760<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
761<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a></td></tr>
762<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
763<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
764<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml">NEHOGOrientationBinningKernel</a></td></tr>
765<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> Orientation Binning. <a href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml#details">More...</a><br/></td></tr>
766<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
767<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml">NEHOGBlockNormalizationKernel</a></td></tr>
768<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> block normalization. <a href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml#details">More...</a><br/></td></tr>
769<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
770<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml">NEHOGDetectorKernel</a></td></tr>
771<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector kernel using linear SVM. <a href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml#details">More...</a><br/></td></tr>
772<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
773<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml">NEIm2ColKernel</a></td></tr>
774<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml#details">More...</a><br/></td></tr>
775<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
776<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a></td></tr>
777<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to perform an image integral on an image. <a href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml#details">More...</a><br/></td></tr>
778<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
779<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l2_normalize_kernel.xhtml">NEL2NormalizeKernel</a></td></tr>
780<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for performing a L2 normalize on a given axis given the square sum of it in this axis. <a href="classarm__compute_1_1_n_e_l2_normalize_kernel.xhtml#details">More...</a><br/></td></tr>
781<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
782<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a></td></tr>
783<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal keypoint class for Lucas-Kanade Optical Flow. <a href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml#details">More...</a><br/></td></tr>
784<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
785<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml">NELKTrackerKernel</a></td></tr>
786<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the Lucas-Kanade tracker kernel. <a href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml#details">More...</a><br/></td></tr>
787<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
788<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml">NELocallyConnectedMatrixMultiplyKernel</a></td></tr>
789<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to multiply each row of first tensor with low 2 dimensions of second tensor. <a href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
790<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
791<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a></td></tr>
792<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml#details">More...</a><br/></td></tr>
793<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
794<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml">NEMagnitudePhaseFP16Kernel</a></td></tr>
795<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
796<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
797<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml">NEMeanStdDevKernel</a></td></tr>
798<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to calculate mean and standard deviation of input image pixels. <a href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml#details">More...</a><br/></td></tr>
799<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
800<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml">NEMedian3x3Kernel</a></td></tr>
801<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to perform a median filter on a tensor. <a href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml#details">More...</a><br/></td></tr>
802<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
803<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_layer_kernel.xhtml">NEMinMaxLayerKernel</a></td></tr>
804<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform min max search on a 3D tensor. <a href="classarm__compute_1_1_n_e_min_max_layer_kernel.xhtml#details">More...</a><br/></td></tr>
805<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
806<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_kernel.xhtml">NEMinMaxKernel</a></td></tr>
807<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform min max search on an image. <a href="classarm__compute_1_1_n_e_min_max_kernel.xhtml#details">More...</a><br/></td></tr>
808<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
809<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml">NEMinMaxLocationKernel</a></td></tr>
810<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to find min max locations of an image. <a href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml#details">More...</a><br/></td></tr>
811<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
812<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml">NENonLinearFilterKernel</a></td></tr>
813<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to apply a non-linear filter. <a href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml#details">More...</a><br/></td></tr>
814<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
815<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
816<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
817<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
818<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml">NENonMaximaSuppression3x3FP16Kernel</a></td></tr>
819<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
820<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
821<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a></td></tr>
822<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
823<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
824<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a></td></tr>
825<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform addition between two tensors. <a href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br/></td></tr>
826<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
827<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml">NEPoolingLayerKernel</a></td></tr>
828<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml#details">More...</a><br/></td></tr>
829<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
830<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_quantization_layer_kernel.xhtml">NEQuantizationLayerKernel</a></td></tr>
831<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the quantization layer kernel. <a href="classarm__compute_1_1_n_e_quantization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
832<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
833<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation_kernel.xhtml">NEReductionOperationKernel</a></td></tr>
834<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a reduction operation. <a href="classarm__compute_1_1_n_e_reduction_operation_kernel.xhtml#details">More...</a><br/></td></tr>
835<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
836<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap_kernel.xhtml">NERemapKernel</a></td></tr>
837<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a remap on a tensor. <a href="classarm__compute_1_1_n_e_remap_kernel.xhtml#details">More...</a><br/></td></tr>
838<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
839<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a></td></tr>
840<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform tensor reshaping. <a href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml#details">More...</a><br/></td></tr>
841<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
842<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a></td></tr>
843<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the <a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> pooling layer kernel. <a href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml#details">More...</a><br/></td></tr>
844<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
845<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a></td></tr>
846<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform scaling on a tensor. <a href="classarm__compute_1_1_n_e_scale_kernel.xhtml#details">More...</a><br/></td></tr>
847<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
848<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml">NEScharr3x3Kernel</a></td></tr>
849<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 Scharr filter on a tensor. <a href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000850<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
851<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml">NESobel3x3Kernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100852<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 Sobel X filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000853<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
854<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml">NESobel5x5HorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100855<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000856<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
857<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml">NESobel5x5VertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100858<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000859<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
860<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml">NESobel7x7HorKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100861<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000862<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
863<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml">NESobel7x7VertKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100864<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000865<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100866<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml">NELogits1DMaxKernel</a></td></tr>
867<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000868<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100869<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml">NELogits1DShiftExpSumKernel</a></td></tr>
870<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br/></td></tr>
871<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
872<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml">NELogits1DNormKernel</a></td></tr>
873<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000874<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
875<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100876<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform table lookup calculations. <a href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000877<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
878<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100879<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the thresholding kernel. <a href="classarm__compute_1_1_n_e_threshold_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000880<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
881<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose_kernel.xhtml">NETransposeKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100882<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_n_e_transpose_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000883<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100884<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml">INEWarpKernel</a></td></tr>
885<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for warp affine and warp perspective. <a href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000886<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
887<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100888<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute warp affine. <a href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000889<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
890<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100891<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute warp perspective. <a href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000892<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100893<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml">NEWeightsReshapeKernel</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100894<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform reshaping on the weights used by convolution and locally connected layer. <a href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000895<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
896<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100897<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class describing the value of a pixel for any image format. <a href="classarm__compute_1_1_pixel_value.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000898<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
899<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid_info.xhtml">PyramidInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100900<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the <a class="el" href="classarm__compute_1_1_pyramid.xhtml" title="Basic implementation of the pyramid interface. ">Pyramid</a>'s metadata. <a href="classarm__compute_1_1_pyramid_info.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100901<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000902<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100903<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for specifying the size of an image or rectangle. <a href="classarm__compute_1_1_size2_d.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000904<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
905<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100906<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class to describe a number of elements in each dimension. <a href="classarm__compute_1_1_steps.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000907<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
908<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100909<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> of an item in bytes. <a href="classarm__compute_1_1_strides.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100910<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
911<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_sub_tensor_info.xhtml">SubTensorInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100912<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the sub tensor's metadata. <a href="classarm__compute_1_1_sub_tensor_info.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000913<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
914<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100915<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the tensor's metadata. <a href="classarm__compute_1_1_tensor_info.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000916<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
917<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100918<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shape of a tensor. <a href="classarm__compute_1_1_tensor_shape.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000919<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
920<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a></td></tr>
921<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100922<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td></tr>
923<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Container for 2D border size. <a href="structarm__compute_1_1_border_size.xhtml#details">More...</a><br/></td></tr>
924<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
925<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a></td></tr>
926<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_keypoint.xhtml">Keypoint</a> type. <a href="structarm__compute_1_1_key_point.xhtml#details">More...</a><br/></td></tr>
927<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
928<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a></td></tr>
929<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. <a href="structarm__compute_1_1_rectangle.xhtml#details">More...</a><br/></td></tr>
930<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
931<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a></td></tr>
932<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates2_d.xhtml#details">More...</a><br/></td></tr>
933<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
934<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates3_d.xhtml">Coordinates3D</a></td></tr>
935<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates3_d.xhtml#details">More...</a><br/></td></tr>
936<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
937<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a></td></tr>
938<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Region of interest. <a href="structarm__compute_1_1_r_o_i.xhtml#details">More...</a><br/></td></tr>
939<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
940<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a></td></tr>
941<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detection window used for the object detection. <a href="structarm__compute_1_1_detection_window.xhtml#details">More...</a><br/></td></tr>
942<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
943<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a></td></tr>
944<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Padding and stride information class. <a href="classarm__compute_1_1_pad_stride_info.xhtml#details">More...</a><br/></td></tr>
945<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
946<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a></td></tr>
947<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pooling Layer Information class. <a href="classarm__compute_1_1_pooling_layer_info.xhtml#details">More...</a><br/></td></tr>
948<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
949<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a></td></tr>
950<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> Pooling Layer Information class. <a href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml#details">More...</a><br/></td></tr>
951<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
952<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">ActivationLayerInfo</a></td></tr>
953<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activation Layer Information class. <a href="classarm__compute_1_1_activation_layer_info.xhtml#details">More...</a><br/></td></tr>
954<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
955<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a></td></tr>
956<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalization Layer Information class. <a href="classarm__compute_1_1_normalization_layer_info.xhtml#details">More...</a><br/></td></tr>
957<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100958<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100959<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convolution Layer Weights Information class. <a href="classarm__compute_1_1_weights_info.xhtml#details">More...</a><br/></td></tr>
960<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
961<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_i_o_format_info.xhtml">IOFormatInfo</a></td></tr>
962<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">IO formatting information class. <a href="structarm__compute_1_1_i_o_format_info.xhtml#details">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100963<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000964<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100965<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describe a multidimensional execution window. <a href="classarm__compute_1_1_window.xhtml#details">More...</a><br/></td></tr>
966<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
967<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_allocator.xhtml">Allocator</a></td></tr>
968<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default malloc allocator implementation. <a href="classarm__compute_1_1_allocator.xhtml#details">More...</a><br/></td></tr>
969<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
970<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_array.xhtml">Array</a></td></tr>
971<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the <a class="el" href="classarm__compute_1_1_i_array.xhtml" title="Array of type T. ">IArray</a> interface which allocates a static number of T values. <a href="classarm__compute_1_1_array.xhtml#details">More...</a><br/></td></tr>
972<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
973<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_lifetime_manager.xhtml">BlobLifetimeManager</a></td></tr>
974<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class that tracks the lifetime of registered tensors and calculates the systems memory requirements in terms of blobs. <a href="classarm__compute_1_1_blob_lifetime_manager.xhtml#details">More...</a><br/></td></tr>
975<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
976<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_memory_pool.xhtml">BlobMemoryPool</a></td></tr>
977<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blob memory pool. <a href="classarm__compute_1_1_blob_memory_pool.xhtml#details">More...</a><br/></td></tr>
978<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
979<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a></td></tr>
980<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml" title="CLArray implementation. ">CLArray</a> implementation. <a href="classarm__compute_1_1_c_l_array.xhtml#details">More...</a><br/></td></tr>
981<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
982<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_buffer_allocator.xhtml">CLBufferAllocator</a></td></tr>
983<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default OpenCL cl buffer allocator implementation. <a href="classarm__compute_1_1_c_l_buffer_allocator.xhtml#details">More...</a><br/></td></tr>
984<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
985<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml">CLDistribution1D</a></td></tr>
986<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml" title="CLDistribution1D object class. ">CLDistribution1D</a> object class. <a href="classarm__compute_1_1_c_l_distribution1_d.xhtml#details">More...</a><br/></td></tr>
987<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
988<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g.xhtml">CLHOG</a></td></tr>
989<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL implementation of <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_c_l_h_o_g.xhtml#details">More...</a><br/></td></tr>
990<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
991<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml">CLLut</a></td></tr>
992<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL lut interface. <a href="classarm__compute_1_1_c_l_lut.xhtml#details">More...</a><br/></td></tr>
993<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
994<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut_allocator.xhtml">CLLutAllocator</a></td></tr>
995<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a CL memory LUT allocator. <a href="classarm__compute_1_1_c_l_lut_allocator.xhtml#details">More...</a><br/></td></tr>
996<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
997<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_h_o_g.xhtml">CLMultiHOG</a></td></tr>
998<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the CL multi <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_c_l_multi_h_o_g.xhtml#details">More...</a><br/></td></tr>
999<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1000<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_image.xhtml">CLMultiImage</a></td></tr>
1001<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the CL multi-planar image interface. <a href="classarm__compute_1_1_c_l_multi_image.xhtml#details">More...</a><br/></td></tr>
1002<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1003<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pyramid.xhtml">CLPyramid</a></td></tr>
1004<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL pyramid interface. <a href="classarm__compute_1_1_c_l_pyramid.xhtml#details">More...</a><br/></td></tr>
1005<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1006<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scheduler.xhtml">CLScheduler</a></td></tr>
1007<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides global access to a CL context and command queue. <a href="classarm__compute_1_1_c_l_scheduler.xhtml#details">More...</a><br/></td></tr>
1008<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1009<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a></td></tr>
1010<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL sub-tensor interface. <a href="classarm__compute_1_1_c_l_sub_tensor.xhtml#details">More...</a><br/></td></tr>
1011<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1012<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
1013<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL tensor interface. <a href="classarm__compute_1_1_c_l_tensor.xhtml#details">More...</a><br/></td></tr>
1014<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1015<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a></td></tr>
1016<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory group. <a href="classarm__compute_1_1_memory_group_base.xhtml#details">More...</a><br/></td></tr>
1017<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1018<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor_allocator.xhtml">CLTensorAllocator</a></td></tr>
1019<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a CL memory tensor allocator. <a href="classarm__compute_1_1_c_l_tensor_allocator.xhtml#details">More...</a><br/></td></tr>
1020<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1021<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tuner.xhtml">CLTuner</a></td></tr>
1022<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL tuner interface. <a href="classarm__compute_1_1_c_l_tuner.xhtml#details">More...</a><br/></td></tr>
1023<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1024<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference.xhtml">CLAbsoluteDifference</a></td></tr>
1025<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_c_l_absolute_difference.xhtml#details">More...</a><br/></td></tr>
1026<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1027<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate.xhtml">CLAccumulate</a></td></tr>
1028<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml">CLAccumulateKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate.xhtml#details">More...</a><br/></td></tr>
1029<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1030<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml">CLAccumulateWeighted</a></td></tr>
1031<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml#details">More...</a><br/></td></tr>
1032<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1033<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared.xhtml">CLAccumulateSquared</a></td></tr>
1034<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml">CLAccumulateSquaredKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate_squared.xhtml#details">More...</a><br/></td></tr>
1035<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1036<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer.xhtml">CLActivationLayer</a></td></tr>
1037<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a>. <a href="classarm__compute_1_1_c_l_activation_layer.xhtml#details">More...</a><br/></td></tr>
1038<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1039<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition.xhtml">CLArithmeticAddition</a></td></tr>
1040<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_addition.xhtml#details">More...</a><br/></td></tr>
1041<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1042<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml">CLArithmeticSubtraction</a></td></tr>
1043<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml#details">More...</a><br/></td></tr>
1044<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1045<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_batch_normalization_layer.xhtml">CLBatchNormalizationLayer</a></td></tr>
1046<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_c_l_batch_normalization_layer.xhtml#details">More...</a><br/></td></tr>
1047<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1048<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and.xhtml">CLBitwiseAnd</a></td></tr>
1049<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml">CLBitwiseAndKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_and.xhtml#details">More...</a><br/></td></tr>
1050<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1051<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not.xhtml">CLBitwiseNot</a></td></tr>
1052<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml">CLBitwiseNotKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_not.xhtml#details">More...</a><br/></td></tr>
1053<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1054<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or.xhtml">CLBitwiseOr</a></td></tr>
1055<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml">CLBitwiseOrKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_or.xhtml#details">More...</a><br/></td></tr>
1056<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1057<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor.xhtml">CLBitwiseXor</a></td></tr>
1058<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml">CLBitwiseXorKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_xor.xhtml#details">More...</a><br/></td></tr>
1059<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1060<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_box3x3.xhtml">CLBox3x3</a></td></tr>
1061<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_c_l_box3x3.xhtml#details">More...</a><br/></td></tr>
1062<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1063<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_canny_edge.xhtml">CLCannyEdge</a></td></tr>
1064<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute canny edge on OpenCL. <a href="classarm__compute_1_1_c_l_canny_edge.xhtml#details">More...</a><br/></td></tr>
1065<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1066<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine.xhtml">CLChannelCombine</a></td></tr>
1067<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml">CLChannelCombineKernel</a> to perform channel combination. <a href="classarm__compute_1_1_c_l_channel_combine.xhtml#details">More...</a><br/></td></tr>
1068<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1069<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract.xhtml">CLChannelExtract</a></td></tr>
1070<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml">CLChannelExtractKernel</a> to perform channel extraction. <a href="classarm__compute_1_1_c_l_channel_extract.xhtml#details">More...</a><br/></td></tr>
1071<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1072<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert.xhtml">CLColorConvert</a></td></tr>
1073<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a>. <a href="classarm__compute_1_1_c_l_color_convert.xhtml#details">More...</a><br/></td></tr>
1074<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1075<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution3x3.xhtml">CLConvolution3x3</a></td></tr>
1076<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_c_l_convolution3x3.xhtml#details">More...</a><br/></td></tr>
1077<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1078<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a></td></tr>
1079<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute square convolution.Currently it supports 5x5, 7x7, 9x9. <a href="classarm__compute_1_1_c_l_convolution_square.xhtml#details">More...</a><br/></td></tr>
1080<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1081<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml">CLConvolutionRectangle</a></td></tr>
1082<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non-square convolution. <a href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml#details">More...</a><br/></td></tr>
1083<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1084<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml">CLConvolutionLayerReshapeWeights</a></td></tr>
1085<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reshape and transpose the weights. <a href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml#details">More...</a><br/></td></tr>
1086<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1087<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer.xhtml">CLConvolutionLayer</a></td></tr>
1088<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute the convolution layer. <a href="classarm__compute_1_1_c_l_convolution_layer.xhtml#details">More...</a><br/></td></tr>
1089<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1090<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_concatenate.xhtml">CLDepthConcatenate</a></td></tr>
1091<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_c_l_depth_concatenate.xhtml#details">More...</a><br/></td></tr>
1092<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1093<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert.xhtml">CLDepthConvert</a></td></tr>
1094<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml">CLDepthConvertKernel</a>. <a href="classarm__compute_1_1_c_l_depth_convert.xhtml#details">More...</a><br/></td></tr>
1095<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1096<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution3x3.xhtml">CLDepthwiseConvolution3x3</a></td></tr>
1097<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute a depthwise convolution for kernel size 3x3xC. <a href="classarm__compute_1_1_c_l_depthwise_convolution3x3.xhtml#details">More...</a><br/></td></tr>
1098<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1099<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution.xhtml">CLDepthwiseConvolution</a></td></tr>
1100<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute a generic depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_convolution.xhtml#details">More...</a><br/></td></tr>
1101<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1102<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml">CLDepthwiseSeparableConvolutionLayer</a></td></tr>
1103<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml#details">More...</a><br/></td></tr>
1104<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1105<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dequantization_layer.xhtml">CLDequantizationLayer</a></td></tr>
1106<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a dequantization layer. <a href="classarm__compute_1_1_c_l_dequantization_layer.xhtml#details">More...</a><br/></td></tr>
1107<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1108<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative.xhtml">CLDerivative</a></td></tr>
1109<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute first order derivative operator. <a href="classarm__compute_1_1_c_l_derivative.xhtml#details">More...</a><br/></td></tr>
1110<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1111<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate.xhtml">CLDilate</a></td></tr>
1112<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_c_l_dilate.xhtml#details">More...</a><br/></td></tr>
1113<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1114<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer.xhtml">CLDirectConvolutionLayer</a></td></tr>
1115<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute direct convolution function: <a href="classarm__compute_1_1_c_l_direct_convolution_layer.xhtml#details">More...</a><br/></td></tr>
1116<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1117<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_equalize_histogram.xhtml">CLEqualizeHistogram</a></td></tr>
1118<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute histogram equalization. <a href="classarm__compute_1_1_c_l_equalize_histogram.xhtml#details">More...</a><br/></td></tr>
1119<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1120<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode.xhtml">CLErode</a></td></tr>
1121<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute erode. <a href="classarm__compute_1_1_c_l_erode.xhtml#details">More...</a><br/></td></tr>
1122<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1123<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners.xhtml">CLFastCorners</a></td></tr>
1124<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute fast corners. <a href="classarm__compute_1_1_c_l_fast_corners.xhtml#details">More...</a><br/></td></tr>
1125<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1126<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border.xhtml">CLFillBorder</a></td></tr>
1127<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a>. <a href="classarm__compute_1_1_c_l_fill_border.xhtml#details">More...</a><br/></td></tr>
1128<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1129<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_flatten_layer.xhtml">CLFlattenLayer</a></td></tr>
1130<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute flatten. <a href="classarm__compute_1_1_c_l_flatten_layer.xhtml#details">More...</a><br/></td></tr>
1131<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1132<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor.xhtml">CLFloor</a></td></tr>
1133<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a>. <a href="classarm__compute_1_1_c_l_floor.xhtml#details">More...</a><br/></td></tr>
1134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1135<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer_reshape_weights.xhtml">CLFullyConnectedLayerReshapeWeights</a></td></tr>
1136<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with OpenCL. <a href="classarm__compute_1_1_c_l_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br/></td></tr>
1137<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1138<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml">CLFullyConnectedLayer</a></td></tr>
1139<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a Fully Connected layer on OpenCL. <a href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml#details">More...</a><br/></td></tr>
1140<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1141<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3.xhtml">CLGaussian3x3</a></td></tr>
1142<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian filter 3x3. <a href="classarm__compute_1_1_c_l_gaussian3x3.xhtml#details">More...</a><br/></td></tr>
1143<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1144<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5.xhtml">CLGaussian5x5</a></td></tr>
1145<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian filter 5x5. <a href="classarm__compute_1_1_c_l_gaussian5x5.xhtml#details">More...</a><br/></td></tr>
1146<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1147<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml">CLGaussianPyramid</a></td></tr>
1148<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all Gaussian pyramid functions. <a href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml#details">More...</a><br/></td></tr>
1149<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1150<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml">CLGaussianPyramidHalf</a></td></tr>
1151<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian pyramid with HALF scale factor. <a href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml#details">More...</a><br/></td></tr>
1152<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1153<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml">CLGaussianPyramidOrb</a></td></tr>
1154<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian pyramid with ORB scale factor. <a href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml#details">More...</a><br/></td></tr>
1155<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1156<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m.xhtml">CLGEMM</a></td></tr>
1157<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
1158<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1159<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4.xhtml">CLGEMMInterleave4x4</a></td></tr>
1160<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
1161<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1162<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp.xhtml">CLGEMMLowp</a></td></tr>
1163<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMMLowp on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp.xhtml#details">More...</a><br/></td></tr>
1164<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1165<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w.xhtml">CLGEMMTranspose1xW</a></td></tr>
1166<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml" title="OpenCL kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / e...">CLGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br/></td></tr>
1167<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1168<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_corners.xhtml">CLHarrisCorners</a></td></tr>
1169<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute harris corners detection. <a href="classarm__compute_1_1_c_l_harris_corners.xhtml#details">More...</a><br/></td></tr>
1170<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1171<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram.xhtml">CLHistogram</a></td></tr>
1172<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute histogram. <a href="classarm__compute_1_1_c_l_histogram.xhtml#details">More...</a><br/></td></tr>
1173<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1174<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_descriptor.xhtml">CLHOGDescriptor</a></td></tr>
1175<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to calculate <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> descriptor. <a href="classarm__compute_1_1_c_l_h_o_g_descriptor.xhtml#details">More...</a><br/></td></tr>
1176<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1177<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_detector.xhtml">CLHOGDetector</a></td></tr>
1178<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector based on linear SVM. <a href="classarm__compute_1_1_c_l_h_o_g_detector.xhtml#details">More...</a><br/></td></tr>
1179<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1180<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_gradient.xhtml">CLHOGGradient</a></td></tr>
1181<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to calculate the gradient for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_c_l_h_o_g_gradient.xhtml#details">More...</a><br/></td></tr>
1182<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1183<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_multi_detection.xhtml">CLHOGMultiDetection</a></td></tr>
1184<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to detect multiple objects (or the same object at different scales) on the same input image using <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_c_l_h_o_g_multi_detection.xhtml#details">More...</a><br/></td></tr>
1185<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1186<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image.xhtml">CLIntegralImage</a></td></tr>
1187<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute integral image. <a href="classarm__compute_1_1_c_l_integral_image.xhtml#details">More...</a><br/></td></tr>
1188<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1189<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l2_normalize.xhtml">CLL2Normalize</a></td></tr>
1190<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform reduction operation. <a href="classarm__compute_1_1_c_l_l2_normalize.xhtml#details">More...</a><br/></td></tr>
1191<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1192<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml">CLLaplacianPyramid</a></td></tr>
1193<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute laplacian pyramid. <a href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml#details">More...</a><br/></td></tr>
1194<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1195<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml">CLLaplacianReconstruct</a></td></tr>
1196<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute laplacian reconstruction. <a href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml#details">More...</a><br/></td></tr>
1197<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1198<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_locally_connected_layer.xhtml">CLLocallyConnectedLayer</a></td></tr>
1199<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute the locally connected layer. <a href="classarm__compute_1_1_c_l_locally_connected_layer.xhtml#details">More...</a><br/></td></tr>
1200<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1201<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude.xhtml">CLMagnitude</a></td></tr>
1202<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_c_l_magnitude.xhtml#details">More...</a><br/></td></tr>
1203<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1204<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev.xhtml">CLMeanStdDev</a></td></tr>
1205<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute mean and standard deviation by calling <a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a>. <a href="classarm__compute_1_1_c_l_mean_std_dev.xhtml#details">More...</a><br/></td></tr>
1206<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1207<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3.xhtml">CLMedian3x3</a></td></tr>
1208<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute median filter. <a href="classarm__compute_1_1_c_l_median3x3.xhtml#details">More...</a><br/></td></tr>
1209<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1210<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location.xhtml">CLMinMaxLocation</a></td></tr>
1211<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute min and max location. <a href="classarm__compute_1_1_c_l_min_max_location.xhtml#details">More...</a><br/></td></tr>
1212<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1213<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter.xhtml">CLNonLinearFilter</a></td></tr>
1214<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non linear filter. <a href="classarm__compute_1_1_c_l_non_linear_filter.xhtml#details">More...</a><br/></td></tr>
1215<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1216<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml">CLNonMaximaSuppression3x3</a></td></tr>
1217<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml#details">More...</a><br/></td></tr>
1218<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1219<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer.xhtml">CLNormalizationLayer</a></td></tr>
1220<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a normalization layer. <a href="classarm__compute_1_1_c_l_normalization_layer.xhtml#details">More...</a><br/></td></tr>
1221<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1222<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_optical_flow.xhtml">CLOpticalFlow</a></td></tr>
1223<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute optical flow. <a href="classarm__compute_1_1_c_l_optical_flow.xhtml#details">More...</a><br/></td></tr>
1224<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1225<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_phase.xhtml">CLPhase</a></td></tr>
1226<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute an <a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_c_l_phase.xhtml#details">More...</a><br/></td></tr>
1227<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1228<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml">CLPixelWiseMultiplication</a></td></tr>
1229<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml#details">More...</a><br/></td></tr>
1230<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1231<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer.xhtml">CLPoolingLayer</a></td></tr>
1232<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a pooling layer with the specified pooling operation. <a href="classarm__compute_1_1_c_l_pooling_layer.xhtml#details">More...</a><br/></td></tr>
1233<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1234<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_quantization_layer.xhtml">CLQuantizationLayer</a></td></tr>
1235<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a quantization layer. <a href="classarm__compute_1_1_c_l_quantization_layer.xhtml#details">More...</a><br/></td></tr>
1236<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1237<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduction_operation.xhtml">CLReductionOperation</a></td></tr>
1238<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform reduction operation. <a href="classarm__compute_1_1_c_l_reduction_operation.xhtml#details">More...</a><br/></td></tr>
1239<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1240<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap.xhtml">CLRemap</a></td></tr>
1241<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute remap. <a href="classarm__compute_1_1_c_l_remap.xhtml#details">More...</a><br/></td></tr>
1242<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1243<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reshape_layer.xhtml">CLReshapeLayer</a></td></tr>
1244<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a>. <a href="classarm__compute_1_1_c_l_reshape_layer.xhtml#details">More...</a><br/></td></tr>
1245<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1246<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer.xhtml">CLROIPoolingLayer</a></td></tr>
1247<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a>. <a href="classarm__compute_1_1_c_l_r_o_i_pooling_layer.xhtml#details">More...</a><br/></td></tr>
1248<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1249<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale.xhtml">CLScale</a></td></tr>
1250<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a>. <a href="classarm__compute_1_1_c_l_scale.xhtml#details">More...</a><br/></td></tr>
1251<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1252<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3.xhtml">CLScharr3x3</a></td></tr>
1253<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute scharr 3x3 filter. <a href="classarm__compute_1_1_c_l_scharr3x3.xhtml#details">More...</a><br/></td></tr>
1254<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1255<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3.xhtml">CLSobel3x3</a></td></tr>
1256<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 3x3 filter. <a href="classarm__compute_1_1_c_l_sobel3x3.xhtml#details">More...</a><br/></td></tr>
1257<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1258<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5.xhtml">CLSobel5x5</a></td></tr>
1259<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 5x5 filter. <a href="classarm__compute_1_1_c_l_sobel5x5.xhtml#details">More...</a><br/></td></tr>
1260<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1261<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7.xhtml">CLSobel7x7</a></td></tr>
1262<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 7x7 filter. <a href="classarm__compute_1_1_c_l_sobel7x7.xhtml#details">More...</a><br/></td></tr>
1263<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1264<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_softmax_layer.xhtml">CLSoftmaxLayer</a></td></tr>
1265<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_c_l_softmax_layer.xhtml#details">More...</a><br/></td></tr>
1266<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1267<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup.xhtml">CLTableLookup</a></td></tr>
1268<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a>. <a href="classarm__compute_1_1_c_l_table_lookup.xhtml#details">More...</a><br/></td></tr>
1269<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1270<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold.xhtml">CLThreshold</a></td></tr>
1271<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_threshold_kernel.xhtml">CLThresholdKernel</a>. <a href="classarm__compute_1_1_c_l_threshold.xhtml#details">More...</a><br/></td></tr>
1272<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1273<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose.xhtml">CLTranspose</a></td></tr>
1274<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to transpose a matrix on OpenCL. <a href="classarm__compute_1_1_c_l_transpose.xhtml#details">More...</a><br/></td></tr>
1275<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1276<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine.xhtml">CLWarpAffine</a></td></tr>
1277<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a> for AFFINE transformation. <a href="classarm__compute_1_1_c_l_warp_affine.xhtml#details">More...</a><br/></td></tr>
1278<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1279<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective.xhtml">CLWarpPerspective</a></td></tr>
1280<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a> for PERSPECTIVE transformation. <a href="classarm__compute_1_1_c_l_warp_perspective.xhtml#details">More...</a><br/></td></tr>
1281<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1282<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_function.xhtml">ICLSimpleFunction</a></td></tr>
1283<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for functions which have a single OpenCL kernel. <a href="classarm__compute_1_1_i_c_l_simple_function.xhtml#details">More...</a><br/></td></tr>
1284<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1285<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tuner.xhtml">ICLTuner</a></td></tr>
1286<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for tuning the OpenCL kernels. <a href="classarm__compute_1_1_i_c_l_tuner.xhtml#details">More...</a><br/></td></tr>
1287<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1288<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
1289<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">C++11 implementation of a pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_c_p_p_scheduler.xhtml#details">More...</a><br/></td></tr>
1290<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1291<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
1292<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the 1D distribution interface. <a href="classarm__compute_1_1_distribution1_d.xhtml#details">More...</a><br/></td></tr>
1293<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1294<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g.xhtml">HOG</a></td></tr>
1295<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU implementation of <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_h_o_g.xhtml#details">More...</a><br/></td></tr>
1296<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1297<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_allocator.xhtml">IAllocator</a></td></tr>
1298<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_allocator.xhtml" title="Default malloc allocator implementation. ">Allocator</a> interface. <a href="classarm__compute_1_1_i_allocator.xhtml#details">More...</a><br/></td></tr>
1299<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1300<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_function.xhtml">IFunction</a></td></tr>
1301<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for all functions. <a href="classarm__compute_1_1_i_function.xhtml#details">More...</a><br/></td></tr>
1302<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1303<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lifetime_manager.xhtml">ILifetimeManager</a></td></tr>
1304<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for managing the lifetime of objects. <a href="classarm__compute_1_1_i_lifetime_manager.xhtml#details">More...</a><br/></td></tr>
1305<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1306<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut_allocator.xhtml">ILutAllocator</a></td></tr>
1307<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface to allocate LUTs'. <a href="classarm__compute_1_1_i_lut_allocator.xhtml#details">More...</a><br/></td></tr>
1308<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1309<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_group.xhtml">IMemoryGroup</a></td></tr>
1310<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory group interface. <a href="classarm__compute_1_1_i_memory_group.xhtml#details">More...</a><br/></td></tr>
1311<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1312<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_manager.xhtml">IMemoryManager</a></td></tr>
1313<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory manager interface to handle allocations of backing memory. <a href="classarm__compute_1_1_i_memory_manager.xhtml#details">More...</a><br/></td></tr>
1314<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1315<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_pool.xhtml">IMemoryPool</a></td></tr>
1316<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Pool Inteface. <a href="classarm__compute_1_1_i_memory_pool.xhtml#details">More...</a><br/></td></tr>
1317<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1318<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_pool_manager.xhtml">IPoolManager</a></td></tr>
1319<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory pool manager interface. <a href="classarm__compute_1_1_i_pool_manager.xhtml#details">More...</a><br/></td></tr>
1320<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1321<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_scheduler.xhtml">IScheduler</a></td></tr>
1322<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_scheduler.xhtml" title="Configurable scheduler which supports multiple multithreading APIs and choosing between different sch...">Scheduler</a> interface to run kernels. <a href="classarm__compute_1_1_i_scheduler.xhtml#details">More...</a><br/></td></tr>
1323<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1324<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_allocator.xhtml">ITensorAllocator</a></td></tr>
1325<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to allocate tensors. <a href="classarm__compute_1_1_i_tensor_allocator.xhtml#details">More...</a><br/></td></tr>
1326<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1327<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut.xhtml">Lut</a></td></tr>
1328<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the LUT interface. <a href="classarm__compute_1_1_lut.xhtml#details">More...</a><br/></td></tr>
1329<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1330<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut_allocator.xhtml">LutAllocator</a></td></tr>
1331<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a CPU memory LUT allocator. <a href="classarm__compute_1_1_lut_allocator.xhtml#details">More...</a><br/></td></tr>
1332<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1333<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_manager_on_demand.xhtml">MemoryManagerOnDemand</a></td></tr>
1334<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">On-demand memory manager. <a href="classarm__compute_1_1_memory_manager_on_demand.xhtml#details">More...</a><br/></td></tr>
1335<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1336<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_h_o_g.xhtml">MultiHOG</a></td></tr>
1337<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU implementation of multi <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_multi_h_o_g.xhtml#details">More...</a><br/></td></tr>
1338<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1339<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image.xhtml">MultiImage</a></td></tr>
1340<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the multi-planar image interface. <a href="classarm__compute_1_1_multi_image.xhtml#details">More...</a><br/></td></tr>
1341<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1342<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference.xhtml">NEAbsoluteDifference</a></td></tr>
1343<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_n_e_absolute_difference.xhtml#details">More...</a><br/></td></tr>
1344<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1345<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate.xhtml">NEAccumulate</a></td></tr>
1346<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate.xhtml#details">More...</a><br/></td></tr>
1347<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1348<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml">NEAccumulateWeighted</a></td></tr>
1349<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml#details">More...</a><br/></td></tr>
1350<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1351<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared.xhtml">NEAccumulateSquared</a></td></tr>
1352<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate_squared.xhtml#details">More...</a><br/></td></tr>
1353<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1354<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer.xhtml">NEActivationLayer</a></td></tr>
1355<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a>. <a href="classarm__compute_1_1_n_e_activation_layer.xhtml#details">More...</a><br/></td></tr>
1356<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1357<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml">NEArithmeticAddition</a></td></tr>
1358<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml#details">More...</a><br/></td></tr>
1359<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1360<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml">NEArithmeticSubtraction</a></td></tr>
1361<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a>. <a href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml#details">More...</a><br/></td></tr>
1362<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1363<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml">NEBatchNormalizationLayer</a></td></tr>
1364<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml#details">More...</a><br/></td></tr>
1365<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1366<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and.xhtml">NEBitwiseAnd</a></td></tr>
1367<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_and.xhtml#details">More...</a><br/></td></tr>
1368<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1369<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not.xhtml">NEBitwiseNot</a></td></tr>
1370<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_not.xhtml#details">More...</a><br/></td></tr>
1371<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1372<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or.xhtml">NEBitwiseOr</a></td></tr>
1373<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_or.xhtml#details">More...</a><br/></td></tr>
1374<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1375<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor.xhtml">NEBitwiseXor</a></td></tr>
1376<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_xor.xhtml#details">More...</a><br/></td></tr>
1377<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1378<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3.xhtml">NEBox3x3</a></td></tr>
1379<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_n_e_box3x3.xhtml#details">More...</a><br/></td></tr>
1380<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1381<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_canny_edge.xhtml">NECannyEdge</a></td></tr>
1382<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute canny edge on NEON. <a href="classarm__compute_1_1_n_e_canny_edge.xhtml#details">More...</a><br/></td></tr>
1383<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1384<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine.xhtml">NEChannelCombine</a></td></tr>
1385<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a> to perform channel combination. <a href="classarm__compute_1_1_n_e_channel_combine.xhtml#details">More...</a><br/></td></tr>
1386<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1387<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract.xhtml">NEChannelExtract</a></td></tr>
1388<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a> to perform channel extraction. <a href="classarm__compute_1_1_n_e_channel_extract.xhtml#details">More...</a><br/></td></tr>
1389<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1390<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert.xhtml">NEColorConvert</a></td></tr>
1391<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a> to perform color conversion. <a href="classarm__compute_1_1_n_e_color_convert.xhtml#details">More...</a><br/></td></tr>
1392<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1393<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution3x3.xhtml">NEConvolution3x3</a></td></tr>
1394<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
1395<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1396<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a></td></tr>
1397<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute convolution of size 5x5, 7x7, 9x9. <a href="classarm__compute_1_1_n_e_convolution_square.xhtml#details">More...</a><br/></td></tr>
1398<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1399<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml">NEConvolutionRectangle</a></td></tr>
1400<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non-square convolution. <a href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml#details">More...</a><br/></td></tr>
1401<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1402<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml">NEConvolutionLayerReshapeWeights</a></td></tr>
1403<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reshape and perform 1xW transposition on the weights. <a href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml#details">More...</a><br/></td></tr>
1404<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1405<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer.xhtml">NEConvolutionLayer</a></td></tr>
1406<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a convolution layer. <a href="classarm__compute_1_1_n_e_convolution_layer.xhtml#details">More...</a><br/></td></tr>
1407<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1408<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate.xhtml">NEDepthConcatenate</a></td></tr>
1409<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_n_e_depth_concatenate.xhtml#details">More...</a><br/></td></tr>
1410<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1411<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert.xhtml">NEDepthConvert</a></td></tr>
1412<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml">NEDepthConvertKernel</a>. <a href="classarm__compute_1_1_n_e_depth_convert.xhtml#details">More...</a><br/></td></tr>
1413<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1414<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer.xhtml">NEDequantizationLayer</a></td></tr>
1415<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a dequantization layer. <a href="classarm__compute_1_1_n_e_dequantization_layer.xhtml#details">More...</a><br/></td></tr>
1416<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1417<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative.xhtml">NEDerivative</a></td></tr>
1418<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute first order derivative operator. <a href="classarm__compute_1_1_n_e_derivative.xhtml#details">More...</a><br/></td></tr>
1419<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1420<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate.xhtml">NEDilate</a></td></tr>
1421<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_n_e_dilate.xhtml#details">More...</a><br/></td></tr>
1422<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1423<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer.xhtml">NEDirectConvolutionLayer</a></td></tr>
1424<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to run the direct convolution. <a href="classarm__compute_1_1_n_e_direct_convolution_layer.xhtml#details">More...</a><br/></td></tr>
1425<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1426<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_equalize_histogram.xhtml">NEEqualizeHistogram</a></td></tr>
1427<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute histogram equalization. <a href="classarm__compute_1_1_n_e_equalize_histogram.xhtml#details">More...</a><br/></td></tr>
1428<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1429<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode.xhtml">NEErode</a></td></tr>
1430<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute erode. <a href="classarm__compute_1_1_n_e_erode.xhtml#details">More...</a><br/></td></tr>
1431<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1432<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners.xhtml">NEFastCorners</a></td></tr>
1433<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute fast corners. <a href="classarm__compute_1_1_n_e_fast_corners.xhtml#details">More...</a><br/></td></tr>
1434<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1435<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border.xhtml">NEFillBorder</a></td></tr>
1436<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a>. <a href="classarm__compute_1_1_n_e_fill_border.xhtml#details">More...</a><br/></td></tr>
1437<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01001438<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_flatten_layer.xhtml">NEFlattenLayer</a></td></tr>
1439<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute flatten. <a href="classarm__compute_1_1_n_e_flatten_layer.xhtml#details">More...</a><br/></td></tr>
1440<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001441<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor.xhtml">NEFloor</a></td></tr>
1442<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a>. <a href="classarm__compute_1_1_n_e_floor.xhtml#details">More...</a><br/></td></tr>
1443<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1444<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer_reshape_weights.xhtml">NEFullyConnectedLayerReshapeWeights</a></td></tr>
1445<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with NEON. <a href="classarm__compute_1_1_n_e_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br/></td></tr>
1446<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1447<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer.xhtml">NEFullyConnectedLayer</a></td></tr>
1448<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a Fully Connected layer on NEON. <a href="classarm__compute_1_1_n_e_fully_connected_layer.xhtml#details">More...</a><br/></td></tr>
1449<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1450<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3.xhtml">NEGaussian3x3</a></td></tr>
1451<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian filter 3x3. <a href="classarm__compute_1_1_n_e_gaussian3x3.xhtml#details">More...</a><br/></td></tr>
1452<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1453<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5.xhtml">NEGaussian5x5</a></td></tr>
1454<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian filter 5x5. <a href="classarm__compute_1_1_n_e_gaussian5x5.xhtml#details">More...</a><br/></td></tr>
1455<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1456<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid.xhtml">NEGaussianPyramid</a></td></tr>
1457<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all Gaussian pyramid functions. <a href="classarm__compute_1_1_n_e_gaussian_pyramid.xhtml#details">More...</a><br/></td></tr>
1458<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1459<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml">NEGaussianPyramidHalf</a></td></tr>
1460<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian pyramid with HALF scale factor. <a href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml#details">More...</a><br/></td></tr>
1461<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1462<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml">NEGaussianPyramidOrb</a></td></tr>
1463<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian pyramid with ORB scale factor. <a href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml#details">More...</a><br/></td></tr>
1464<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1465<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m.xhtml">NEGEMM</a></td></tr>
1466<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMM on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m.xhtml#details">More...</a><br/></td></tr>
1467<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1468<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml">NEGEMMInterleave4x4</a></td></tr>
1469<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml" title="NEON kernel to interleave the elements of a matrix. ">NEGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml#details">More...</a><br/></td></tr>
1470<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1471<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp.xhtml">NEGEMMLowp</a></td></tr>
1472<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMMLowp on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp.xhtml#details">More...</a><br/></td></tr>
1473<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1474<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml">NEGEMMTranspose1xW</a></td></tr>
1475<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml" title="NEON kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / ele...">NEGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br/></td></tr>
1476<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1477<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_corners.xhtml">NEHarrisCorners</a></td></tr>
1478<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute harris corners detection. <a href="classarm__compute_1_1_n_e_harris_corners.xhtml#details">More...</a><br/></td></tr>
1479<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1480<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram.xhtml">NEHistogram</a></td></tr>
1481<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a>. <a href="classarm__compute_1_1_n_e_histogram.xhtml#details">More...</a><br/></td></tr>
1482<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1483<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_descriptor.xhtml">NEHOGDescriptor</a></td></tr>
1484<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to calculate <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> descriptor. <a href="classarm__compute_1_1_n_e_h_o_g_descriptor.xhtml#details">More...</a><br/></td></tr>
1485<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1486<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector.xhtml">NEHOGDetector</a></td></tr>
1487<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector based on linear SVM. <a href="classarm__compute_1_1_n_e_h_o_g_detector.xhtml#details">More...</a><br/></td></tr>
1488<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1489<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_gradient.xhtml">NEHOGGradient</a></td></tr>
1490<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to calculate the gradient for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_n_e_h_o_g_gradient.xhtml#details">More...</a><br/></td></tr>
1491<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1492<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_multi_detection.xhtml">NEHOGMultiDetection</a></td></tr>
1493<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to detect multiple objects (or the same object at different scales) on the same input image using <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_n_e_h_o_g_multi_detection.xhtml#details">More...</a><br/></td></tr>
1494<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1495<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image.xhtml">NEIntegralImage</a></td></tr>
1496<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run a <a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a>. <a href="classarm__compute_1_1_n_e_integral_image.xhtml#details">More...</a><br/></td></tr>
1497<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1498<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l2_normalize.xhtml">NEL2Normalize</a></td></tr>
1499<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to perform a L2 normalization on a given axis. <a href="classarm__compute_1_1_n_e_l2_normalize.xhtml#details">More...</a><br/></td></tr>
1500<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1501<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_pyramid.xhtml">NELaplacianPyramid</a></td></tr>
1502<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute laplacian pyramid. <a href="classarm__compute_1_1_n_e_laplacian_pyramid.xhtml#details">More...</a><br/></td></tr>
1503<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1504<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_reconstruct.xhtml">NELaplacianReconstruct</a></td></tr>
1505<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute laplacian reconstruction. <a href="classarm__compute_1_1_n_e_laplacian_reconstruct.xhtml#details">More...</a><br/></td></tr>
1506<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1507<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_locally_connected_layer.xhtml">NELocallyConnectedLayer</a></td></tr>
1508<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute the locally connected layer. <a href="classarm__compute_1_1_n_e_locally_connected_layer.xhtml#details">More...</a><br/></td></tr>
1509<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1510<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude.xhtml">NEMagnitude</a></td></tr>
1511<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" title="Template interface for the kernel to compute magnitude and phase. ">NEMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_n_e_magnitude.xhtml#details">More...</a><br/></td></tr>
1512<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1513<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev.xhtml">NEMeanStdDev</a></td></tr>
1514<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute mean and std deviation. <a href="classarm__compute_1_1_n_e_mean_std_dev.xhtml#details">More...</a><br/></td></tr>
1515<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1516<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3.xhtml">NEMedian3x3</a></td></tr>
1517<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute median filter. <a href="classarm__compute_1_1_n_e_median3x3.xhtml#details">More...</a><br/></td></tr>
1518<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1519<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location.xhtml">NEMinMaxLocation</a></td></tr>
1520<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute min and max location. <a href="classarm__compute_1_1_n_e_min_max_location.xhtml#details">More...</a><br/></td></tr>
1521<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1522<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter.xhtml">NENonLinearFilter</a></td></tr>
1523<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non linear filter. <a href="classarm__compute_1_1_n_e_non_linear_filter.xhtml#details">More...</a><br/></td></tr>
1524<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1525<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml">NENonMaximaSuppression3x3</a></td></tr>
1526<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
1527<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1528<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer.xhtml">NENormalizationLayer</a></td></tr>
1529<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a normalization layer. <a href="classarm__compute_1_1_n_e_normalization_layer.xhtml#details">More...</a><br/></td></tr>
1530<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1531<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_optical_flow.xhtml">NEOpticalFlow</a></td></tr>
1532<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute optical flow. <a href="classarm__compute_1_1_n_e_optical_flow.xhtml#details">More...</a><br/></td></tr>
1533<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1534<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_phase.xhtml">NEPhase</a></td></tr>
1535<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" title="Template interface for the kernel to compute magnitude and phase. ">NEMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_n_e_phase.xhtml#details">More...</a><br/></td></tr>
1536<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1537<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication.xhtml">NEPixelWiseMultiplication</a></td></tr>
1538<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_n_e_pixel_wise_multiplication.xhtml#details">More...</a><br/></td></tr>
1539<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1540<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer.xhtml">NEPoolingLayer</a></td></tr>
1541<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a pooling layer with the specified pooling operation. <a href="classarm__compute_1_1_n_e_pooling_layer.xhtml#details">More...</a><br/></td></tr>
1542<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1543<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_quantization_layer.xhtml">NEQuantizationLayer</a></td></tr>
1544<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a quantization layer. <a href="classarm__compute_1_1_n_e_quantization_layer.xhtml#details">More...</a><br/></td></tr>
1545<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1546<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation.xhtml">NEReductionOperation</a></td></tr>
1547<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a reduction operation. <a href="classarm__compute_1_1_n_e_reduction_operation.xhtml#details">More...</a><br/></td></tr>
1548<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1549<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap.xhtml">NERemap</a></td></tr>
1550<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute remap. <a href="classarm__compute_1_1_n_e_remap.xhtml#details">More...</a><br/></td></tr>
1551<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1552<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer.xhtml">NEReshapeLayer</a></td></tr>
1553<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a>. <a href="classarm__compute_1_1_n_e_reshape_layer.xhtml#details">More...</a><br/></td></tr>
1554<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1555<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml">NEROIPoolingLayer</a></td></tr>
1556<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a>. <a href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml#details">More...</a><br/></td></tr>
1557<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1558<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale.xhtml">NEScale</a></td></tr>
1559<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a>. <a href="classarm__compute_1_1_n_e_scale.xhtml#details">More...</a><br/></td></tr>
1560<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1561<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3.xhtml">NEScharr3x3</a></td></tr>
1562<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute scharr 3x3 filter. <a href="classarm__compute_1_1_n_e_scharr3x3.xhtml#details">More...</a><br/></td></tr>
1563<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1564<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3.xhtml">NESobel3x3</a></td></tr>
1565<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 3x3 filter. <a href="classarm__compute_1_1_n_e_sobel3x3.xhtml#details">More...</a><br/></td></tr>
1566<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1567<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5.xhtml">NESobel5x5</a></td></tr>
1568<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 5x5 filter. <a href="classarm__compute_1_1_n_e_sobel5x5.xhtml#details">More...</a><br/></td></tr>
1569<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1570<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7.xhtml">NESobel7x7</a></td></tr>
1571<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 7x7 filter. <a href="classarm__compute_1_1_n_e_sobel7x7.xhtml#details">More...</a><br/></td></tr>
1572<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1573<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_softmax_layer.xhtml">NESoftmaxLayer</a></td></tr>
1574<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_n_e_softmax_layer.xhtml#details">More...</a><br/></td></tr>
1575<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1576<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup.xhtml">NETableLookup</a></td></tr>
1577<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a>. <a href="classarm__compute_1_1_n_e_table_lookup.xhtml#details">More...</a><br/></td></tr>
1578<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1579<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold.xhtml">NEThreshold</a></td></tr>
1580<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a>. <a href="classarm__compute_1_1_n_e_threshold.xhtml#details">More...</a><br/></td></tr>
1581<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1582<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose.xhtml">NETranspose</a></td></tr>
1583<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to transpose a matrix on NEON. <a href="classarm__compute_1_1_n_e_transpose.xhtml#details">More...</a><br/></td></tr>
1584<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1585<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine.xhtml">NEWarpAffine</a></td></tr>
1586<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a>. <a href="classarm__compute_1_1_n_e_warp_affine.xhtml#details">More...</a><br/></td></tr>
1587<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1588<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective.xhtml">NEWarpPerspective</a></td></tr>
1589<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a>. <a href="classarm__compute_1_1_n_e_warp_perspective.xhtml#details">More...</a><br/></td></tr>
1590<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1591<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_simple_function.xhtml">INESimpleFunction</a></td></tr>
1592<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for functions which have a single NEON kernel. <a href="classarm__compute_1_1_i_n_e_simple_function.xhtml#details">More...</a><br/></td></tr>
1593<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1594<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_o_m_p_scheduler.xhtml">OMPScheduler</a></td></tr>
1595<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_o_m_p_scheduler.xhtml#details">More...</a><br/></td></tr>
1596<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1597<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pool_manager.xhtml">PoolManager</a></td></tr>
1598<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory pool manager. <a href="classarm__compute_1_1_pool_manager.xhtml#details">More...</a><br/></td></tr>
1599<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1600<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid.xhtml">Pyramid</a></td></tr>
1601<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the pyramid interface. <a href="classarm__compute_1_1_pyramid.xhtml#details">More...</a><br/></td></tr>
1602<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1603<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td></tr>
1604<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configurable scheduler which supports multiple multithreading APIs and choosing between different schedulers at runtime. <a href="classarm__compute_1_1_scheduler.xhtml#details">More...</a><br/></td></tr>
1605<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1606<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_single_thread_scheduler.xhtml">SingleThreadScheduler</a></td></tr>
1607<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_single_thread_scheduler.xhtml#details">More...</a><br/></td></tr>
1608<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1609<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_sub_tensor.xhtml">SubTensor</a></td></tr>
1610<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the sub-tensor interface. <a href="classarm__compute_1_1_sub_tensor.xhtml#details">More...</a><br/></td></tr>
1611<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1612<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td></tr>
1613<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the tensor interface. <a href="classarm__compute_1_1_tensor.xhtml#details">More...</a><br/></td></tr>
1614<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1615<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml">TensorAllocator</a></td></tr>
1616<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a CPU memory tensor allocator. <a href="classarm__compute_1_1_tensor_allocator.xhtml#details">More...</a><br/></td></tr>
1617<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1618<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_min_max_location_values.xhtml">MinMaxLocationValues</a></td></tr>
1619<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1620<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_semaphore.xhtml">Semaphore</a></td></tr>
1621<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semamphore class. <a href="classarm__compute_1_1_semaphore.xhtml#details">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001622<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1623</table><table class="memberdecls">
1624<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
1625Typedefs</h2></td></tr>
1626<tr class="memitem:adb969f0e554bf563f2fa671399d59280"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adb969f0e554bf563f2fa671399d59280">ICLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &gt;</td></tr>
1627<tr class="separator:adb969f0e554bf563f2fa671399d59280"><td class="memSeparator" colspan="2">&#160;</td></tr>
1628<tr class="memitem:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf4063963bf3a4b07a5d0cc840da9ee2">ICLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> &gt;</td></tr>
1629<tr class="separator:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
1630<tr class="memitem:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4cc908807b0a45ccc6ce7ba340ae2259">ICLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &gt;</td></tr>
1631<tr class="separator:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001632<tr class="memitem:a64e11fcdd0f4a3f7d832495b7053fbe9"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a64e11fcdd0f4a3f7d832495b7053fbe9">ICLROIArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> &gt;</td></tr>
1633<tr class="separator:a64e11fcdd0f4a3f7d832495b7053fbe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001634<tr class="memitem:a68396eee600b3d23bf7f95a802e65dff"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a68396eee600b3d23bf7f95a802e65dff">ICLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &gt;</td></tr>
1635<tr class="separator:a68396eee600b3d23bf7f95a802e65dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
1636<tr class="memitem:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a72251c7a73b3c057ffca9f32ee3e19ea">ICLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_uchar &gt;</td></tr>
1637<tr class="separator:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
1638<tr class="memitem:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aed5c7222c31a34327f00de37d8c4f4fc">ICLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_ushort &gt;</td></tr>
1639<tr class="separator:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
1640<tr class="memitem:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6b5f839e8d27c6351e8d58812dd46c97">ICLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_uint &gt;</td></tr>
1641<tr class="separator:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
1642<tr class="memitem:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a67328fa21e30aecd0c27d6d2e63a2b9c">ICLInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_short &gt;</td></tr>
1643<tr class="separator:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1644<tr class="memitem:ab95380ecf1c0253f6c785c0f59194066"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab95380ecf1c0253f6c785c0f59194066">ICLInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_int &gt;</td></tr>
1645<tr class="separator:ab95380ecf1c0253f6c785c0f59194066"><td class="memSeparator" colspan="2">&#160;</td></tr>
1646<tr class="memitem:a631bac7c033a0d341c631870f9755217"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a631bac7c033a0d341c631870f9755217">ICLFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_float &gt;</td></tr>
1647<tr class="separator:a631bac7c033a0d341c631870f9755217"><td class="memSeparator" colspan="2">&#160;</td></tr>
1648<tr class="memitem:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a> = <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a></td></tr>
1649<tr class="separator:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
1650<tr class="memitem:a4751499f1c526c7285e7e946c2e84541"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4751499f1c526c7285e7e946c2e84541">CLConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt; 3 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001651<tr class="memdesc:a4751499f1c526c7285e7e946c2e84541"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 3x3 convolution to a tensor. <a href="#a4751499f1c526c7285e7e946c2e84541">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001652<tr class="separator:a4751499f1c526c7285e7e946c2e84541"><td class="memSeparator" colspan="2">&#160;</td></tr>
1653<tr class="memitem:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac4cfbdf439d7bf5d420546298bd5ca0d">CLConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt; 5 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001654<tr class="memdesc:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 5x5 convolution to a tensor. <a href="#ac4cfbdf439d7bf5d420546298bd5ca0d">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001655<tr class="separator:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1656<tr class="memitem:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99a54c937a254c96cd1a29a96ffa7dcf">CLConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt; 7 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001657<tr class="memdesc:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 7x7 convolution to a tensor. <a href="#a99a54c937a254c96cd1a29a96ffa7dcf">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001658<tr class="separator:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
1659<tr class="memitem:a908439cd5cf8253865d5c70a413fd607"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a908439cd5cf8253865d5c70a413fd607">CLConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt; 9 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001660<tr class="memdesc:a908439cd5cf8253865d5c70a413fd607"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 9x9 convolution to a tensor. <a href="#a908439cd5cf8253865d5c70a413fd607">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001661<tr class="separator:a908439cd5cf8253865d5c70a413fd607"><td class="memSeparator" colspan="2">&#160;</td></tr>
1662<tr class="memitem:ac72d613f7270604dbcad2553c278b16c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac72d613f7270604dbcad2553c278b16c">CLSeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt; 5 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001663<tr class="memdesc:ac72d613f7270604dbcad2553c278b16c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. <a href="#ac72d613f7270604dbcad2553c278b16c">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001664<tr class="separator:ac72d613f7270604dbcad2553c278b16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1665<tr class="memitem:aab26624bf4b326f8145b2909a5042004"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab26624bf4b326f8145b2909a5042004">CLSeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt; 7 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001666<tr class="memdesc:aab26624bf4b326f8145b2909a5042004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. <a href="#aab26624bf4b326f8145b2909a5042004">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001667<tr class="separator:aab26624bf4b326f8145b2909a5042004"><td class="memSeparator" colspan="2">&#160;</td></tr>
1668<tr class="memitem:a9f34ccad344bc43d25e8be2b828853aa"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f34ccad344bc43d25e8be2b828853aa">CLSeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt; 9 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001669<tr class="memdesc:a9f34ccad344bc43d25e8be2b828853aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. <a href="#a9f34ccad344bc43d25e8be2b828853aa">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001670<tr class="separator:a9f34ccad344bc43d25e8be2b828853aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
1671<tr class="memitem:ac7295b0d8d71be75033238ad7fbba38c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac7295b0d8d71be75033238ad7fbba38c">CLSeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt; 5 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001672<tr class="memdesc:ac7295b0d8d71be75033238ad7fbba38c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. <a href="#ac7295b0d8d71be75033238ad7fbba38c">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001673<tr class="separator:ac7295b0d8d71be75033238ad7fbba38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1674<tr class="memitem:a0ffdf01e236016ce8d366a69875d1375"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0ffdf01e236016ce8d366a69875d1375">CLSeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt; 7 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001675<tr class="memdesc:a0ffdf01e236016ce8d366a69875d1375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. <a href="#a0ffdf01e236016ce8d366a69875d1375">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001676<tr class="separator:a0ffdf01e236016ce8d366a69875d1375"><td class="memSeparator" colspan="2">&#160;</td></tr>
1677<tr class="memitem:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6d08e1e881bf611c1e1b9e2bb8810d19">CLSeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt; 9 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001678<tr class="memdesc:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. <a href="#a6d08e1e881bf611c1e1b9e2bb8810d19">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001679<tr class="separator:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
1680<tr class="memitem:a569a32a7a853d4708fd4f4840c88a157"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a569a32a7a853d4708fd4f4840c88a157">ICLLKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a> &gt;</td></tr>
1681<tr class="separator:a569a32a7a853d4708fd4f4840c88a157"><td class="memSeparator" colspan="2">&#160;</td></tr>
1682<tr class="memitem:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a05d88c40a53babe38cb2cb5841c4a0ad">ICLCoefficientTableArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a> &gt;</td></tr>
1683<tr class="separator:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
1684<tr class="memitem:a0339a19c93dde6754834a7d4ec7dab73"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0339a19c93dde6754834a7d4ec7dab73">ICLOldValArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a> &gt;</td></tr>
1685<tr class="separator:a0339a19c93dde6754834a7d4ec7dab73"><td class="memSeparator" colspan="2">&#160;</td></tr>
1686<tr class="memitem:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> = <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
1687<tr class="separator:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001688<tr class="memitem:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> = int8_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001689<tr class="memdesc:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar value <a href="#a4c3f681c30c9398c45bc3cd5dc4f038a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001690<tr class="separator:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1691<tr class="memitem:a1521eea74b97de8f2df9304e44179400"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> = int16_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001692<tr class="memdesc:a1521eea74b97de8f2df9304e44179400"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar value <a href="#a1521eea74b97de8f2df9304e44179400">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001693<tr class="separator:a1521eea74b97de8f2df9304e44179400"><td class="memSeparator" colspan="2">&#160;</td></tr>
1694<tr class="memitem:aa06c95f9976f3729316d689b4419089f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> = int32_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001695<tr class="memdesc:aa06c95f9976f3729316d689b4419089f"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point scalar value <a href="#aa06c95f9976f3729316d689b4419089f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001696<tr class="separator:aa06c95f9976f3729316d689b4419089f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001697<tr class="memitem:adc3be0bc3741b081217b2609abcf0333"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> = int64_t</td></tr>
1698<tr class="memdesc:adc3be0bc3741b081217b2609abcf0333"><td class="mdescLeft">&#160;</td><td class="mdescRight">64 bit fixed point scalar value <a href="#adc3be0bc3741b081217b2609abcf0333">More...</a><br/></td></tr>
1699<tr class="separator:adc3be0bc3741b081217b2609abcf0333"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001700<tr class="memitem:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab56a557a5fdf97819f23c35c24f0b0d2">IKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &gt;</td></tr>
1701<tr class="separator:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
1702<tr class="memitem:aac9efd49d3bbbd53779713e5fb37de62"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aac9efd49d3bbbd53779713e5fb37de62">ICoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> &gt;</td></tr>
1703<tr class="separator:aac9efd49d3bbbd53779713e5fb37de62"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001704<tr class="memitem:ae273be451a4d6de5fa255cb8fb09a64b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae273be451a4d6de5fa255cb8fb09a64b">IROIArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> &gt;</td></tr>
1705<tr class="separator:ae273be451a4d6de5fa255cb8fb09a64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001706<tr class="memitem:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a52b3b9de6092ae37321159c4c2f1bf40">IDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &gt;</td></tr>
1707<tr class="separator:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memSeparator" colspan="2">&#160;</td></tr>
1708<tr class="memitem:a32e4b9083329486a06960006af89a84c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a32e4b9083329486a06960006af89a84c">ISize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &gt;</td></tr>
1709<tr class="separator:a32e4b9083329486a06960006af89a84c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1710<tr class="memitem:a276401fd5651e75431d3e1cc90601caa"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a276401fd5651e75431d3e1cc90601caa">IUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; uint8_t &gt;</td></tr>
1711<tr class="separator:a276401fd5651e75431d3e1cc90601caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
1712<tr class="memitem:a1ffe8af91a934c926d102938db8d3ce1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ffe8af91a934c926d102938db8d3ce1">IUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; uint16_t &gt;</td></tr>
1713<tr class="separator:a1ffe8af91a934c926d102938db8d3ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
1714<tr class="memitem:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac9b2a6fa6e146437bfc8c0bee96e4760">IUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; uint32_t &gt;</td></tr>
1715<tr class="separator:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memSeparator" colspan="2">&#160;</td></tr>
1716<tr class="memitem:a1dd5e04cea002eae658fa2a899848ad7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1dd5e04cea002eae658fa2a899848ad7">IInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; int16_t &gt;</td></tr>
1717<tr class="separator:a1dd5e04cea002eae658fa2a899848ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1718<tr class="memitem:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51fdf34dfc5c60b6f4f455f0a9cac457">IInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; int32_t &gt;</td></tr>
1719<tr class="separator:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memSeparator" colspan="2">&#160;</td></tr>
1720<tr class="memitem:a8a82a1928159e86b0778c3c14e8842be"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a82a1928159e86b0778c3c14e8842be">IFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; float &gt;</td></tr>
1721<tr class="separator:a8a82a1928159e86b0778c3c14e8842be"><td class="memSeparator" colspan="2">&#160;</td></tr>
1722<tr class="memitem:a9f3ed96e009111cfbe53d3f77c712390"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f3ed96e009111cfbe53d3f77c712390">INEKernel</a> = <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
1723<tr class="separator:a9f3ed96e009111cfbe53d3f77c712390"><td class="memSeparator" colspan="2">&#160;</td></tr>
1724<tr class="memitem:a4aad0c49ce3d7cf4693830398f190250"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4aad0c49ce3d7cf4693830398f190250">INESimpleKernel</a> = <a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
1725<tr class="separator:a4aad0c49ce3d7cf4693830398f190250"><td class="memSeparator" colspan="2">&#160;</td></tr>
1726<tr class="memitem:acf81639b3d33b5da654ef088e4d10520"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf81639b3d33b5da654ef088e4d10520">NEConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt; 3 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001727<tr class="memdesc:acf81639b3d33b5da654ef088e4d10520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 3x3 convolution to a tensor. <a href="#acf81639b3d33b5da654ef088e4d10520">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001728<tr class="separator:acf81639b3d33b5da654ef088e4d10520"><td class="memSeparator" colspan="2">&#160;</td></tr>
1729<tr class="memitem:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21898b2d2e31ab9af8933c66ff82c8c6">NEConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt; 5 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001730<tr class="memdesc:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 5x5 convolution to a tensor. <a href="#a21898b2d2e31ab9af8933c66ff82c8c6">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001731<tr class="separator:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1732<tr class="memitem:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae46cbbe03d31c6c8e7eba7b58999842d">NEConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt; 7 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001733<tr class="memdesc:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 7x7 convolution to a tensor. <a href="#ae46cbbe03d31c6c8e7eba7b58999842d">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001734<tr class="separator:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1735<tr class="memitem:a1025306f820a9e76df7e5891caacff7b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1025306f820a9e76df7e5891caacff7b">NEConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt; 9 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001736<tr class="memdesc:a1025306f820a9e76df7e5891caacff7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 9x9 convolution to a tensor. <a href="#a1025306f820a9e76df7e5891caacff7b">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001737<tr class="separator:a1025306f820a9e76df7e5891caacff7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
1738<tr class="memitem:ac78a7593874c21cff86478c1ba6df27b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac78a7593874c21cff86478c1ba6df27b">NESeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt; 5 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001739<tr class="memdesc:ac78a7593874c21cff86478c1ba6df27b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. <a href="#ac78a7593874c21cff86478c1ba6df27b">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001740<tr class="separator:ac78a7593874c21cff86478c1ba6df27b"><td class="memSeparator" colspan="2">&#160;</td></tr>
1741<tr class="memitem:aca4adbcd292c26b0e392c59875c1e926"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca4adbcd292c26b0e392c59875c1e926">NESeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt; 7 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001742<tr class="memdesc:aca4adbcd292c26b0e392c59875c1e926"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. <a href="#aca4adbcd292c26b0e392c59875c1e926">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001743<tr class="separator:aca4adbcd292c26b0e392c59875c1e926"><td class="memSeparator" colspan="2">&#160;</td></tr>
1744<tr class="memitem:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ba5f6b7cd6b70b75e42149f3bc08f38">NESeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt; 9 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001745<tr class="memdesc:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. <a href="#a4ba5f6b7cd6b70b75e42149f3bc08f38">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001746<tr class="separator:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
1747<tr class="memitem:ae4152320657df499674ed64b16c28a7b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae4152320657df499674ed64b16c28a7b">NESeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt; 5 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001748<tr class="memdesc:ae4152320657df499674ed64b16c28a7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 1x5 vertical convolution to a tensor. <a href="#ae4152320657df499674ed64b16c28a7b">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001749<tr class="separator:ae4152320657df499674ed64b16c28a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
1750<tr class="memitem:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0f952bd0821b506e18514a3f4dbc6c39">NESeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt; 7 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001751<tr class="memdesc:a0f952bd0821b506e18514a3f4dbc6c39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 1x7 vertical convolution to a tensor. <a href="#a0f952bd0821b506e18514a3f4dbc6c39">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001752<tr class="separator:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
1753<tr class="memitem:a6310d21f215fface41df4cde725a62b9"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6310d21f215fface41df4cde725a62b9">NESeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt; 9 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001754<tr class="memdesc:a6310d21f215fface41df4cde725a62b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 1x9 vertical convolution to a tensor. <a href="#a6310d21f215fface41df4cde725a62b9">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001755<tr class="separator:a6310d21f215fface41df4cde725a62b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
1756<tr class="memitem:a19699533eb1b662e46a10715f6086487"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19699533eb1b662e46a10715f6086487">INELKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> &gt;</td></tr>
1757<tr class="separator:a19699533eb1b662e46a10715f6086487"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001758<tr class="memitem:a16a1bee14f1db073f75caa76dacf5078"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> = int8x8_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001759<tr class="memdesc:a16a1bee14f1db073f75caa76dacf5078"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 8 elements <a href="#a16a1bee14f1db073f75caa76dacf5078">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001760<tr class="separator:a16a1bee14f1db073f75caa76dacf5078"><td class="memSeparator" colspan="2">&#160;</td></tr>
1761<tr class="memitem:ace2375b626995858a398e1ffb3108f14"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ace2375b626995858a398e1ffb3108f14">qint8x8x2_t</a> = int8x8x2_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001762<tr class="memdesc:ace2375b626995858a398e1ffb3108f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 16 elements <a href="#ace2375b626995858a398e1ffb3108f14">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001763<tr class="separator:ace2375b626995858a398e1ffb3108f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
1764<tr class="memitem:a252c74fae9a9238ef7c23d306e670706"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a252c74fae9a9238ef7c23d306e670706">qint8x8x3_t</a> = int8x8x3_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001765<tr class="memdesc:a252c74fae9a9238ef7c23d306e670706"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 24 elements <a href="#a252c74fae9a9238ef7c23d306e670706">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001766<tr class="separator:a252c74fae9a9238ef7c23d306e670706"><td class="memSeparator" colspan="2">&#160;</td></tr>
1767<tr class="memitem:a01ae65c0a0736d4293e657a66bde1538"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01ae65c0a0736d4293e657a66bde1538">qint8x8x4_t</a> = int8x8x4_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001768<tr class="memdesc:a01ae65c0a0736d4293e657a66bde1538"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 32 elements <a href="#a01ae65c0a0736d4293e657a66bde1538">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001769<tr class="separator:a01ae65c0a0736d4293e657a66bde1538"><td class="memSeparator" colspan="2">&#160;</td></tr>
1770<tr class="memitem:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> = int8x16_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001771<tr class="memdesc:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 16 elements <a href="#a5b99ed49abd6b7bf13dafdd17bcef855">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001772<tr class="separator:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="memSeparator" colspan="2">&#160;</td></tr>
1773<tr class="memitem:a09108711e0c18d4e9811ea4597d573b1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a09108711e0c18d4e9811ea4597d573b1">qint8x16x2_t</a> = int8x16x2_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001774<tr class="memdesc:a09108711e0c18d4e9811ea4597d573b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 32 elements <a href="#a09108711e0c18d4e9811ea4597d573b1">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001775<tr class="separator:a09108711e0c18d4e9811ea4597d573b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
1776<tr class="memitem:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e175277ee7de6a5aeb5cd8916dbb346">qint8x16x3_t</a> = int8x16x3_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001777<tr class="memdesc:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 48 elements <a href="#a7e175277ee7de6a5aeb5cd8916dbb346">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001778<tr class="separator:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="memSeparator" colspan="2">&#160;</td></tr>
1779<tr class="memitem:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c4b33603ffff71e9f02c4be1a2f14d5">qint8x16x4_t</a> = int8x16x4_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001780<tr class="memdesc:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector with 64 elements <a href="#a3c4b33603ffff71e9f02c4be1a2f14d5">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001781<tr class="separator:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1782<tr class="memitem:a82c56f0856f56d430393e6a00baee983"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> = int16x4_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001783<tr class="memdesc:a82c56f0856f56d430393e6a00baee983"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 4 elements <a href="#a82c56f0856f56d430393e6a00baee983">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001784<tr class="separator:a82c56f0856f56d430393e6a00baee983"><td class="memSeparator" colspan="2">&#160;</td></tr>
1785<tr class="memitem:a8d57e0f4f122442011213667168ef538"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8d57e0f4f122442011213667168ef538">qint16x4x2_t</a> = int16x4x2_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001786<tr class="memdesc:a8d57e0f4f122442011213667168ef538"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 8 elements <a href="#a8d57e0f4f122442011213667168ef538">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001787<tr class="separator:a8d57e0f4f122442011213667168ef538"><td class="memSeparator" colspan="2">&#160;</td></tr>
1788<tr class="memitem:a63f034ee885f20111e7f5d44e48e6d93"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a63f034ee885f20111e7f5d44e48e6d93">qint16x4x3_t</a> = int16x4x3_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001789<tr class="memdesc:a63f034ee885f20111e7f5d44e48e6d93"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 12 elements <a href="#a63f034ee885f20111e7f5d44e48e6d93">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001790<tr class="separator:a63f034ee885f20111e7f5d44e48e6d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
1791<tr class="memitem:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8525b18a2f34c3497bbfbd0e7c3a7875">qint16x4x4_t</a> = int16x4x4_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001792<tr class="memdesc:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 16 elements <a href="#a8525b18a2f34c3497bbfbd0e7c3a7875">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001793<tr class="separator:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="memSeparator" colspan="2">&#160;</td></tr>
1794<tr class="memitem:a4e15143176bfacdde8b06f4bb0b67427"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> = int16x8_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001795<tr class="memdesc:a4e15143176bfacdde8b06f4bb0b67427"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 8 elements <a href="#a4e15143176bfacdde8b06f4bb0b67427">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001796<tr class="separator:a4e15143176bfacdde8b06f4bb0b67427"><td class="memSeparator" colspan="2">&#160;</td></tr>
1797<tr class="memitem:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> = int16x8x2_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001798<tr class="memdesc:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 16 elements <a href="#a3c4099e91913f28017e1f57b8e5cbf9f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001799<tr class="separator:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
1800<tr class="memitem:a65e109cf43ade8a2a3c57a1120b90b05"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65e109cf43ade8a2a3c57a1120b90b05">qint16x8x3_t</a> = int16x8x3_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001801<tr class="memdesc:a65e109cf43ade8a2a3c57a1120b90b05"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 24 elements <a href="#a65e109cf43ade8a2a3c57a1120b90b05">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001802<tr class="separator:a65e109cf43ade8a2a3c57a1120b90b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
1803<tr class="memitem:a6bc1e8d62f1055278d8f05454faa422f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6bc1e8d62f1055278d8f05454faa422f">qint16x8x4_t</a> = int16x8x4_t</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001804<tr class="memdesc:a6bc1e8d62f1055278d8f05454faa422f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector with 32 elements <a href="#a6bc1e8d62f1055278d8f05454faa422f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001805<tr class="separator:a6bc1e8d62f1055278d8f05454faa422f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001806<tr class="memitem:addcffa8e8086154c0449c23e6b0dff83"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> = int32x2_t</td></tr>
1807<tr class="memdesc:addcffa8e8086154c0449c23e6b0dff83"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector with 2 elements <a href="#addcffa8e8086154c0449c23e6b0dff83">More...</a><br/></td></tr>
1808<tr class="separator:addcffa8e8086154c0449c23e6b0dff83"><td class="memSeparator" colspan="2">&#160;</td></tr>
1809<tr class="memitem:abd854c117af4dbd12633db2fbc01dd49"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> = int32x4_t</td></tr>
1810<tr class="memdesc:abd854c117af4dbd12633db2fbc01dd49"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector with 4 elements <a href="#abd854c117af4dbd12633db2fbc01dd49">More...</a><br/></td></tr>
1811<tr class="separator:abd854c117af4dbd12633db2fbc01dd49"><td class="memSeparator" colspan="2">&#160;</td></tr>
1812<tr class="memitem:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6ed7f8448a2a08a531e8202334e4dcdd">qint32x4x2_t</a> = int32x4x2_t</td></tr>
1813<tr class="memdesc:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector with 8 elements <a href="#a6ed7f8448a2a08a531e8202334e4dcdd">More...</a><br/></td></tr>
1814<tr class="separator:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
1815<tr class="memitem:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> = half_float::half</td></tr>
1816<tr class="memdesc:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">16-bit floating point type <a href="#a73e2825fd61d349c5ca2f5313e3c8ea1">More...</a><br/></td></tr>
1817<tr class="separator:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001818<tr class="memitem:a4467b302fc9ec312c40580336ab783da"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> = <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td></tr>
1819<tr class="separator:a4467b302fc9ec312c40580336ab783da"><td class="memSeparator" colspan="2">&#160;</td></tr>
1820<tr class="memitem:a2ab89a5d0959531aac270879cdd3ed78"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple&lt; float, float, float &gt;</td></tr>
1821<tr class="separator:a2ab89a5d0959531aac270879cdd3ed78"><td class="memSeparator" colspan="2">&#160;</td></tr>
1822<tr class="memitem:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8856eca9a83e16bb0cb5880e9c6c9fe7">KeyPointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &gt;</td></tr>
1823<tr class="separator:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1824<tr class="memitem:a327abccf7b43aa32d6a24319b986f3ab"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a327abccf7b43aa32d6a24319b986f3ab">Coordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> &gt;</td></tr>
1825<tr class="separator:a327abccf7b43aa32d6a24319b986f3ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
1826<tr class="memitem:a5fe01ab895629edd84a511b56657d79e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5fe01ab895629edd84a511b56657d79e">DetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &gt;</td></tr>
1827<tr class="separator:a5fe01ab895629edd84a511b56657d79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
1828<tr class="memitem:abd445adaaca7913c9344c90dc8c76358"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd445adaaca7913c9344c90dc8c76358">Size2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &gt;</td></tr>
1829<tr class="separator:abd445adaaca7913c9344c90dc8c76358"><td class="memSeparator" colspan="2">&#160;</td></tr>
1830<tr class="memitem:a9dbb5e00a3f397691eb782f03f65375c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9dbb5e00a3f397691eb782f03f65375c">UInt8Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; uint8_t &gt;</td></tr>
1831<tr class="separator:a9dbb5e00a3f397691eb782f03f65375c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1832<tr class="memitem:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab91cb2269b2e58ed2cb6bd2ca831d434">UInt16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; uint16_t &gt;</td></tr>
1833<tr class="separator:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memSeparator" colspan="2">&#160;</td></tr>
1834<tr class="memitem:acd6eb2619ccd5eee4963de3195785359"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acd6eb2619ccd5eee4963de3195785359">UInt32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; uint32_t &gt;</td></tr>
1835<tr class="separator:acd6eb2619ccd5eee4963de3195785359"><td class="memSeparator" colspan="2">&#160;</td></tr>
1836<tr class="memitem:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a69c19b38cbee8fa6680513f6ff76bbb3">Int16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; int16_t &gt;</td></tr>
1837<tr class="separator:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
1838<tr class="memitem:a6af9862834629c287a81b16837b51e44"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6af9862834629c287a81b16837b51e44">Int32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; int32_t &gt;</td></tr>
1839<tr class="separator:a6af9862834629c287a81b16837b51e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
1840<tr class="memitem:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6e06029aa1b68c0cdeb80656cc9353fe">FloatArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; float &gt;</td></tr>
1841<tr class="separator:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
1842<tr class="memitem:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55e1c5ed17b7ee3762198a38eb50650a">CLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &gt;</td></tr>
1843<tr class="separator:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1844<tr class="memitem:a0fd5f0310a26faad00b905bac3792726"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0fd5f0310a26faad00b905bac3792726">CLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> &gt;</td></tr>
1845<tr class="separator:a0fd5f0310a26faad00b905bac3792726"><td class="memSeparator" colspan="2">&#160;</td></tr>
1846<tr class="memitem:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab8d2c7efb7643ce8f9e5446dbe1da0b4">CLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &gt;</td></tr>
1847<tr class="separator:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001848<tr class="memitem:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7d756aef16b9c22456bb7aca8fbb4f4c">CLROIArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> &gt;</td></tr>
1849<tr class="separator:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001850<tr class="memitem:a3f9ab729931f4e4fa36ff1683186d988"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3f9ab729931f4e4fa36ff1683186d988">CLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &gt;</td></tr>
1851<tr class="separator:a3f9ab729931f4e4fa36ff1683186d988"><td class="memSeparator" colspan="2">&#160;</td></tr>
1852<tr class="memitem:aa031694bb03711e09e25546ad2b643cc"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa031694bb03711e09e25546ad2b643cc">CLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_uchar &gt;</td></tr>
1853<tr class="separator:aa031694bb03711e09e25546ad2b643cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
1854<tr class="memitem:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b4c4a79c73a3f85ba89aff03fddefa7">CLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_ushort &gt;</td></tr>
1855<tr class="separator:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1856<tr class="memitem:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1d7d89b7e990055dc95ed37dfb24da48">CLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_uint &gt;</td></tr>
1857<tr class="separator:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memSeparator" colspan="2">&#160;</td></tr>
1858<tr class="memitem:a5fb8cb339705102066c915d18f0701ac"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5fb8cb339705102066c915d18f0701ac">CLInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_short &gt;</td></tr>
1859<tr class="separator:a5fb8cb339705102066c915d18f0701ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
1860<tr class="memitem:a8a401a071524761c661a75969c951cf5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a401a071524761c661a75969c951cf5">CLInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_int &gt;</td></tr>
1861<tr class="separator:a8a401a071524761c661a75969c951cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1862<tr class="memitem:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a193a4859b365f3ef4e0d73a1e6b12c85">CLFloatArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_float &gt;</td></tr>
1863<tr class="separator:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001864<tr class="memitem:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac87d48489667d7ff7fc4cc7d0d12c52e">CLMemoryGroup</a> = <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a> &gt;</td></tr>
1865<tr class="separator:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001866<tr class="memitem:aae712f442eae2d56d17529ca6cb9cb77"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aae712f442eae2d56d17529ca6cb9cb77">CLImage</a> = <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
1867<tr class="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2">&#160;</td></tr>
1868<tr class="memitem:a843447b81f09d837e90d44e6e6bd236d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a843447b81f09d837e90d44e6e6bd236d">CLConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt; 5 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001869<tr class="memdesc:a843447b81f09d837e90d44e6e6bd236d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#a843447b81f09d837e90d44e6e6bd236d">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001870<tr class="separator:a843447b81f09d837e90d44e6e6bd236d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1871<tr class="memitem:a1992a8362b7074e709394a5219d16e62"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1992a8362b7074e709394a5219d16e62">CLConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt; 7 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001872<tr class="memdesc:a1992a8362b7074e709394a5219d16e62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#a1992a8362b7074e709394a5219d16e62">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001873<tr class="separator:a1992a8362b7074e709394a5219d16e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
1874<tr class="memitem:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a587dee5d7f05d5e9c3b8704ae8927101">CLConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt; 9 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001875<tr class="memdesc:a587dee5d7f05d5e9c3b8704ae8927101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#a587dee5d7f05d5e9c3b8704ae8927101">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001876<tr class="separator:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memSeparator" colspan="2">&#160;</td></tr>
1877<tr class="memitem:af87af588094f04e537df98eaf0426cb6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af87af588094f04e537df98eaf0426cb6">ICLTensor</a> = <a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a></td></tr>
1878<tr class="separator:af87af588094f04e537df98eaf0426cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1879<tr class="memitem:a70997613219641045213b0c12948fb74"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70997613219641045213b0c12948fb74">CLLKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a> &gt;</td></tr>
1880<tr class="separator:a70997613219641045213b0c12948fb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
1881<tr class="memitem:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afcef84cf3b7d147b2b6ab0bd884afc16">CLCoefficientTableArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a> &gt;</td></tr>
1882<tr class="separator:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
1883<tr class="memitem:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memItemLeft" align="right" valign="top">using&#160;</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>&lt; <a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a> &gt;</td></tr>
1884<tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001885<tr class="memitem:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> = <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &gt;</td></tr>
1886<tr class="separator:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001887<tr class="memitem:adbc7771d367ba8f51da1450d3602e5c0"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adbc7771d367ba8f51da1450d3602e5c0">NEConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>&lt; 5 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001888<tr class="memdesc:adbc7771d367ba8f51da1450d3602e5c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#adbc7771d367ba8f51da1450d3602e5c0">More...</a><br/></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001889<tr class="separator:adbc7771d367ba8f51da1450d3602e5c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
1890<tr class="memitem:aeb2682fbeb2766df26b4be1971c9757d"><td class="memItemLeft" align="right" valign="top">using&#160;</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>&lt; 7 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001891<tr class="memdesc:aeb2682fbeb2766df26b4be1971c9757d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#aeb2682fbeb2766df26b4be1971c9757d">More...</a><br/></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001892<tr class="separator:aeb2682fbeb2766df26b4be1971c9757d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1893<tr class="memitem:ae5a088552f26a1afafd0cbf821d256fb"><td class="memItemLeft" align="right" valign="top">using&#160;</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>&lt; 9 &gt;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001894<tr class="memdesc:ae5a088552f26a1afafd0cbf821d256fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#ae5a088552f26a1afafd0cbf821d256fb">More...</a><br/></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001895<tr class="separator:ae5a088552f26a1afafd0cbf821d256fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001896<tr class="memitem:a681c120e2188371794ec3a59768c64ab"><td class="memItemLeft" align="right" valign="top">using&#160;</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>&lt; <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> &gt;</td></tr>
1897<tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001898<tr class="memitem:a0604c803e41880a4a16408efc4e6a69b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0604c803e41880a4a16408efc4e6a69b">NEScheduler</a> = <a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td></tr>
1899<tr class="separator:a0604c803e41880a4a16408efc4e6a69b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001900<tr class="memitem:a7fb6a368d181ef193475f725c713430a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7fb6a368d181ef193475f725c713430a">Image</a> = <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td></tr>
1901<tr class="separator:a7fb6a368d181ef193475f725c713430a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001902<tr class="memitem:a762c7da7319adcc433b3ac7a67e18ed5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> = std::map&lt; void **, size_t &gt;</td></tr>
1903<tr class="memdesc:a762c7da7319adcc433b3ac7a67e18ed5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A map of (handle, index/offset), where handle is the memory handle of the object to provide the memory for and index/offset is the buffer/offset from the pool that should be used. <a href="#a762c7da7319adcc433b3ac7a67e18ed5">More...</a><br/></td></tr>
1904<tr class="separator:a762c7da7319adcc433b3ac7a67e18ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1905<tr class="memitem:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad2398d0f2ce77c10bbebf1f85317dde5">GroupMappings</a> = std::map&lt; size_t, <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> &gt;</td></tr>
1906<tr class="memdesc:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A map of the groups and memory mappings. <a href="#ad2398d0f2ce77c10bbebf1f85317dde5">More...</a><br/></td></tr>
1907<tr class="separator:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1908<tr class="memitem:acded863dbfdd730829d4188d67eefcf0"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> = std::mutex</td></tr>
1909<tr class="separator:acded863dbfdd730829d4188d67eefcf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001910</table><table class="memberdecls">
1911<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
1912Enumerations</h2></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001913<tr class="memitem:a735ac6c2a02e320969625308810444f3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> { <br/>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001914&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,
1915<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,
1916<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,
1917<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,
Kaizen8938bd32017-09-28 14:38:23 +01001918<br/>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001919&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,
1920<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,
1921<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298">G70</a> = 0x210
Kaizen8938bd32017-09-28 14:38:23 +01001922<br/>
1923 }</td></tr>
1924<tr class="memdesc:a735ac6c2a02e320969625308810444f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available GPU Targets. <a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001925<tr class="separator:a735ac6c2a02e320969625308810444f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001926<tr class="memitem:a3a440b3893fa10608d4428958be1c52e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> { <br/>
1927&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>,
1928<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>,
1929<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>,
1930<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>,
1931<br/>
1932&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>
1933<br/>
1934 }</td></tr>
1935<tr class="separator:a3a440b3893fa10608d4428958be1c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
1936<tr class="memitem:a5bc939238e1f14a4c39aaee8186a853d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">CPUTarget</a> { <br/>
1937&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2">ARCH_MASK</a> = 0x0F00,
1938<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5">CPU_MODEL</a> = 0x00FF,
1939<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22">INTRINSICS</a> = 0x0100,
1940<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">ARMV7</a> = 0x0200,
1941<br/>
1942&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> = 0x0300,
1943<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d">ARMV8_2</a> = 0x0400,
1944<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> = 0x0070,
1945<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced">A5x</a> = 0x0050,
1946<br/>
1947&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a> = 0x1000,
1948<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d">A53</a> = (ARMV8 | A7x | 0x3),
1949<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">A55</a> = (ARMV8_2 | A5x | 0x5),
1950<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893">A55_DOT</a> = (A55 | DOT),
1951<br/>
1952&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da05f60b9c3ca8212c8ebeb166d58bc937">A72</a> = (ARMV8 | A7x | 0x2),
1953<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373">A73</a> = (ARMV8 | A7x | 0x3),
1954<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">A75</a> = (ARMV8_2 | A7x | 0x5),
1955<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15">A75_DOT</a> = (A75 | DOT)
1956<br/>
1957 }</td></tr>
1958<tr class="memdesc:a5bc939238e1f14a4c39aaee8186a853d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available CPU Targets. <a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">More...</a><br/></td></tr>
1959<tr class="separator:a5bc939238e1f14a4c39aaee8186a853d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01001960<tr class="memitem:afb2e0528558bbb0131d2cb41a66c13d7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7">LoggerVerbosity</a> { <a class="el" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693">NONE</a>,
1961<a class="el" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3">INFO</a>
1962 }</td></tr>
1963<tr class="memdesc:afb2e0528558bbb0131d2cb41a66c13d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Verbosity of the logger <a href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7">More...</a><br/></td></tr>
1964<tr class="separator:afb2e0528558bbb0131d2cb41a66c13d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001965<tr class="memitem:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> { <br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001966&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1967<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
1968<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,
1969<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001970<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001971&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
1972<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
1973<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
1974<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001975<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001976&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>,
1977<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>,
1978<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>,
1979<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001980<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001981&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>,
1982<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>,
1983<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>,
1984<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001985<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001986&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>
Kaizen8938bd32017-09-28 14:38:23 +01001987<br/>
1988 }</td></tr>
1989<tr class="memdesc:ab4e88c89b3b7ea1735996cc4def22d58"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. <a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001990<tr class="separator:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001991<tr class="memitem:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> { <br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00001992&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1993<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
1994<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01001995<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>,
Kaizen8938bd32017-09-28 14:38:23 +01001996<br/>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001997&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
1998<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
1999<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002000<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002001<br/>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002002&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002003<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002004<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002005<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002006<br/>
2007&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
2008<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002009<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
2010<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
Kaizen8938bd32017-09-28 14:38:23 +01002011<br/>
2012 }</td></tr>
2013<tr class="memdesc:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available data types. <a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002014<tr class="separator:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2015<tr class="memitem:a15a05537a472ee742404821851529327"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> { <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>,
2016<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,
2017<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>
Kaizen8938bd32017-09-28 14:38:23 +01002018 }</td></tr>
2019<tr class="memdesc:a15a05537a472ee742404821851529327"><td class="mdescLeft">&#160;</td><td class="mdescRight">Methods available to handle borders. <a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002020<tr class="separator:a15a05537a472ee742404821851529327"><td class="memSeparator" colspan="2">&#160;</td></tr>
2021<tr class="memitem:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>,
2022<a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>
Kaizen8938bd32017-09-28 14:38:23 +01002023 }</td></tr>
2024<tr class="memdesc:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Policy to handle overflow. <a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002025<tr class="separator:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2026<tr class="memitem:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>,
2027<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,
2028<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>
Kaizen8938bd32017-09-28 14:38:23 +01002029 }</td></tr>
2030<tr class="memdesc:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolation method. <a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002031<tr class="separator:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2032<tr class="memitem:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a> { <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,
2033<a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>
Kaizen8938bd32017-09-28 14:38:23 +01002034 }</td></tr>
2035<tr class="memdesc:a2d8a00f1d80a53ce8f75fa929c873202"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bilinear Interpolation method used by LKTracker. <a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002036<tr class="separator:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memSeparator" colspan="2">&#160;</td></tr>
2037<tr class="memitem:a3e6b23e675649b83240691abbc42a649"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a> { <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>,
2038<a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>
Kaizen8938bd32017-09-28 14:38:23 +01002039 }</td></tr>
2040<tr class="memdesc:a3e6b23e675649b83240691abbc42a649"><td class="mdescLeft">&#160;</td><td class="mdescRight">Threshold mode. <a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002041<tr class="separator:a3e6b23e675649b83240691abbc42a649"><td class="memSeparator" colspan="2">&#160;</td></tr>
2042<tr class="memitem:add6426cbf2e057a195846d4ba09a50be"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002043<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002044<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>
Kaizen8938bd32017-09-28 14:38:23 +01002045 }</td></tr>
2046<tr class="memdesc:add6426cbf2e057a195846d4ba09a50be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rounding method. <a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002047<tr class="separator:add6426cbf2e057a195846d4ba09a50be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2048<tr class="memitem:a08c1503414e23f5dd10ff83492685453"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> { <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,
2049<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,
2050<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>
Kaizen8938bd32017-09-28 14:38:23 +01002051 }</td></tr>
2052<tr class="memdesc:a08c1503414e23f5dd10ff83492685453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Termination criteria. <a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002053<tr class="separator:a08c1503414e23f5dd10ff83492685453"><td class="memSeparator" colspan="2">&#160;</td></tr>
2054<tr class="memitem:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a> { <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>,
2055<a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>
Kaizen8938bd32017-09-28 14:38:23 +01002056 }</td></tr>
2057<tr class="memdesc:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Magnitude calculation type. <a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002058<tr class="separator:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2059<tr class="memitem:af00a42ecad444bbda75cde1b64bd7e72"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a> { <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>,
2060<a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>
Kaizen8938bd32017-09-28 14:38:23 +01002061 }</td></tr>
2062<tr class="memdesc:af00a42ecad444bbda75cde1b64bd7e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Phase calculation type. <a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002063<tr class="separator:af00a42ecad444bbda75cde1b64bd7e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002064<tr class="memitem:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> { <br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00002065&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2066<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,
2067<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,
2068<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002069<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00002070&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,
2071<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,
2072<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,
2073<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002074<br/>
Anthony Barbier871448e2017-03-24 14:54:29 +00002075&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,
2076<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,
2077<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,
2078<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>
Kaizen8938bd32017-09-28 14:38:23 +01002079<br/>
2080 }</td></tr>
2081<tr class="memdesc:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available channels. <a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002082<tr class="separator:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2083<tr class="memitem:afdda916edc7502967bbec17ea3c06c02"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> { <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>,
2084<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>,
2085<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,
2086<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>
Kaizen8938bd32017-09-28 14:38:23 +01002087 }</td></tr>
2088<tr class="memdesc:afdda916edc7502967bbec17ea3c06c02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available matrix patterns. <a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002089<tr class="separator:afdda916edc7502967bbec17ea3c06c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
2090<tr class="memitem:adf2ced65e536375a1c96425d9fced858"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned { <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0,
2091<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1,
2092<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2
Kaizen8938bd32017-09-28 14:38:23 +01002093 }</td></tr>
2094<tr class="memdesc:adf2ced65e536375a1c96425d9fced858"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available non linear functions. <a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002095<tr class="separator:adf2ced65e536375a1c96425d9fced858"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002096<tr class="memitem:a5827eb9cb394e74af87f74bd354fb45b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> { <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>,
2097<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>
2098 }</td></tr>
2099<tr class="memdesc:a5827eb9cb394e74af87f74bd354fb45b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available reduction operations. <a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">More...</a><br/></td></tr>
2100<tr class="separator:a5827eb9cb394e74af87f74bd354fb45b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002101<tr class="memitem:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> { <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>,
2102<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002103<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>
Kaizen8938bd32017-09-28 14:38:23 +01002104 }</td></tr>
2105<tr class="memdesc:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The normalization type used for the normalization layer. <a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002106<tr class="separator:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002107<tr class="memitem:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> { <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1,
2108<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2,
2109<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3
Kaizen8938bd32017-09-28 14:38:23 +01002110 }</td></tr>
2111<tr class="memdesc:a673665b4587a2956fcbad5f0e9ba89d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalization type for Histogram of Oriented Gradients (HOG) <a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002112<tr class="separator:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2113<tr class="memitem:a1fece1bd804e64f39f602d1c3969849a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a> { <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>,
2114<a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>
Kaizen8938bd32017-09-28 14:38:23 +01002115 }</td></tr>
2116<tr class="memdesc:a1fece1bd804e64f39f602d1c3969849a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dimension rounding type when down-scaling on CNNs. <a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002117<tr class="separator:a1fece1bd804e64f39f602d1c3969849a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2118<tr class="memitem:a9172da722f0a434e5cc07c0a3c115d93"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> { <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5">MAX</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002119<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>,
2120<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>
2121 }</td></tr>
2122<tr class="memdesc:a9172da722f0a434e5cc07c0a3c115d93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available pooling types. <a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002123<tr class="separator:a9172da722f0a434e5cc07c0a3c115d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002124<tr class="memitem:af0a4d6be70322c742c12da1edccbb74d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">MappingType</a> { <a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>,
2125<a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a>
2126 }</td></tr>
2127<tr class="memdesc:af0a4d6be70322c742c12da1edccbb74d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mapping type. <a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">More...</a><br/></td></tr>
2128<tr class="separator:af0a4d6be70322c742c12da1edccbb74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01002129<tr class="memitem:afa20b6a7f4383003babd690f026f22dc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> { <br/>
2130&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d">ADD</a>,
2131<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb">SUB</a>,
2132<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>,
2133<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>,
2134<br/>
2135&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002136<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>,
2137<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>
Kaizenbf8b01d2017-10-12 14:26:51 +01002138<br/>
Kaizen8938bd32017-09-28 14:38:23 +01002139 }</td></tr>
2140<tr class="memdesc:afa20b6a7f4383003babd690f026f22dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fixed point operation. <a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002141<tr class="separator:afa20b6a7f4383003babd690f026f22dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002142</table><table class="memberdecls">
2143<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
2144Functions</h2></td></tr>
2145<tr class="memitem:ab04905b0c6c0e4091160561eae870101"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab04905b0c6c0e4091160561eae870101">get_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002146<tr class="memdesc:ab04905b0c6c0e4091160561eae870101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="#ab04905b0c6c0e4091160561eae870101">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002147<tr class="separator:ab04905b0c6c0e4091160561eae870101"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002148<tr class="memitem:ae5f4dd9f672832f7dce02fc14487f544"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae5f4dd9f672832f7dce02fc14487f544">get_data_size_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
2149<tr class="memdesc:ae5f4dd9f672832f7dce02fc14487f544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of a data type in number of bits. <a href="#ae5f4dd9f672832f7dce02fc14487f544">More...</a><br/></td></tr>
2150<tr class="separator:ae5f4dd9f672832f7dce02fc14487f544"><td class="memSeparator" colspan="2">&#160;</td></tr>
2151<tr class="memitem:afc95473636a442507fda7ad48f3414c0"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc95473636a442507fda7ad48f3414c0">get_underlying_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
2152<tr class="memdesc:afc95473636a442507fda7ad48f3414c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates fixed point tensor data type to the underlying OpenCL type. <a href="#afc95473636a442507fda7ad48f3414c0">More...</a><br/></td></tr>
2153<tr class="separator:afc95473636a442507fda7ad48f3414c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002154<tr class="memitem:afab814721e78cbfc34e7e7fe2874fa56"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afab814721e78cbfc34e7e7fe2874fa56">string_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002155<tr class="memdesc:afab814721e78cbfc34e7e7fe2874fa56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given gpu device target to string. <a href="#afab814721e78cbfc34e7e7fe2874fa56">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002156<tr class="separator:afab814721e78cbfc34e7e7fe2874fa56"><td class="memSeparator" colspan="2">&#160;</td></tr>
2157<tr class="memitem:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memTemplParams" colspan="2">template&lt;typename Kernel , typename... T&gt; </td></tr>
2158<tr class="memitem:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35fb9d1dde1b976f4b7d361aabcc7c0d">create_configure_kernel</a> (T &amp;&amp;...args)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002159<tr class="memdesc:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to create and return a unique_ptr pointed to a CL kernel object It also calls the kernel's configuration. <a href="#a35fb9d1dde1b976f4b7d361aabcc7c0d">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002160<tr class="separator:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2161<tr class="memitem:abc72c95941485d8a068fa38372308574"><td class="memTemplParams" colspan="2">template&lt;typename Kernel &gt; </td></tr>
2162<tr class="memitem:abc72c95941485d8a068fa38372308574"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abc72c95941485d8a068fa38372308574">create_kernel</a> ()</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002163<tr class="memdesc:abc72c95941485d8a068fa38372308574"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to create and return a unique_ptr pointed to a CL kernel object. <a href="#abc72c95941485d8a068fa38372308574">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002164<tr class="separator:abc72c95941485d8a068fa38372308574"><td class="memSeparator" colspan="2">&#160;</td></tr>
2165<tr class="memitem:a9d0143bdde8255313aae6ac020dd629c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d0143bdde8255313aae6ac020dd629c">get_target_from_device</a> (cl::Device &amp;device)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002166<tr class="memdesc:a9d0143bdde8255313aae6ac020dd629c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from CL device. <a href="#a9d0143bdde8255313aae6ac020dd629c">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002167<tr class="separator:a9d0143bdde8255313aae6ac020dd629c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2168<tr class="memitem:a4a351d5c39dec88af98a671da1c43fd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4a351d5c39dec88af98a671da1c43fd6">get_arch_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002169<tr class="memdesc:a4a351d5c39dec88af98a671da1c43fd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU arch. <a href="#a4a351d5c39dec88af98a671da1c43fd6">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002170<tr class="separator:a4a351d5c39dec88af98a671da1c43fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002171<tr class="memitem:a54c9b94a266f8065b64f001c47815b68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a54c9b94a266f8065b64f001c47815b68">get_cl_version</a> (const cl::Device &amp;device)</td></tr>
2172<tr class="memdesc:a54c9b94a266f8065b64f001c47815b68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the highest OpenCL version supported. <a href="#a54c9b94a266f8065b64f001c47815b68">More...</a><br/></td></tr>
2173<tr class="separator:a54c9b94a266f8065b64f001c47815b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
2174<tr class="memitem:aa2499c7ccf5b1636360a9ac6cc52a67b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2499c7ccf5b1636360a9ac6cc52a67b">non_uniform_workgroup_support</a> (const cl::Device &amp;device)</td></tr>
2175<tr class="memdesc:aa2499c7ccf5b1636360a9ac6cc52a67b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the arm_non_uniform_work_group_size extension is supported. <a href="#aa2499c7ccf5b1636360a9ac6cc52a67b">More...</a><br/></td></tr>
2176<tr class="separator:aa2499c7ccf5b1636360a9ac6cc52a67b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2177<tr class="memitem:a0f68015f649819f1102aa73d7b88b29e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0f68015f649819f1102aa73d7b88b29e">enqueue</a> (cl::CommandQueue &amp;queue, <a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &amp;kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const cl::NDRange &amp;lws_hint=<a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get</a>().default_ndrange())</td></tr>
2178<tr class="memdesc:a0f68015f649819f1102aa73d7b88b29e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a0f68015f649819f1102aa73d7b88b29e">More...</a><br/></td></tr>
2179<tr class="separator:a0f68015f649819f1102aa73d7b88b29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002180<tr class="memitem:aa4f4d7a58287017588fc338965873f14"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa4f4d7a58287017588fc338965873f14">opencl_is_available</a> ()</td></tr>
2181<tr class="separator:aa4f4d7a58287017588fc338965873f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002182<tr class="memitem:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a568b0fbfa3d903099d9c9f7b6acf188d">error</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002183<tr class="memdesc:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a568b0fbfa3d903099d9c9f7b6acf188d">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002184<tr class="separator:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002185<tr class="memitem:a5930b66fce0674d707fbf4f2dfcacc8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5930b66fce0674d707fbf4f2dfcacc8f">debug</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002186<tr class="memdesc:a5930b66fce0674d707fbf4f2dfcacc8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a debug message. <a href="#a5930b66fce0674d707fbf4f2dfcacc8f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002187<tr class="separator:a5930b66fce0674d707fbf4f2dfcacc8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2188<tr class="memitem:a203882febb616f5468d1b63b60ffb331"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int shift)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002189<tr class="memdesc:a203882febb616f5468d1b63b60ffb331"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating shift left <a href="#a203882febb616f5468d1b63b60ffb331">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002190<tr class="separator:a203882febb616f5468d1b63b60ffb331"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002191<tr class="memitem:a3e4f9ff20167e78399975ec02c009c95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e4f9ff20167e78399975ec02c009c95">sshr_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int shift)</td></tr>
2192<tr class="memdesc:a3e4f9ff20167e78399975ec02c009c95"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar shift right <a href="#a3e4f9ff20167e78399975ec02c009c95">More...</a><br/></td></tr>
2193<tr class="separator:a3e4f9ff20167e78399975ec02c009c95"><td class="memSeparator" colspan="2">&#160;</td></tr>
2194<tr class="memitem:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1dfcf4fd912cbd9853c0f7ddfcf3a163">sshr_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int shift)</td></tr>
2195<tr class="memdesc:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar shift right <a href="#a1dfcf4fd912cbd9853c0f7ddfcf3a163">More...</a><br/></td></tr>
2196<tr class="separator:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="memSeparator" colspan="2">&#160;</td></tr>
2197<tr class="memitem:a383b9d12f86c35ceed6dd5922439aa4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int shift)</td></tr>
2198<tr class="memdesc:a383b9d12f86c35ceed6dd5922439aa4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating shift left <a href="#a383b9d12f86c35ceed6dd5922439aa4c">More...</a><br/></td></tr>
2199<tr class="separator:a383b9d12f86c35ceed6dd5922439aa4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002200<tr class="memitem:a43315c66c4d00207f70143233b189085"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002201<tr class="memdesc:a43315c66c4d00207f70143233b189085"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar absolute value <a href="#a43315c66c4d00207f70143233b189085">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002202<tr class="separator:a43315c66c4d00207f70143233b189085"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002203<tr class="memitem:a5d49ea329c81268d6e12031f6f13f1eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
2204<tr class="memdesc:a5d49ea329c81268d6e12031f6f13f1eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar absolute value <a href="#a5d49ea329c81268d6e12031f6f13f1eb">More...</a><br/></td></tr>
2205<tr class="separator:a5d49ea329c81268d6e12031f6f13f1eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002206<tr class="memitem:aa8cee074ec68e2ae7830a9472efd8429"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">sadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002207<tr class="memdesc:aa8cee074ec68e2ae7830a9472efd8429"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar add <a href="#aa8cee074ec68e2ae7830a9472efd8429">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002208<tr class="separator:aa8cee074ec68e2ae7830a9472efd8429"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002209<tr class="memitem:ab30659aa2125bd5857547d424e601e34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">sadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
2210<tr class="memdesc:ab30659aa2125bd5857547d424e601e34"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar add <a href="#ab30659aa2125bd5857547d424e601e34">More...</a><br/></td></tr>
2211<tr class="separator:ab30659aa2125bd5857547d424e601e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002212<tr class="memitem:a532d90e007d0cb6f3d43107229c40c32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002213<tr class="memdesc:a532d90e007d0cb6f3d43107229c40c32"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating add <a href="#a532d90e007d0cb6f3d43107229c40c32">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002214<tr class="separator:a532d90e007d0cb6f3d43107229c40c32"><td class="memSeparator" colspan="2">&#160;</td></tr>
2215<tr class="memitem:a45669fcc0f31fce521179510e85dcb62"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002216<tr class="memdesc:a45669fcc0f31fce521179510e85dcb62"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating add <a href="#a45669fcc0f31fce521179510e85dcb62">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002217<tr class="separator:a45669fcc0f31fce521179510e85dcb62"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002218<tr class="memitem:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af1a4a8b0eeee4d2d1c14774e2417f3de">sqadd_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a, <a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> b)</td></tr>
2219<tr class="memdesc:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point scalar saturating add <a href="#af1a4a8b0eeee4d2d1c14774e2417f3de">More...</a><br/></td></tr>
2220<tr class="separator:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002221<tr class="memitem:ab97841950d268532e51f28a208ddafd4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002222<tr class="memdesc:ab97841950d268532e51f28a208ddafd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar subtraction <a href="#ab97841950d268532e51f28a208ddafd4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002223<tr class="separator:ab97841950d268532e51f28a208ddafd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002224<tr class="memitem:a70476eda2d46c943d572362fe2fc9d14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
2225<tr class="memdesc:a70476eda2d46c943d572362fe2fc9d14"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar subtraction <a href="#a70476eda2d46c943d572362fe2fc9d14">More...</a><br/></td></tr>
2226<tr class="separator:a70476eda2d46c943d572362fe2fc9d14"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002227<tr class="memitem:ae74bbb6e25cc1b774428722b2faad00c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002228<tr class="memdesc:ae74bbb6e25cc1b774428722b2faad00c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating subtraction <a href="#ae74bbb6e25cc1b774428722b2faad00c">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002229<tr class="separator:ae74bbb6e25cc1b774428722b2faad00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002230<tr class="memitem:a217e5c603560d6f73971983c6d1572a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
2231<tr class="memdesc:a217e5c603560d6f73971983c6d1572a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating subtraction <a href="#a217e5c603560d6f73971983c6d1572a1">More...</a><br/></td></tr>
2232<tr class="separator:a217e5c603560d6f73971983c6d1572a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002233<tr class="memitem:aec48f137adc904d648dd7eba0d828fab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002234<tr class="memdesc:aec48f137adc904d648dd7eba0d828fab"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar multiply <a href="#aec48f137adc904d648dd7eba0d828fab">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002235<tr class="separator:aec48f137adc904d648dd7eba0d828fab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002236<tr class="memitem:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
2237<tr class="memdesc:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar multiply <a href="#a7e6eff2c8b93f18002c06059b7e5b79a">More...</a><br/></td></tr>
2238<tr class="separator:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002239<tr class="memitem:af0b73b0c4980a551d7cd4edec43ffd92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002240<tr class="memdesc:af0b73b0c4980a551d7cd4edec43ffd92"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar saturating multiply <a href="#af0b73b0c4980a551d7cd4edec43ffd92">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002241<tr class="separator:af0b73b0c4980a551d7cd4edec43ffd92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002242<tr class="memitem:a55c8a365b4242664f8c0f19e91bcee92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002243<tr class="memdesc:a55c8a365b4242664f8c0f19e91bcee92"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar saturating multiply <a href="#a55c8a365b4242664f8c0f19e91bcee92">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002244<tr class="separator:a55c8a365b4242664f8c0f19e91bcee92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002245<tr class="memitem:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0721e062e6d7a90f07fd08aeda5e7eda">sqmull_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
2246<tr class="memdesc:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar multiply long <a href="#a0721e062e6d7a90f07fd08aeda5e7eda">More...</a><br/></td></tr>
2247<tr class="separator:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
2248<tr class="memitem:a7f9fcf8e60c300e602327f8ff67800cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f9fcf8e60c300e602327f8ff67800cb">sqmull_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
2249<tr class="memdesc:a7f9fcf8e60c300e602327f8ff67800cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar multiply long <a href="#a7f9fcf8e60c300e602327f8ff67800cb">More...</a><br/></td></tr>
2250<tr class="separator:a7f9fcf8e60c300e602327f8ff67800cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002251<tr class="memitem:ab768d7001612a149c0bf695b773d659b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab768d7001612a149c0bf695b773d659b">sinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002252<tr class="memdesc:ab768d7001612a149c0bf695b773d659b"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar inverse square root <a href="#ab768d7001612a149c0bf695b773d659b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002253<tr class="separator:ab768d7001612a149c0bf695b773d659b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002254<tr class="memitem:a162390097e05ddc016310bad881c461c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a162390097e05ddc016310bad881c461c">sinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
2255<tr class="memdesc:a162390097e05ddc016310bad881c461c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar inverse square root <a href="#a162390097e05ddc016310bad881c461c">More...</a><br/></td></tr>
2256<tr class="separator:a162390097e05ddc016310bad881c461c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002257<tr class="memitem:ae39636f0e83dd3b854b89181a230216f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">sdiv_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002258<tr class="memdesc:ae39636f0e83dd3b854b89181a230216f"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar division <a href="#ae39636f0e83dd3b854b89181a230216f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002259<tr class="separator:ae39636f0e83dd3b854b89181a230216f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002260<tr class="memitem:a62b21ae2dd27770147d5b7c265fa534c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">sdiv_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
2261<tr class="memdesc:a62b21ae2dd27770147d5b7c265fa534c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar division <a href="#a62b21ae2dd27770147d5b7c265fa534c">More...</a><br/></td></tr>
2262<tr class="separator:a62b21ae2dd27770147d5b7c265fa534c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2263<tr class="memitem:a20724c7cb556b1ff4fd9d01c7020d762"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a20724c7cb556b1ff4fd9d01c7020d762">sqexp_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
2264<tr class="memdesc:a20724c7cb556b1ff4fd9d01c7020d762"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar exponential <a href="#a20724c7cb556b1ff4fd9d01c7020d762">More...</a><br/></td></tr>
2265<tr class="separator:a20724c7cb556b1ff4fd9d01c7020d762"><td class="memSeparator" colspan="2">&#160;</td></tr>
2266<tr class="memitem:aba5b39758733711eaf3015d17839feb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba5b39758733711eaf3015d17839feb5">sqexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
2267<tr class="memdesc:aba5b39758733711eaf3015d17839feb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar exponential <a href="#aba5b39758733711eaf3015d17839feb5">More...</a><br/></td></tr>
2268<tr class="separator:aba5b39758733711eaf3015d17839feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2269<tr class="memitem:acc38b787d0451ec4a3e632ed919ac298"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acc38b787d0451ec4a3e632ed919ac298">sexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
2270<tr class="memdesc:acc38b787d0451ec4a3e632ed919ac298"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar exponential <a href="#acc38b787d0451ec4a3e632ed919ac298">More...</a><br/></td></tr>
2271<tr class="separator:acc38b787d0451ec4a3e632ed919ac298"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002272<tr class="memitem:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">slog_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002273<tr class="memdesc:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point scalar logarithm <a href="#a596a7e3c63f80e67ea7cb713e8fc9992">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002274<tr class="separator:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002275<tr class="memitem:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">slog_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
2276<tr class="memdesc:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point scalar logarithm <a href="#ad45601a3c0f1d9f6210041651f4e2f4b">More...</a><br/></td></tr>
2277<tr class="separator:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002278<tr class="memitem:a62232512d049619479b670c58a607924"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62232512d049619479b670c58a607924">scvt_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002279<tr class="memdesc:a62232512d049619479b670c58a607924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an 8 bit fixed point to float. <a href="#a62232512d049619479b670c58a607924">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002280<tr class="separator:a62232512d049619479b670c58a607924"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002281<tr class="memitem:a4f425447c1efb8d2b48cb50b110f4739"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4f425447c1efb8d2b48cb50b110f4739">sqcvt_qs8_f32</a> (float a, int fixed_point_position)</td></tr>
2282<tr class="memdesc:a4f425447c1efb8d2b48cb50b110f4739"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float to 8 bit fixed point. <a href="#a4f425447c1efb8d2b48cb50b110f4739">More...</a><br/></td></tr>
2283<tr class="separator:a4f425447c1efb8d2b48cb50b110f4739"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002284<tr class="memitem:a55e8e161b9a16d750a6cff3fba6cd480"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55e8e161b9a16d750a6cff3fba6cd480">scvt_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002285<tr class="memdesc:a55e8e161b9a16d750a6cff3fba6cd480"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 16 bit fixed point to float. <a href="#a55e8e161b9a16d750a6cff3fba6cd480">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002286<tr class="separator:a55e8e161b9a16d750a6cff3fba6cd480"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002287<tr class="memitem:a790df824287a4f498e648dbbb481906b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a790df824287a4f498e648dbbb481906b">sqcvt_qs16_f32</a> (float a, int fixed_point_position)</td></tr>
2288<tr class="memdesc:a790df824287a4f498e648dbbb481906b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float to 16 bit fixed point. <a href="#a790df824287a4f498e648dbbb481906b">More...</a><br/></td></tr>
2289<tr class="separator:a790df824287a4f498e648dbbb481906b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002290<tr class="memitem:ad555b251940cba2ca1c6eb168f0bbea4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad555b251940cba2ca1c6eb168f0bbea4">sqmovn_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002291<tr class="memdesc:ad555b251940cba2ca1c6eb168f0bbea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar saturating move and narrow. <a href="#ad555b251940cba2ca1c6eb168f0bbea4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002292<tr class="separator:ad555b251940cba2ca1c6eb168f0bbea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002293<tr class="memitem:a4a4859f4f212d3824e70a36aed901b5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4a4859f4f212d3824e70a36aed901b5b">sqmovn_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a)</td></tr>
2294<tr class="memdesc:a4a4859f4f212d3824e70a36aed901b5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar saturating move and narrow. <a href="#a4a4859f4f212d3824e70a36aed901b5b">More...</a><br/></td></tr>
2295<tr class="separator:a4a4859f4f212d3824e70a36aed901b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002296<tr class="memitem:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002297<tr class="memitem:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if<br class="typebreak"/>
2298&lt; <a class="el" href="structarm__compute_1_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a>&lt; T &gt;<br class="typebreak"/>
2299::<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adfe7525e3cd542da6c043a98f93a8d3c">operator&amp;</a> (T lhs, T rhs)</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002300<tr class="separator:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002301<tr class="memitem:ad656a27ce8a507e31096ca45683ba9a5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2302<tr class="memitem:ad656a27ce8a507e31096ca45683ba9a5"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a> (const T *pixel_ptr, size_t stride, float dx, float dy)</td></tr>
2303<tr class="memdesc:ad656a27ce8a507e31096ca45683ba9a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. <a href="#ad656a27ce8a507e31096ca45683ba9a5">More...</a><br/></td></tr>
2304<tr class="separator:ad656a27ce8a507e31096ca45683ba9a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2305<tr class="memitem:a1c8d639ec2b3086a9506e72605a32333"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2306<tr class="memitem:a1c8d639ec2b3086a9506e72605a32333"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c8d639ec2b3086a9506e72605a32333">pixel_bilinear_c1</a> (const T *first_pixel_ptr, size_t stride, float x, float y)</td></tr>
2307<tr class="memdesc:a1c8d639ec2b3086a9506e72605a32333"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pixel at (x,y) using bilinear interpolation. <a href="#a1c8d639ec2b3086a9506e72605a32333">More...</a><br/></td></tr>
2308<tr class="separator:a1c8d639ec2b3086a9506e72605a32333"><td class="memSeparator" colspan="2">&#160;</td></tr>
2309<tr class="memitem:afa55519774605e5b840fb031fdd7b196"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2310<tr class="memitem:afa55519774605e5b840fb031fdd7b196"><td class="memTemplItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa55519774605e5b840fb031fdd7b196">pixel_bilinear_c1_clamp</a> (const T *first_pixel_ptr, size_t stride, size_t width, size_t height, float x, float y)</td></tr>
2311<tr class="memdesc:afa55519774605e5b840fb031fdd7b196"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pixel at (x,y) using bilinear interpolation by clamping when out of borders. <a href="#afa55519774605e5b840fb031fdd7b196">More...</a><br/></td></tr>
2312<tr class="separator:afa55519774605e5b840fb031fdd7b196"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002313<tr class="memitem:ab7b3af731907e85fcaf72555c446176b"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab7b3af731907e85fcaf72555c446176b">pixel_area_c1u8_clamp</a> (const uint8_t *first_pixel_ptr, size_t stride, size_t width, size_t height, float wr, float hr, int x, int y)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002314<tr class="memdesc:ab7b3af731907e85fcaf72555c446176b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pixel at (x,y) using area interpolation by clamping when out of borders. <a href="#ab7b3af731907e85fcaf72555c446176b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002315<tr class="separator:ab7b3af731907e85fcaf72555c446176b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2316<tr class="memitem:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2317<tr class="memitem:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c0b9414fe3a6ef6a7a23bd324ae9e67">clamp</a> (const T &amp;n, const T &amp;lower, const T &amp;upper)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002318<tr class="memdesc:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs clamping among a lower and upper value. <a href="#a1c0b9414fe3a6ef6a7a23bd324ae9e67">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002319<tr class="separator:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
2320<tr class="memitem:a76e58198af8e930a851637e7e3eccbd2"><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
2321<tr class="memitem:a76e58198af8e930a851637e7e3eccbd2"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">for_each</a> (F &amp;&amp;)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002322<tr class="memdesc:a76e58198af8e930a851637e7e3eccbd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base case of for_each. <a href="#a76e58198af8e930a851637e7e3eccbd2">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002323<tr class="separator:a76e58198af8e930a851637e7e3eccbd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2324<tr class="memitem:ab951ff3c9484cd4b243344b3a0f12d95"><td class="memTemplParams" colspan="2">template&lt;typename F , typename T , typename... Ts&gt; </td></tr>
2325<tr class="memitem:ab951ff3c9484cd4b243344b3a0f12d95"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a> (F &amp;&amp;func, T &amp;&amp;arg, Ts &amp;&amp;...args)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002326<tr class="memdesc:ab951ff3c9484cd4b243344b3a0f12d95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call the function for each of the arguments. <a href="#ab951ff3c9484cd4b243344b3a0f12d95">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002327<tr class="separator:ab951ff3c9484cd4b243344b3a0f12d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
2328<tr class="memitem:a6905c41fd996c479e46791ef58e440aa"><td class="memTemplParams" colspan="2">template&lt;typename F , typename T &gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002329<tr class="memitem:a6905c41fd996c479e46791ef58e440aa"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6905c41fd996c479e46791ef58e440aa">foldl</a> (F &amp;&amp;, const T &amp;<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)</td></tr>
2330<tr class="memdesc:a6905c41fd996c479e46791ef58e440aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base case of foldl. <a href="#a6905c41fd996c479e46791ef58e440aa">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002331<tr class="separator:a6905c41fd996c479e46791ef58e440aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2332<tr class="memitem:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="memTemplParams" colspan="2">template&lt;typename F , typename T , typename U &gt; </td></tr>
2333<tr class="memitem:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f8e5c5fc77465cf3ac58b3d15305a5f">foldl</a> (F &amp;&amp;func, T &amp;&amp;value1, U &amp;&amp;value2) -&gt; decltype(func(value1, value2))</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002334<tr class="memdesc:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base case of foldl. <a href="#a7f8e5c5fc77465cf3ac58b3d15305a5f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002335<tr class="separator:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2336<tr class="memitem:a05d0de315da2ecf1fa7d22ffad49b254"><td class="memTemplParams" colspan="2">template&lt;typename F , typename I , typename T , typename... Vs&gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002337<tr class="memitem:a05d0de315da2ecf1fa7d22ffad49b254"><td class="memTemplItemLeft" align="right" valign="top">I&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a> (F &amp;&amp;func, I &amp;&amp;initial, T &amp;&amp;<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, Vs &amp;&amp;...values)</td></tr>
2338<tr class="memdesc:a05d0de315da2ecf1fa7d22ffad49b254"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fold left. <a href="#a05d0de315da2ecf1fa7d22ffad49b254">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002339<tr class="separator:a05d0de315da2ecf1fa7d22ffad49b254"><td class="memSeparator" colspan="2">&#160;</td></tr>
2340<tr class="memitem:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memTemplParams" colspan="2">template&lt;typename L , typename... Ts&gt; </td></tr>
2341<tr class="memitem:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002342<tr class="memdesc:a6c0dcc38187027dcb89cd9724bc5a823"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. <a href="#a6c0dcc38187027dcb89cd9724bc5a823">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002343<tr class="separator:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002344<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2345<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac2a92cae51d2734a65676052adb33c22">update_window_and_padding</a> (<a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win, Ts &amp;&amp;...patterns)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002346<tr class="memdesc:ac2a92cae51d2734a65676052adb33c22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update window and padding size for each of the access patterns. <a href="#ac2a92cae51d2734a65676052adb33c22">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002347<tr class="separator:ac2a92cae51d2734a65676052adb33c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002348<tr class="memitem:aa2117aef4381edbdf81e17ec088df7f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">calculate_max_window</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002349<tr class="memdesc:aa2117aef4381edbdf81e17ec088df7f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#aa2117aef4381edbdf81e17ec088df7f1">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002350<tr class="separator:aa2117aef4381edbdf81e17ec088df7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2351<tr class="memitem:a47456b4d520aee1cba80bf6e20f6685a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">calculate_max_window_horizontal</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002352<tr class="memdesc:a47456b4d520aee1cba80bf6e20f6685a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. <a href="#a47456b4d520aee1cba80bf6e20f6685a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002353<tr class="separator:a47456b4d520aee1cba80bf6e20f6685a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2354<tr class="memitem:afcdda83b6a85d5798f08d92c0e235e2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afcdda83b6a85d5798f08d92c0e235e2e">calculate_max_enlarged_window</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002355<tr class="memdesc:afcdda83b6a85d5798f08d92c0e235e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#afcdda83b6a85d5798f08d92c0e235e2e">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002356<tr class="separator:afcdda83b6a85d5798f08d92c0e235e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002357<tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2358<tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3bb1b3d01f14dbc0beb1e826eefeddc6">intersect_valid_regions</a> (Ts &amp;&amp;...regions)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002359<tr class="memdesc:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intersect multiple valid regions. <a href="#a3bb1b3d01f14dbc0beb1e826eefeddc6">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002360<tr class="separator:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002361<tr class="memitem:a35178800b82e07a49da5a81cdeda9a0c"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
2362<tr class="memitem:a35178800b82e07a49da5a81cdeda9a0c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35178800b82e07a49da5a81cdeda9a0c">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, T stride_x, Ts &amp;&amp;...fixed_strides)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002363<tr class="memdesc:a35178800b82e07a49da5a81cdeda9a0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a strides object based on the provided strides and the tensor dimensions. <a href="#a35178800b82e07a49da5a81cdeda9a0c">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002364<tr class="separator:a35178800b82e07a49da5a81cdeda9a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2365<tr class="memitem:a8c35748731709927597cb5a2c227e682"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2366<tr class="memitem:a8c35748731709927597cb5a2c227e682"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002367<tr class="memdesc:a8c35748731709927597cb5a2c227e682"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a strides object based on the tensor dimensions. <a href="#a8c35748731709927597cb5a2c227e682">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002368<tr class="separator:a8c35748731709927597cb5a2c227e682"><td class="memSeparator" colspan="2">&#160;</td></tr>
2369<tr class="memitem:a1c9627ac3d73a67e9312c2c9740ff0a3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c9627ac3d73a67e9312c2c9740ff0a3">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, int num_channels, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type, int fixed_point_position)</td></tr>
2370<tr class="separator:a1c9627ac3d73a67e9312c2c9740ff0a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2371<tr class="memitem:a9d1a839c51134b2ae171a2264c541b6f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d1a839c51134b2ae171a2264c541b6f">set_shape_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape)</td></tr>
2372<tr class="separator:a9d1a839c51134b2ae171a2264c541b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2373<tr class="memitem:a8076ba239b6681067b6cfea7f773a39f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8076ba239b6681067b6cfea7f773a39f">set_format_if_unknown</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
2374<tr class="separator:a8076ba239b6681067b6cfea7f773a39f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2375<tr class="memitem:ad19446be52c2c162fa678b9ae236f445"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad19446be52c2c162fa678b9ae236f445">set_data_type_if_unknown</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type)</td></tr>
2376<tr class="separator:ad19446be52c2c162fa678b9ae236f445"><td class="memSeparator" colspan="2">&#160;</td></tr>
2377<tr class="memitem:a0894ed18ca6f55d6053882676cc2c95c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0894ed18ca6f55d6053882676cc2c95c">set_fixed_point_position_if_zero</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, int fixed_point_position)</td></tr>
2378<tr class="separator:a0894ed18ca6f55d6053882676cc2c95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002379<tr class="memitem:ae3c6412e9c2b3b6c75a577f700e9b228"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae3c6412e9c2b3b6c75a577f700e9b228">calculate_valid_region_scale</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;src_info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;dst_shape, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> policy, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size, bool border_undefined)</td></tr>
2380<tr class="memdesc:ae3c6412e9c2b3b6c75a577f700e9b228"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to calculate the Valid Region for Scale. <a href="#ae3c6412e9c2b3b6c75a577f700e9b228">More...</a><br/></td></tr>
2381<tr class="separator:ae3c6412e9c2b3b6c75a577f700e9b228"><td class="memSeparator" colspan="2">&#160;</td></tr>
2382<tr class="memitem:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad34f2150f1c9f8a3ecb7298162124e5d">index2coords</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, int index)</td></tr>
2383<tr class="memdesc:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a linear index into n-dimensional coordinates. <a href="#ad34f2150f1c9f8a3ecb7298162124e5d">More...</a><br/></td></tr>
2384<tr class="separator:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2385<tr class="memitem:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad95e1c14c3007ca18950bf8f4c5a5c93">coords2index</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;coord)</td></tr>
2386<tr class="memdesc:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert n-dimensional coordinates into a linear index. <a href="#ad95e1c14c3007ca18950bf8f4c5a5c93">More...</a><br/></td></tr>
2387<tr class="separator:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002388<tr class="memitem:a41c1523098580451b378f76b8c37a0f0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41c1523098580451b378f76b8c37a0f0">adjust_down</a> (int required, int available, int step)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002389<tr class="memdesc:a41c1523098580451b378f76b8c37a0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. <a href="#a41c1523098580451b378f76b8c37a0f0">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002390<tr class="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2391<tr class="memitem:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2">adjust_up</a> (int required, int available, int step)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002392<tr class="memdesc:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. <a href="#ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002393<tr class="separator:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2394<tr class="memitem:a93cc303c8ae098d264f07d37890412de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a93cc303c8ae098d264f07d37890412de">colorconvert_rgb_to_rgbx</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2395<tr class="separator:a93cc303c8ae098d264f07d37890412de"><td class="memSeparator" colspan="2">&#160;</td></tr>
2396<tr class="memitem:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf7451c0d0f8a4b1cfbb60d7531a43aa">colorconvert_rgbx_to_rgb</a> (const void *input, void *output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2397<tr class="separator:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2398<tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplParams" colspan="2">template&lt;bool yuyv, bool alpha&gt; </td></tr>
2399<tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c22c0d3494660b72b4fc04fec76f92d">colorconvert_yuyv_to_rgb</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2400<tr class="separator:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2401<tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplParams" colspan="2">template&lt;bool uv, bool alpha&gt; </td></tr>
2402<tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae6a44e412bccc0705a720708b0692218">colorconvert_nv12_to_rgb</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2403<tr class="separator:ae6a44e412bccc0705a720708b0692218"><td class="memSeparator" colspan="2">&#160;</td></tr>
2404<tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2405<tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6e42fac1baa264b033ac430b63ebd145">colorconvert_iyuv_to_rgb</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2406<tr class="separator:a6e42fac1baa264b033ac430b63ebd145"><td class="memSeparator" colspan="2">&#160;</td></tr>
2407<tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
2408<tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8ee13904a3f5ba84b28cb53d956021d7">colorconvert_yuyv_to_nv12</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2409<tr class="separator:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2410<tr class="memitem:af2be1325decaa34a8a1199af177148c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af2be1325decaa34a8a1199af177148c6">colorconvert_iyuv_to_nv12</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2411<tr class="separator:af2be1325decaa34a8a1199af177148c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2412<tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
2413<tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a199d36780fbb4a70168f290480673650">colorconvert_nv12_to_iyuv</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2414<tr class="separator:a199d36780fbb4a70168f290480673650"><td class="memSeparator" colspan="2">&#160;</td></tr>
2415<tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
2416<tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae43e8f0463c0289169025c3041688d36">colorconvert_yuyv_to_iyuv</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2417<tr class="separator:ae43e8f0463c0289169025c3041688d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
2418<tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
2419<tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a587a54c85dcc72838b8f4b5575ebafe4">colorconvert_nv12_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2420<tr class="separator:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
2421<tr class="memitem:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a08e9d88293a5cef787bb324c2dc0a6bf">colorconvert_iyuv_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2422<tr class="separator:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
2423<tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2424<tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14fd899b732509e245976b9967b8931d">colorconvert_rgb_to_nv12</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2425<tr class="separator:a14fd899b732509e245976b9967b8931d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2426<tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2427<tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a49b7a8e217ba7aad821fdeaab86bad53">colorconvert_rgb_to_iyuv</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2428<tr class="separator:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memSeparator" colspan="2">&#160;</td></tr>
2429<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2430<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad304c0b0a72ed3f65c24fa69ab3cd53e">colorconvert_rgb_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
2431<tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002432<tr class="memitem:a85ff7d135f7aa13359bd575139ba14dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a85ff7d135f7aa13359bd575139ba14dd">vget_low_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002433<tr class="memdesc:a85ff7d135f7aa13359bd575139ba14dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#a85ff7d135f7aa13359bd575139ba14dd">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002434<tr class="separator:a85ff7d135f7aa13359bd575139ba14dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002435<tr class="memitem:ae895c5b470fcf069afd626bb36c63e3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2436<tr class="memdesc:ae895c5b470fcf069afd626bb36c63e3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#ae895c5b470fcf069afd626bb36c63e3d">More...</a><br/></td></tr>
2437<tr class="separator:ae895c5b470fcf069afd626bb36c63e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002438<tr class="memitem:ab93c92d0f3228809b6a4bfaa24eb4924"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab93c92d0f3228809b6a4bfaa24eb4924">vget_high_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002439<tr class="memdesc:ab93c92d0f3228809b6a4bfaa24eb4924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#ab93c92d0f3228809b6a4bfaa24eb4924">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002440<tr class="separator:ab93c92d0f3228809b6a4bfaa24eb4924"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002441<tr class="memitem:ac2edef8bf07bce91b37aa02b952b8ed6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2442<tr class="memdesc:ac2edef8bf07bce91b37aa02b952b8ed6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#ac2edef8bf07bce91b37aa02b952b8ed6">More...</a><br/></td></tr>
2443<tr class="separator:ac2edef8bf07bce91b37aa02b952b8ed6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002444<tr class="memitem:a77ef79482edac98140bbdfaeffb78b8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a77ef79482edac98140bbdfaeffb78b8f">vld1_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002445<tr class="memdesc:a77ef79482edac98140bbdfaeffb78b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (8 elements) <a href="#a77ef79482edac98140bbdfaeffb78b8f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002446<tr class="separator:a77ef79482edac98140bbdfaeffb78b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002447<tr class="memitem:a1470ca9d692f773f33ddbd9b3a37f1f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1470ca9d692f773f33ddbd9b3a37f1f9">vld1_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002448<tr class="memdesc:a1470ca9d692f773f33ddbd9b3a37f1f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (4 elements) <a href="#a1470ca9d692f773f33ddbd9b3a37f1f9">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002449<tr class="separator:a1470ca9d692f773f33ddbd9b3a37f1f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002450<tr class="memitem:aba22755f7d41ffc62e23e5594751ecaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba22755f7d41ffc62e23e5594751ecaa">vld1q_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
2451<tr class="memdesc:aba22755f7d41ffc62e23e5594751ecaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (16 elements) <a href="#aba22755f7d41ffc62e23e5594751ecaa">More...</a><br/></td></tr>
2452<tr class="separator:aba22755f7d41ffc62e23e5594751ecaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002453<tr class="memitem:aaa2cfaf59eb25ffb975bea87844e23c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaa2cfaf59eb25ffb975bea87844e23c6">vld1q_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002454<tr class="memdesc:aaa2cfaf59eb25ffb975bea87844e23c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (8 elements) <a href="#aaa2cfaf59eb25ffb975bea87844e23c6">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002455<tr class="separator:aaa2cfaf59eb25ffb975bea87844e23c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2456<tr class="memitem:ada853a8e19c80626633d95392d2b4a8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ada853a8e19c80626633d95392d2b4a8b">vld1_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002457<tr class="memdesc:ada853a8e19c80626633d95392d2b4a8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (8 elements) <a href="#ada853a8e19c80626633d95392d2b4a8b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002458<tr class="separator:ada853a8e19c80626633d95392d2b4a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002459<tr class="memitem:a4cd20897bfcf3b38125c1b1cd3642d2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4cd20897bfcf3b38125c1b1cd3642d2f">vld1_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
2460<tr class="memdesc:a4cd20897bfcf3b38125c1b1cd3642d2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (4 elements) <a href="#a4cd20897bfcf3b38125c1b1cd3642d2f">More...</a><br/></td></tr>
2461<tr class="separator:a4cd20897bfcf3b38125c1b1cd3642d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002462<tr class="memitem:ad988b528a38525b8ceca56ed8d09c801"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad988b528a38525b8ceca56ed8d09c801">vld1q_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002463<tr class="memdesc:ad988b528a38525b8ceca56ed8d09c801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (16 elements) <a href="#ad988b528a38525b8ceca56ed8d09c801">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002464<tr class="separator:ad988b528a38525b8ceca56ed8d09c801"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002465<tr class="memitem:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3b4b5dc205a2edb9dd2f08b0dbbf3e7">vld1q_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
2466<tr class="memdesc:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (8 elements) <a href="#aa3b4b5dc205a2edb9dd2f08b0dbbf3e7">More...</a><br/></td></tr>
2467<tr class="separator:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2468<tr class="memitem:a8bab58697ee7d7df117384a05d4e2f92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8bab58697ee7d7df117384a05d4e2f92">vld2q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
2469<tr class="memdesc:a8bab58697ee7d7df117384a05d4e2f92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load two 16 bit fixed point vectors from memory (8x2 elements) <a href="#a8bab58697ee7d7df117384a05d4e2f92">More...</a><br/></td></tr>
2470<tr class="separator:a8bab58697ee7d7df117384a05d4e2f92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002471<tr class="memitem:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a509f3f9d910651d71d9f7dc3b5b3b92a">vst1_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002472<tr class="memdesc:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (8 elements) <a href="#a509f3f9d910651d71d9f7dc3b5b3b92a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002473<tr class="separator:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002474<tr class="memitem:a1d54a1ef0078902b2334d2fddba74ca6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1d54a1ef0078902b2334d2fddba74ca6">vst1_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002475<tr class="memdesc:a1d54a1ef0078902b2334d2fddba74ca6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (4 elements) <a href="#a1d54a1ef0078902b2334d2fddba74ca6">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002476<tr class="separator:a1d54a1ef0078902b2334d2fddba74ca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002477<tr class="memitem:acf4cb0bc89b25c5fac96935d040207f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf4cb0bc89b25c5fac96935d040207f6">vst1q_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
2478<tr class="memdesc:acf4cb0bc89b25c5fac96935d040207f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (16 elements) <a href="#acf4cb0bc89b25c5fac96935d040207f6">More...</a><br/></td></tr>
2479<tr class="separator:acf4cb0bc89b25c5fac96935d040207f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002480<tr class="memitem:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8bb5f297efd64b941f5022ea3cd7ee9a">vst1q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002481<tr class="memdesc:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (8 elements) <a href="#a8bb5f297efd64b941f5022ea3cd7ee9a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002482<tr class="separator:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002483<tr class="memitem:a22c6d123d670e84d939d5b887976328d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22c6d123d670e84d939d5b887976328d">vst2q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> b)</td></tr>
2484<tr class="memdesc:a22c6d123d670e84d939d5b887976328d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store two 16 bit fixed point vector to memory (8x2 elements) <a href="#a22c6d123d670e84d939d5b887976328d">More...</a><br/></td></tr>
2485<tr class="separator:a22c6d123d670e84d939d5b887976328d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002486<tr class="memitem:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a92c2d0b9a8eeb3ab04a39a25fef2b6c3">vqmovn_q16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002487<tr class="memdesc:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating narrow (8 elements) <a href="#a92c2d0b9a8eeb3ab04a39a25fef2b6c3">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002488<tr class="separator:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002489<tr class="memitem:a12e7578c32321d2362114563881153ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a12e7578c32321d2362114563881153ee">vqmovn_q32</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a)</td></tr>
2490<tr class="memdesc:a12e7578c32321d2362114563881153ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit fixed point vector saturating narrow (4 elements) <a href="#a12e7578c32321d2362114563881153ee">More...</a><br/></td></tr>
2491<tr class="separator:a12e7578c32321d2362114563881153ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002492<tr class="memitem:a1a226812e3cfdf3494adbdd92d4a1cb3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002493<tr class="memdesc:a1a226812e3cfdf3494adbdd92d4a1cb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector duplicate (8 elements) <a href="#a1a226812e3cfdf3494adbdd92d4a1cb3">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002494<tr class="separator:a1a226812e3cfdf3494adbdd92d4a1cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002495<tr class="memitem:a1f6c3965dec29d8ac84ff84a164e9d8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
2496<tr class="memdesc:a1f6c3965dec29d8ac84ff84a164e9d8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector duplicate (4 elements) <a href="#a1f6c3965dec29d8ac84ff84a164e9d8e">More...</a><br/></td></tr>
2497<tr class="separator:a1f6c3965dec29d8ac84ff84a164e9d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002498<tr class="memitem:adbd4df93ed00fcda54f91e669ea2be04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002499<tr class="memdesc:adbd4df93ed00fcda54f91e669ea2be04"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector duplicate (16 elements) <a href="#adbd4df93ed00fcda54f91e669ea2be04">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002500<tr class="separator:adbd4df93ed00fcda54f91e669ea2be04"><td class="memSeparator" colspan="2">&#160;</td></tr>
2501<tr class="memitem:ab20e66231de6c259952534de39214784"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab20e66231de6c259952534de39214784">vdupq_n_qs8_f32</a> (float a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002502<tr class="memdesc:ab20e66231de6c259952534de39214784"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a float and convert it to 8 bit fixed point vector (16 elements) <a href="#ab20e66231de6c259952534de39214784">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002503<tr class="separator:ab20e66231de6c259952534de39214784"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002504<tr class="memitem:a2b3337b650277502ad64d8ba55f9b8b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2b3337b650277502ad64d8ba55f9b8b2">vdupq_n_qs16_f32</a> (float a, int fixed_point_position)</td></tr>
2505<tr class="memdesc:a2b3337b650277502ad64d8ba55f9b8b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a float and convert it to 16 bit fixed point vector (8 elements) <a href="#a2b3337b650277502ad64d8ba55f9b8b2">More...</a><br/></td></tr>
2506<tr class="separator:a2b3337b650277502ad64d8ba55f9b8b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002507<tr class="memitem:a740436aed8843612da747f40ff926875"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002508<tr class="memdesc:a740436aed8843612da747f40ff926875"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector duplicate (8 elements) <a href="#a740436aed8843612da747f40ff926875">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002509<tr class="separator:a740436aed8843612da747f40ff926875"><td class="memSeparator" colspan="2">&#160;</td></tr>
2510<tr class="memitem:ab62f4e080614df358423180767cffefd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab62f4e080614df358423180767cffefd">vabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002511<tr class="memdesc:ab62f4e080614df358423180767cffefd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 8 bit fixed point vector (8 elements) <a href="#ab62f4e080614df358423180767cffefd">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002512<tr class="separator:ab62f4e080614df358423180767cffefd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002513<tr class="memitem:a5344249fe56e2a6cf0b7336c069cb846"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5344249fe56e2a6cf0b7336c069cb846">vabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
2514<tr class="memdesc:a5344249fe56e2a6cf0b7336c069cb846"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 16 bit fixed point vector (4 elements) <a href="#a5344249fe56e2a6cf0b7336c069cb846">More...</a><br/></td></tr>
2515<tr class="separator:a5344249fe56e2a6cf0b7336c069cb846"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002516<tr class="memitem:a3e4c45da2bef323158955d7c3b9d148d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e4c45da2bef323158955d7c3b9d148d">vabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002517<tr class="memdesc:a3e4c45da2bef323158955d7c3b9d148d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 8 bit fixed point vector (16 elements) <a href="#a3e4c45da2bef323158955d7c3b9d148d">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002518<tr class="separator:a3e4c45da2bef323158955d7c3b9d148d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002519<tr class="memitem:a15cf61eaeb7d9b008f262936f6f4cca8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a15cf61eaeb7d9b008f262936f6f4cca8">vabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2520<tr class="memdesc:a15cf61eaeb7d9b008f262936f6f4cca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of 16 bit fixed point vector (8 elements) <a href="#a15cf61eaeb7d9b008f262936f6f4cca8">More...</a><br/></td></tr>
2521<tr class="separator:a15cf61eaeb7d9b008f262936f6f4cca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002522<tr class="memitem:a4b2c9440d5fa4909ae909869877f39e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">vqabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002523<tr class="memdesc:a4b2c9440d5fa4909ae909869877f39e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (8 elements) <a href="#a4b2c9440d5fa4909ae909869877f39e3">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002524<tr class="separator:a4b2c9440d5fa4909ae909869877f39e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002525<tr class="memitem:a7c97511a35de87be34f48b4ab4b3c222"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7c97511a35de87be34f48b4ab4b3c222">vqabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
2526<tr class="memdesc:a7c97511a35de87be34f48b4ab4b3c222"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (4 elements) <a href="#a7c97511a35de87be34f48b4ab4b3c222">More...</a><br/></td></tr>
2527<tr class="separator:a7c97511a35de87be34f48b4ab4b3c222"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002528<tr class="memitem:ac8095edd652a1f3a76bf9d0f4251827a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac8095edd652a1f3a76bf9d0f4251827a">vqabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002529<tr class="memdesc:ac8095edd652a1f3a76bf9d0f4251827a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (16 elements) <a href="#ac8095edd652a1f3a76bf9d0f4251827a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002530<tr class="separator:ac8095edd652a1f3a76bf9d0f4251827a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002531<tr class="memitem:aa001ed913705cf378d947052435917aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa001ed913705cf378d947052435917aa">vqabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2532<tr class="memdesc:aa001ed913705cf378d947052435917aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (8 elements) <a href="#aa001ed913705cf378d947052435917aa">More...</a><br/></td></tr>
2533<tr class="separator:aa001ed913705cf378d947052435917aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002534<tr class="memitem:a3e913e95e286244f24f9a381909c8b26"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e913e95e286244f24f9a381909c8b26">vmax_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002535<tr class="memdesc:a3e913e95e286244f24f9a381909c8b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector max (8 elements) <a href="#a3e913e95e286244f24f9a381909c8b26">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002536<tr class="separator:a3e913e95e286244f24f9a381909c8b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002537<tr class="memitem:a5db8c0cf0dba918904733f0c9a8bedc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5db8c0cf0dba918904733f0c9a8bedc8">vmax_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
2538<tr class="memdesc:a5db8c0cf0dba918904733f0c9a8bedc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector max (4 elements) <a href="#a5db8c0cf0dba918904733f0c9a8bedc8">More...</a><br/></td></tr>
2539<tr class="separator:a5db8c0cf0dba918904733f0c9a8bedc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002540<tr class="memitem:a1627f818fb2ca90f7c3880f959030556"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1627f818fb2ca90f7c3880f959030556">vmaxq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002541<tr class="memdesc:a1627f818fb2ca90f7c3880f959030556"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector max (16 elements) <a href="#a1627f818fb2ca90f7c3880f959030556">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002542<tr class="separator:a1627f818fb2ca90f7c3880f959030556"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002543<tr class="memitem:a952d1f0a7f47167985554aed39b737ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a952d1f0a7f47167985554aed39b737ac">vmaxq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
2544<tr class="memdesc:a952d1f0a7f47167985554aed39b737ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector max (8 elements) <a href="#a952d1f0a7f47167985554aed39b737ac">More...</a><br/></td></tr>
2545<tr class="separator:a952d1f0a7f47167985554aed39b737ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002546<tr class="memitem:a1ecd37cd4eb461a98ca7c429e51802d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ecd37cd4eb461a98ca7c429e51802d2">vpmax_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002547<tr class="memdesc:a1ecd37cd4eb461a98ca7c429e51802d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector pairwise max (8 elements) <a href="#a1ecd37cd4eb461a98ca7c429e51802d2">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002548<tr class="separator:a1ecd37cd4eb461a98ca7c429e51802d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002549<tr class="memitem:a8ee6fe28466be3c48a70debe663b08d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8ee6fe28466be3c48a70debe663b08d4">vpmax_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
2550<tr class="memdesc:a8ee6fe28466be3c48a70debe663b08d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector pairwise max (4 elements) <a href="#a8ee6fe28466be3c48a70debe663b08d4">More...</a><br/></td></tr>
2551<tr class="separator:a8ee6fe28466be3c48a70debe663b08d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002552<tr class="memitem:abed4a7c95569e1fa72d0f8bfe5a50c84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abed4a7c95569e1fa72d0f8bfe5a50c84">vmin_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002553<tr class="memdesc:abed4a7c95569e1fa72d0f8bfe5a50c84"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector min (8 elements) <a href="#abed4a7c95569e1fa72d0f8bfe5a50c84">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002554<tr class="separator:abed4a7c95569e1fa72d0f8bfe5a50c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002555<tr class="memitem:ac0eb95618787b12b93aeb2f3f101dad2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac0eb95618787b12b93aeb2f3f101dad2">vmin_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
2556<tr class="memdesc:ac0eb95618787b12b93aeb2f3f101dad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector min (4 elements) <a href="#ac0eb95618787b12b93aeb2f3f101dad2">More...</a><br/></td></tr>
2557<tr class="separator:ac0eb95618787b12b93aeb2f3f101dad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002558<tr class="memitem:a3b393341c8500b469780137b3548f70b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3b393341c8500b469780137b3548f70b">vminq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002559<tr class="memdesc:a3b393341c8500b469780137b3548f70b"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector min (16 elements) <a href="#a3b393341c8500b469780137b3548f70b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002560<tr class="separator:a3b393341c8500b469780137b3548f70b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002561<tr class="memitem:a9724e1c56a877ce483c84420297dd638"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9724e1c56a877ce483c84420297dd638">vminq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
2562<tr class="memdesc:a9724e1c56a877ce483c84420297dd638"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector min (8 elements) <a href="#a9724e1c56a877ce483c84420297dd638">More...</a><br/></td></tr>
2563<tr class="separator:a9724e1c56a877ce483c84420297dd638"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002564<tr class="memitem:ad3f599d91685017d37e87d36170a5342"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad3f599d91685017d37e87d36170a5342">vpmin_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002565<tr class="memdesc:ad3f599d91685017d37e87d36170a5342"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector pairwise min (8 elements) <a href="#ad3f599d91685017d37e87d36170a5342">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002566<tr class="separator:ad3f599d91685017d37e87d36170a5342"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002567<tr class="memitem:a9d9d1279b08f3e79fd0cf019b79138f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d9d1279b08f3e79fd0cf019b79138f9">vpmin_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
2568<tr class="memdesc:a9d9d1279b08f3e79fd0cf019b79138f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector pairwise min (4 elements) <a href="#a9d9d1279b08f3e79fd0cf019b79138f9">More...</a><br/></td></tr>
2569<tr class="separator:a9d9d1279b08f3e79fd0cf019b79138f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002570<tr class="memitem:ad91fc981c1b7b04a1975de3aefc6a4f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad91fc981c1b7b04a1975de3aefc6a4f7">vadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002571<tr class="memdesc:ad91fc981c1b7b04a1975de3aefc6a4f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector add (8 elements) <a href="#ad91fc981c1b7b04a1975de3aefc6a4f7">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002572<tr class="separator:ad91fc981c1b7b04a1975de3aefc6a4f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002573<tr class="memitem:ac28c9ffea6f2c962ec87f69d377faaeb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac28c9ffea6f2c962ec87f69d377faaeb">vadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
2574<tr class="memdesc:ac28c9ffea6f2c962ec87f69d377faaeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector add (4 elements) <a href="#ac28c9ffea6f2c962ec87f69d377faaeb">More...</a><br/></td></tr>
2575<tr class="separator:ac28c9ffea6f2c962ec87f69d377faaeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002576<tr class="memitem:a30eeb53208a2f67d4b0cf73a81b09467"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a30eeb53208a2f67d4b0cf73a81b09467">vaddq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002577<tr class="memdesc:a30eeb53208a2f67d4b0cf73a81b09467"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector add (16 elements) <a href="#a30eeb53208a2f67d4b0cf73a81b09467">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002578<tr class="separator:a30eeb53208a2f67d4b0cf73a81b09467"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002579<tr class="memitem:a2a84234e327a554d7ce7f97f269b6efc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2a84234e327a554d7ce7f97f269b6efc">vaddq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
2580<tr class="memdesc:a2a84234e327a554d7ce7f97f269b6efc"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector add (8 elements) <a href="#a2a84234e327a554d7ce7f97f269b6efc">More...</a><br/></td></tr>
2581<tr class="separator:a2a84234e327a554d7ce7f97f269b6efc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002582<tr class="memitem:a8a14fe5fc71105c9bfebb28a58f06a52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a14fe5fc71105c9bfebb28a58f06a52">vqadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002583<tr class="memdesc:a8a14fe5fc71105c9bfebb28a58f06a52"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating add (8 elements) <a href="#a8a14fe5fc71105c9bfebb28a58f06a52">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002584<tr class="separator:a8a14fe5fc71105c9bfebb28a58f06a52"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002585<tr class="memitem:ad80ab0f6b783c10e0488cb84a8812e8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad80ab0f6b783c10e0488cb84a8812e8f">vqadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002586<tr class="memdesc:ad80ab0f6b783c10e0488cb84a8812e8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating add (4 elements) <a href="#ad80ab0f6b783c10e0488cb84a8812e8f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002587<tr class="separator:ad80ab0f6b783c10e0488cb84a8812e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002588<tr class="memitem:a9765c5ee2d3cc9e3ca983fd2f47ba916"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9765c5ee2d3cc9e3ca983fd2f47ba916">vqaddq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
2589<tr class="memdesc:a9765c5ee2d3cc9e3ca983fd2f47ba916"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating add (16 elements) <a href="#a9765c5ee2d3cc9e3ca983fd2f47ba916">More...</a><br/></td></tr>
2590<tr class="separator:a9765c5ee2d3cc9e3ca983fd2f47ba916"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002591<tr class="memitem:a9d88750b393cdfe6f5685107bb1d98f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d88750b393cdfe6f5685107bb1d98f7">vqaddq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002592<tr class="memdesc:a9d88750b393cdfe6f5685107bb1d98f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating add (8 elements) <a href="#a9d88750b393cdfe6f5685107bb1d98f7">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002593<tr class="separator:a9d88750b393cdfe6f5685107bb1d98f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2594<tr class="memitem:ac73b89ba44bae1df9a8998ad2a99996e"><td class="memItemLeft" align="right" valign="top">int16x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac73b89ba44bae1df9a8998ad2a99996e">vpaddl_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002595<tr class="memdesc:ac73b89ba44bae1df9a8998ad2a99996e"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating pairwise add (8 elements) <a href="#ac73b89ba44bae1df9a8998ad2a99996e">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002596<tr class="separator:ac73b89ba44bae1df9a8998ad2a99996e"><td class="memSeparator" colspan="2">&#160;</td></tr>
2597<tr class="memitem:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a90c8ce2712bdb44fd58e3fa8b78bf6fb">vsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002598<tr class="memdesc:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector subtraction (8 elements) <a href="#a90c8ce2712bdb44fd58e3fa8b78bf6fb">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002599<tr class="separator:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002600<tr class="memitem:a420a19dca7258dbae20af6d92dc62926"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a420a19dca7258dbae20af6d92dc62926">vsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
2601<tr class="memdesc:a420a19dca7258dbae20af6d92dc62926"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector subtraction (4 elements) <a href="#a420a19dca7258dbae20af6d92dc62926">More...</a><br/></td></tr>
2602<tr class="separator:a420a19dca7258dbae20af6d92dc62926"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002603<tr class="memitem:a1adda6690cbca8a996255e311e4762d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1adda6690cbca8a996255e311e4762d4">vsubq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002604<tr class="memdesc:a1adda6690cbca8a996255e311e4762d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector subtraction (16 elements) <a href="#a1adda6690cbca8a996255e311e4762d4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002605<tr class="separator:a1adda6690cbca8a996255e311e4762d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002606<tr class="memitem:a43569be4a403f390486148701b424e8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">vsubq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
2607<tr class="memdesc:a43569be4a403f390486148701b424e8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector subtraction (8 elements) <a href="#a43569be4a403f390486148701b424e8a">More...</a><br/></td></tr>
2608<tr class="separator:a43569be4a403f390486148701b424e8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002609<tr class="memitem:a5b1437029acce06690a938e09f5a762a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b1437029acce06690a938e09f5a762a">vqsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002610<tr class="memdesc:a5b1437029acce06690a938e09f5a762a"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating subtraction (8 elements) <a href="#a5b1437029acce06690a938e09f5a762a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002611<tr class="separator:a5b1437029acce06690a938e09f5a762a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002612<tr class="memitem:a73a131b9775ce771a1a25607a83b0ca9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a73a131b9775ce771a1a25607a83b0ca9">vqsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
2613<tr class="memdesc:a73a131b9775ce771a1a25607a83b0ca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating subtraction (4 elements) <a href="#a73a131b9775ce771a1a25607a83b0ca9">More...</a><br/></td></tr>
2614<tr class="separator:a73a131b9775ce771a1a25607a83b0ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002615<tr class="memitem:ab2a6ce3d8239e49c81af1ebc617680b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002616<tr class="memdesc:ab2a6ce3d8239e49c81af1ebc617680b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating subtraction (16 elements) <a href="#ab2a6ce3d8239e49c81af1ebc617680b4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002617<tr class="separator:ab2a6ce3d8239e49c81af1ebc617680b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002618<tr class="memitem:a9edb31327a1e06c730d5a09b14dcfeb9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
2619<tr class="memdesc:a9edb31327a1e06c730d5a09b14dcfeb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating subtraction (8 elements) <a href="#a9edb31327a1e06c730d5a09b14dcfeb9">More...</a><br/></td></tr>
2620<tr class="separator:a9edb31327a1e06c730d5a09b14dcfeb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002621<tr class="memitem:afccf1305c480f2338af8925bba6b54cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002622<tr class="memdesc:afccf1305c480f2338af8925bba6b54cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply (8 elements) <a href="#afccf1305c480f2338af8925bba6b54cd">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002623<tr class="separator:afccf1305c480f2338af8925bba6b54cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002624<tr class="memitem:ac1b67e3283a1cae4d57b7f64137f5f5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
2625<tr class="memdesc:ac1b67e3283a1cae4d57b7f64137f5f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply (4 elements) <a href="#ac1b67e3283a1cae4d57b7f64137f5f5c">More...</a><br/></td></tr>
2626<tr class="separator:ac1b67e3283a1cae4d57b7f64137f5f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002627<tr class="memitem:a031b17d4102856aa4d6bf7ebf83bf0ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002628<tr class="memdesc:a031b17d4102856aa4d6bf7ebf83bf0ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply (16 elements) <a href="#a031b17d4102856aa4d6bf7ebf83bf0ab">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002629<tr class="separator:a031b17d4102856aa4d6bf7ebf83bf0ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002630<tr class="memitem:a74ea79cda0ff6a819b2e5176fe0fc622"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
2631<tr class="memdesc:a74ea79cda0ff6a819b2e5176fe0fc622"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply (8 elements) <a href="#a74ea79cda0ff6a819b2e5176fe0fc622">More...</a><br/></td></tr>
2632<tr class="separator:a74ea79cda0ff6a819b2e5176fe0fc622"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002633<tr class="memitem:a746205173d1a1f3955fa0c26b5be3b10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002634<tr class="memdesc:a746205173d1a1f3955fa0c26b5be3b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply (8 elements) <a href="#a746205173d1a1f3955fa0c26b5be3b10">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002635<tr class="separator:a746205173d1a1f3955fa0c26b5be3b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002636<tr class="memitem:aec34399f16d824f79571abe464556466"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
2637<tr class="memdesc:aec34399f16d824f79571abe464556466"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply (4 elements) <a href="#aec34399f16d824f79571abe464556466">More...</a><br/></td></tr>
2638<tr class="separator:aec34399f16d824f79571abe464556466"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002639<tr class="memitem:a081c0605c83155125ad95a144a1d6071"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002640<tr class="memdesc:a081c0605c83155125ad95a144a1d6071"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply (16 elements) <a href="#a081c0605c83155125ad95a144a1d6071">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002641<tr class="separator:a081c0605c83155125ad95a144a1d6071"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002642<tr class="memitem:a982d792d366430a954d96e8575d3c313"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
2643<tr class="memdesc:a982d792d366430a954d96e8575d3c313"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply (8 elements) <a href="#a982d792d366430a954d96e8575d3c313">More...</a><br/></td></tr>
2644<tr class="separator:a982d792d366430a954d96e8575d3c313"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002645<tr class="memitem:a3e959a9add1078033f3a27725323df13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e959a9add1078033f3a27725323df13">vmull_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002646<tr class="memdesc:a3e959a9add1078033f3a27725323df13"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector long multiply (8 elements) <a href="#a3e959a9add1078033f3a27725323df13">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002647<tr class="separator:a3e959a9add1078033f3a27725323df13"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002648<tr class="memitem:afce8b13d7a800aa8ac24733160130cfc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afce8b13d7a800aa8ac24733160130cfc">vmull_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
2649<tr class="memdesc:afce8b13d7a800aa8ac24733160130cfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector long multiply (4 elements) <a href="#afce8b13d7a800aa8ac24733160130cfc">More...</a><br/></td></tr>
2650<tr class="separator:afce8b13d7a800aa8ac24733160130cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002651<tr class="memitem:a26fd8532b87adbcf27214504c38918e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a26fd8532b87adbcf27214504c38918e4">vmla_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002652<tr class="memdesc:a26fd8532b87adbcf27214504c38918e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (8 elements). <a href="#a26fd8532b87adbcf27214504c38918e4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002653<tr class="separator:a26fd8532b87adbcf27214504c38918e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002654<tr class="memitem:a274a6a8a684dd31dbd2a1ebef37b38db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a274a6a8a684dd31dbd2a1ebef37b38db">vmla_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
2655<tr class="memdesc:a274a6a8a684dd31dbd2a1ebef37b38db"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (4 elements). <a href="#a274a6a8a684dd31dbd2a1ebef37b38db">More...</a><br/></td></tr>
2656<tr class="separator:a274a6a8a684dd31dbd2a1ebef37b38db"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002657<tr class="memitem:aca905840b37a91fff71e163aa619904c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca905840b37a91fff71e163aa619904c">vmlaq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> c, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002658<tr class="memdesc:aca905840b37a91fff71e163aa619904c"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (16 elements). <a href="#aca905840b37a91fff71e163aa619904c">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002659<tr class="separator:aca905840b37a91fff71e163aa619904c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002660<tr class="memitem:afac88503bedaf0d617729062991518d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afac88503bedaf0d617729062991518d7">vmlaq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> c, int fixed_point_position)</td></tr>
2661<tr class="memdesc:afac88503bedaf0d617729062991518d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (16 elements). <a href="#afac88503bedaf0d617729062991518d7">More...</a><br/></td></tr>
2662<tr class="separator:afac88503bedaf0d617729062991518d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002663<tr class="memitem:ac6cb55578e8ff1f3c20aa50f2e728679"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac6cb55578e8ff1f3c20aa50f2e728679">vqmla_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002664<tr class="memdesc:ac6cb55578e8ff1f3c20aa50f2e728679"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#ac6cb55578e8ff1f3c20aa50f2e728679">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002665<tr class="separator:ac6cb55578e8ff1f3c20aa50f2e728679"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002666<tr class="memitem:aa761736badde8e65c51952cc613be3b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa761736badde8e65c51952cc613be3b9">vqmla_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
2667<tr class="memdesc:aa761736badde8e65c51952cc613be3b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (4 elements). <a href="#aa761736badde8e65c51952cc613be3b9">More...</a><br/></td></tr>
2668<tr class="separator:aa761736badde8e65c51952cc613be3b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002669<tr class="memitem:a037ac8df4a7e30a455a97218b88b67ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a037ac8df4a7e30a455a97218b88b67ad">vqmlaq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> c, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002670<tr class="memdesc:a037ac8df4a7e30a455a97218b88b67ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (16 elements). <a href="#a037ac8df4a7e30a455a97218b88b67ad">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002671<tr class="separator:a037ac8df4a7e30a455a97218b88b67ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002672<tr class="memitem:aed829745c42ecd74cfff15bc92936ba5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aed829745c42ecd74cfff15bc92936ba5">vqmlaq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> c, int fixed_point_position)</td></tr>
2673<tr class="memdesc:aed829745c42ecd74cfff15bc92936ba5"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#aed829745c42ecd74cfff15bc92936ba5">More...</a><br/></td></tr>
2674<tr class="separator:aed829745c42ecd74cfff15bc92936ba5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002675<tr class="memitem:a13873b51e98dcb41229ccf911e671693"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a13873b51e98dcb41229ccf911e671693">vmlal_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002676<tr class="memdesc:a13873b51e98dcb41229ccf911e671693"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector multiply-accumulate long (8 elements). <a href="#a13873b51e98dcb41229ccf911e671693">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002677<tr class="separator:a13873b51e98dcb41229ccf911e671693"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002678<tr class="memitem:ae236b9df08e568bb4b1dcc89896cff7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae236b9df08e568bb4b1dcc89896cff7e">vmlal_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
2679<tr class="memdesc:ae236b9df08e568bb4b1dcc89896cff7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector multiply-accumulate long (4 elements). <a href="#ae236b9df08e568bb4b1dcc89896cff7e">More...</a><br/></td></tr>
2680<tr class="separator:ae236b9df08e568bb4b1dcc89896cff7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002681<tr class="memitem:aedfa26202753ca9db96ae3bcb51b14b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aedfa26202753ca9db96ae3bcb51b14b0">vqmlal_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002682<tr class="memdesc:aedfa26202753ca9db96ae3bcb51b14b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate long (8 elements). <a href="#aedfa26202753ca9db96ae3bcb51b14b0">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002683<tr class="separator:aedfa26202753ca9db96ae3bcb51b14b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002684<tr class="memitem:a71633dedee7ccca61420733d9fd24fae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a71633dedee7ccca61420733d9fd24fae">vqmlal_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
2685<tr class="memdesc:a71633dedee7ccca61420733d9fd24fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate long (4 elements). <a href="#a71633dedee7ccca61420733d9fd24fae">More...</a><br/></td></tr>
2686<tr class="separator:a71633dedee7ccca61420733d9fd24fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
2687<tr class="memitem:a371a36182341de1fa885d16e8780302f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a371a36182341de1fa885d16e8780302f">vqcvt_qs8_f32</a> (const float32x4x2_t a, int fixed_point_position)</td></tr>
2688<tr class="memdesc:a371a36182341de1fa885d16e8780302f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4x2 elements to 8 bit fixed point vector with 8 elements. <a href="#a371a36182341de1fa885d16e8780302f">More...</a><br/></td></tr>
2689<tr class="separator:a371a36182341de1fa885d16e8780302f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2690<tr class="memitem:afbaee7c07c41b0138ee0f3aefecc6160"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afbaee7c07c41b0138ee0f3aefecc6160">vqcvt_qs16_f32</a> (const float32x4_t a, int fixed_point_position)</td></tr>
2691<tr class="memdesc:afbaee7c07c41b0138ee0f3aefecc6160"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4 elements to 16 bit fixed point vector with 4 elements. <a href="#afbaee7c07c41b0138ee0f3aefecc6160">More...</a><br/></td></tr>
2692<tr class="separator:afbaee7c07c41b0138ee0f3aefecc6160"><td class="memSeparator" colspan="2">&#160;</td></tr>
2693<tr class="memitem:ad7eb7d308bb87e94eb693bc13eda5adc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad7eb7d308bb87e94eb693bc13eda5adc">vqcvtq_qs8_f32</a> (const float32x4x4_t &amp;a, int fixed_point_position)</td></tr>
2694<tr class="memdesc:ad7eb7d308bb87e94eb693bc13eda5adc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. <a href="#ad7eb7d308bb87e94eb693bc13eda5adc">More...</a><br/></td></tr>
2695<tr class="separator:ad7eb7d308bb87e94eb693bc13eda5adc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2696<tr class="memitem:afe99b690ec0046061f66f699fa055b47"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afe99b690ec0046061f66f699fa055b47">vqcvtq_qs16_f32</a> (const float32x4x2_t &amp;a, int fixed_point_position)</td></tr>
2697<tr class="memdesc:afe99b690ec0046061f66f699fa055b47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. <a href="#afe99b690ec0046061f66f699fa055b47">More...</a><br/></td></tr>
2698<tr class="separator:afe99b690ec0046061f66f699fa055b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002699<tr class="memitem:a14a78befffd5c48b43554fdc28d654ff"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14a78befffd5c48b43554fdc28d654ff">vcvt_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002700<tr class="memdesc:a14a78befffd5c48b43554fdc28d654ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 8 bit fixed point vector with 8 elements to a float vector with 4x2 elements. <a href="#a14a78befffd5c48b43554fdc28d654ff">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002701<tr class="separator:a14a78befffd5c48b43554fdc28d654ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002702<tr class="memitem:a771203a3bf0d0df11dbf90f492525656"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a771203a3bf0d0df11dbf90f492525656">vcvt_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2703<tr class="memdesc:a771203a3bf0d0df11dbf90f492525656"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 16 bit fixed point vector with 4 elements to a float vector with 4 elements. <a href="#a771203a3bf0d0df11dbf90f492525656">More...</a><br/></td></tr>
2704<tr class="separator:a771203a3bf0d0df11dbf90f492525656"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002705<tr class="memitem:a19e68f6a298ae587a491df52d6859350"><td class="memItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19e68f6a298ae587a491df52d6859350">vcvtq_qs8_f32</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002706<tr class="memdesc:a19e68f6a298ae587a491df52d6859350"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 8 bit fixed point vector with 16 elements to a float vector with 4x4 elements. <a href="#a19e68f6a298ae587a491df52d6859350">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002707<tr class="separator:a19e68f6a298ae587a491df52d6859350"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002708<tr class="memitem:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a943abeff66faa34d1c2aeeab4ebfabdf">vcvtq_qs16_f32</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2709<tr class="memdesc:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a 16 bit fixed point vector with 8 elements to a float vector with 4x2 elements. <a href="#a943abeff66faa34d1c2aeeab4ebfabdf">More...</a><br/></td></tr>
2710<tr class="separator:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002711<tr class="memitem:aa24b270b0193ad8983dfecd6105c4936"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002712<tr class="memdesc:aa24b270b0193ad8983dfecd6105c4936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#aa24b270b0193ad8983dfecd6105c4936">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002713<tr class="separator:aa24b270b0193ad8983dfecd6105c4936"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002714<tr class="memitem:a8e14017f1276f4a4e14078d93ed692bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2715<tr class="memdesc:a8e14017f1276f4a4e14078d93ed692bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#a8e14017f1276f4a4e14078d93ed692bd">More...</a><br/></td></tr>
2716<tr class="separator:a8e14017f1276f4a4e14078d93ed692bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002717<tr class="memitem:abbeb1dc4834fb4e97cf94d702d0e0f91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002718<tr class="memdesc:abbeb1dc4834fb4e97cf94d702d0e0f91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#abbeb1dc4834fb4e97cf94d702d0e0f91">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002719<tr class="separator:abbeb1dc4834fb4e97cf94d702d0e0f91"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002720<tr class="memitem:aea1b943c0452ea124c9f8ac0d1315bed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">vrecipq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2721<tr class="memdesc:aea1b943c0452ea124c9f8ac0d1315bed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#aea1b943c0452ea124c9f8ac0d1315bed">More...</a><br/></td></tr>
2722<tr class="separator:aea1b943c0452ea124c9f8ac0d1315bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002723<tr class="memitem:aeab4c6963804a85c9ea6c319f4e95a0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeab4c6963804a85c9ea6c319f4e95a0b">vdiv_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int8x8_t b, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002724<tr class="memdesc:aeab4c6963804a85c9ea6c319f4e95a0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 8bit (8 elements) <a href="#aeab4c6963804a85c9ea6c319f4e95a0b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002725<tr class="separator:aeab4c6963804a85c9ea6c319f4e95a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002726<tr class="memitem:aa65479f6532283c215e398735d0b3c22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa65479f6532283c215e398735d0b3c22">vdiv_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
2727<tr class="memdesc:aa65479f6532283c215e398735d0b3c22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 16 bit (4 elements) <a href="#aa65479f6532283c215e398735d0b3c22">More...</a><br/></td></tr>
2728<tr class="separator:aa65479f6532283c215e398735d0b3c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
2729<tr class="memitem:ae589b6f4ada9d9cb81f70897d7991cd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae589b6f4ada9d9cb81f70897d7991cd1">vdivq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
2730<tr class="memdesc:ae589b6f4ada9d9cb81f70897d7991cd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 8bit (16 elements) <a href="#ae589b6f4ada9d9cb81f70897d7991cd1">More...</a><br/></td></tr>
2731<tr class="separator:ae589b6f4ada9d9cb81f70897d7991cd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2732<tr class="memitem:a2c21a21a9004609887c0a6f5304faa2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2c21a21a9004609887c0a6f5304faa2a">vdivq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
2733<tr class="memdesc:a2c21a21a9004609887c0a6f5304faa2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Division fixed point 16 bit (8 elements) <a href="#a2c21a21a9004609887c0a6f5304faa2a">More...</a><br/></td></tr>
2734<tr class="separator:a2c21a21a9004609887c0a6f5304faa2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002735<tr class="memitem:a91b74be928419cd95068ccc9c6f1cd83"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2736<tr class="memitem:a91b74be928419cd95068ccc9c6f1cd83"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a91b74be928419cd95068ccc9c6f1cd83">vtaylor_poly_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002737<tr class="memdesc:a91b74be928419cd95068ccc9c6f1cd83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a91b74be928419cd95068ccc9c6f1cd83">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002738<tr class="separator:a91b74be928419cd95068ccc9c6f1cd83"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002739<tr class="memitem:ab6470f57e0d7659ea7823f13bb89724f"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2740<tr class="memitem:ab6470f57e0d7659ea7823f13bb89724f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6470f57e0d7659ea7823f13bb89724f">vtaylor_poly_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2741<tr class="memdesc:ab6470f57e0d7659ea7823f13bb89724f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#ab6470f57e0d7659ea7823f13bb89724f">More...</a><br/></td></tr>
2742<tr class="separator:ab6470f57e0d7659ea7823f13bb89724f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002743<tr class="memitem:a9b9a80aab8862e344ef91591a0e6e199"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2744<tr class="memitem:a9b9a80aab8862e344ef91591a0e6e199"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9b9a80aab8862e344ef91591a0e6e199">vtaylor_polyq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002745<tr class="memdesc:a9b9a80aab8862e344ef91591a0e6e199"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a9b9a80aab8862e344ef91591a0e6e199">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002746<tr class="separator:a9b9a80aab8862e344ef91591a0e6e199"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002747<tr class="memitem:ac26478d3b59cae5c3efa4bf3819002fa"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2748<tr class="memitem:ac26478d3b59cae5c3efa4bf3819002fa"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac26478d3b59cae5c3efa4bf3819002fa">vtaylor_polyq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2749<tr class="memdesc:ac26478d3b59cae5c3efa4bf3819002fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#ac26478d3b59cae5c3efa4bf3819002fa">More...</a><br/></td></tr>
2750<tr class="separator:ac26478d3b59cae5c3efa4bf3819002fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002751<tr class="memitem:a635b41196d74b1f2c4d9ee9298444796"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a635b41196d74b1f2c4d9ee9298444796">vqexp_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002752<tr class="memdesc:a635b41196d74b1f2c4d9ee9298444796"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (8 elements) <a href="#a635b41196d74b1f2c4d9ee9298444796">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002753<tr class="separator:a635b41196d74b1f2c4d9ee9298444796"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002754<tr class="memitem:aa3c9489e850081532442f4da59515852"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3c9489e850081532442f4da59515852">vqexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2755<tr class="memdesc:aa3c9489e850081532442f4da59515852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (4 elements) <a href="#aa3c9489e850081532442f4da59515852">More...</a><br/></td></tr>
2756<tr class="separator:aa3c9489e850081532442f4da59515852"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002757<tr class="memitem:ae6cf1822b8fbad305677650a2b751247"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002758<tr class="memdesc:ae6cf1822b8fbad305677650a2b751247"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (16 elements) <a href="#ae6cf1822b8fbad305677650a2b751247">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002759<tr class="separator:ae6cf1822b8fbad305677650a2b751247"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002760<tr class="memitem:a5b5e085002cf5a69fb80e6991d0a4556"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2761<tr class="memdesc:a5b5e085002cf5a69fb80e6991d0a4556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (8 elements) <a href="#a5b5e085002cf5a69fb80e6991d0a4556">More...</a><br/></td></tr>
2762<tr class="separator:a5b5e085002cf5a69fb80e6991d0a4556"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002763<tr class="memitem:a475d617b2ee92ec39588e6d6e488471a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a475d617b2ee92ec39588e6d6e488471a">vlog_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002764<tr class="memdesc:a475d617b2ee92ec39588e6d6e488471a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 8 bit (8 elements) <a href="#a475d617b2ee92ec39588e6d6e488471a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002765<tr class="separator:a475d617b2ee92ec39588e6d6e488471a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002766<tr class="memitem:ad9e26d94cb0b929e30b88400cd5c60d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad9e26d94cb0b929e30b88400cd5c60d2">vlog_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2767<tr class="memdesc:ad9e26d94cb0b929e30b88400cd5c60d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16 bit (4 elements) <a href="#ad9e26d94cb0b929e30b88400cd5c60d2">More...</a><br/></td></tr>
2768<tr class="separator:ad9e26d94cb0b929e30b88400cd5c60d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002769<tr class="memitem:a340b9cd5ad88f1a821498c6fad80e82c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">vlogq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002770<tr class="memdesc:a340b9cd5ad88f1a821498c6fad80e82c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16bit (16 elements) <a href="#a340b9cd5ad88f1a821498c6fad80e82c">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002771<tr class="separator:a340b9cd5ad88f1a821498c6fad80e82c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002772<tr class="memitem:a756ac701185cfc4924443db164fd65ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a756ac701185cfc4924443db164fd65ae">vlogq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2773<tr class="memdesc:a756ac701185cfc4924443db164fd65ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm fixed point 16 bit (8 elements) <a href="#a756ac701185cfc4924443db164fd65ae">More...</a><br/></td></tr>
2774<tr class="separator:a756ac701185cfc4924443db164fd65ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002775<tr class="memitem:ab7fbbbe8d980de582a73b5546b303b1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab7fbbbe8d980de582a73b5546b303b1f">vinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002776<tr class="memdesc:ab7fbbbe8d980de582a73b5546b303b1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#ab7fbbbe8d980de582a73b5546b303b1f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002777<tr class="separator:ab7fbbbe8d980de582a73b5546b303b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002778<tr class="memitem:aed1eb26d2b6435ae9dba79558611b415"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aed1eb26d2b6435ae9dba79558611b415">vinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2779<tr class="memdesc:aed1eb26d2b6435ae9dba79558611b415"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) <a href="#aed1eb26d2b6435ae9dba79558611b415">More...</a><br/></td></tr>
2780<tr class="separator:aed1eb26d2b6435ae9dba79558611b415"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002781<tr class="memitem:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5ddc3dc4b4ee6847fd96c6a8599e20e4">vqinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002782<tr class="memdesc:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#a5ddc3dc4b4ee6847fd96c6a8599e20e4">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002783<tr class="separator:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002784<tr class="memitem:a23041b440c544f24afd9b1e79a6d77df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a23041b440c544f24afd9b1e79a6d77df">vqinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2785<tr class="memdesc:a23041b440c544f24afd9b1e79a6d77df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) <a href="#a23041b440c544f24afd9b1e79a6d77df">More...</a><br/></td></tr>
2786<tr class="separator:a23041b440c544f24afd9b1e79a6d77df"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002787<tr class="memitem:a4be9120d5c04e6aab0831095acd24534"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4be9120d5c04e6aab0831095acd24534">vinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002788<tr class="memdesc:a4be9120d5c04e6aab0831095acd24534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) <a href="#a4be9120d5c04e6aab0831095acd24534">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002789<tr class="separator:a4be9120d5c04e6aab0831095acd24534"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002790<tr class="memitem:a7ddffc87df07ac9782f4e498865c66d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7ddffc87df07ac9782f4e498865c66d4">vinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2791<tr class="memdesc:a7ddffc87df07ac9782f4e498865c66d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#a7ddffc87df07ac9782f4e498865c66d4">More...</a><br/></td></tr>
2792<tr class="separator:a7ddffc87df07ac9782f4e498865c66d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002793<tr class="memitem:ad5d5110467053814882fb616c6cb855b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad5d5110467053814882fb616c6cb855b">vqinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002794<tr class="memdesc:ad5d5110467053814882fb616c6cb855b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) <a href="#ad5d5110467053814882fb616c6cb855b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002795<tr class="separator:ad5d5110467053814882fb616c6cb855b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002796<tr class="memitem:a74613d11a6b769ddcdd28d80fb8d74a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74613d11a6b769ddcdd28d80fb8d74a8">vqinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2797<tr class="memdesc:a74613d11a6b769ddcdd28d80fb8d74a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (8 elements) <a href="#a74613d11a6b769ddcdd28d80fb8d74a8">More...</a><br/></td></tr>
2798<tr class="separator:a74613d11a6b769ddcdd28d80fb8d74a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2799<tr class="memitem:a2b97d40b6d61e8453d755711fed30a38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2b97d40b6d61e8453d755711fed30a38">vqtanh_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
2800<tr class="memdesc:a2b97d40b6d61e8453d755711fed30a38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (8 elements) <a href="#a2b97d40b6d61e8453d755711fed30a38">More...</a><br/></td></tr>
2801<tr class="separator:a2b97d40b6d61e8453d755711fed30a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
2802<tr class="memitem:a81b5a6029b604d0a1daf4d4ac63a56c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a81b5a6029b604d0a1daf4d4ac63a56c8">vqtanh_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2803<tr class="memdesc:a81b5a6029b604d0a1daf4d4ac63a56c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16 bit (4 elements) <a href="#a81b5a6029b604d0a1daf4d4ac63a56c8">More...</a><br/></td></tr>
2804<tr class="separator:a81b5a6029b604d0a1daf4d4ac63a56c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2805<tr class="memitem:a81ea8bde4e35ce63e8e10708bae0caea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a81ea8bde4e35ce63e8e10708bae0caea">vqtanhq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
2806<tr class="memdesc:a81ea8bde4e35ce63e8e10708bae0caea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (16 elements) <a href="#a81ea8bde4e35ce63e8e10708bae0caea">More...</a><br/></td></tr>
2807<tr class="separator:a81ea8bde4e35ce63e8e10708bae0caea"><td class="memSeparator" colspan="2">&#160;</td></tr>
2808<tr class="memitem:ab9f9b779eb9bb6ecb730548a1e87da65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab9f9b779eb9bb6ecb730548a1e87da65">vqtanhq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2809<tr class="memdesc:ab9f9b779eb9bb6ecb730548a1e87da65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16bit (8 elements) <a href="#ab9f9b779eb9bb6ecb730548a1e87da65">More...</a><br/></td></tr>
2810<tr class="separator:ab9f9b779eb9bb6ecb730548a1e87da65"><td class="memSeparator" colspan="2">&#160;</td></tr>
2811<tr class="memitem:aa0061a2146587eea4a393ff14232d8fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa0061a2146587eea4a393ff14232d8fe">vqpowq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
2812<tr class="memdesc:aa0061a2146587eea4a393ff14232d8fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating n power for fixed point 8bit (16 elements). <a href="#aa0061a2146587eea4a393ff14232d8fe">More...</a><br/></td></tr>
2813<tr class="separator:aa0061a2146587eea4a393ff14232d8fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
2814<tr class="memitem:ad705110ee89e7d32c319671b9b92e0ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad705110ee89e7d32c319671b9b92e0ba">vqpowq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
2815<tr class="memdesc:ad705110ee89e7d32c319671b9b92e0ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate saturating n power for fixed point 16bit (8 elements). <a href="#ad705110ee89e7d32c319671b9b92e0ba">More...</a><br/></td></tr>
2816<tr class="separator:ad705110ee89e7d32c319671b9b92e0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
2817<tr class="memitem:a4e6c2516e84e006167b046690d9a0c84"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e6c2516e84e006167b046690d9a0c84">vmax2q_f32</a> (float32x4x2_t a, float32x4x2_t b)</td></tr>
2818<tr class="memdesc:a4e6c2516e84e006167b046690d9a0c84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. <a href="#a4e6c2516e84e006167b046690d9a0c84">More...</a><br/></td></tr>
2819<tr class="separator:a4e6c2516e84e006167b046690d9a0c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
2820<tr class="memitem:a1c9f2b26b64fd697fa1b22450521876d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c9f2b26b64fd697fa1b22450521876d">vld2q_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
2821<tr class="separator:a1c9f2b26b64fd697fa1b22450521876d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002822<tr class="memitem:aa9a56a13e02fa346fcbe59257b2cef74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa9a56a13e02fa346fcbe59257b2cef74">vqmovn_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
2823<tr class="separator:aa9a56a13e02fa346fcbe59257b2cef74"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002824<tr class="memitem:acd99794ca54cbddbb4bda5d78d0caea7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acd99794ca54cbddbb4bda5d78d0caea7">vqmovn_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a)</td></tr>
2825<tr class="separator:acd99794ca54cbddbb4bda5d78d0caea7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002826<tr class="memitem:aed2fc8d1b9642b7625379a930ef4914a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
2827<tr class="separator:aed2fc8d1b9642b7625379a930ef4914a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002828<tr class="memitem:ada6db431017d7911b0647cfb7a8711de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ada6db431017d7911b0647cfb7a8711de">vdupq_n_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a)</td></tr>
2829<tr class="separator:ada6db431017d7911b0647cfb7a8711de"><td class="memSeparator" colspan="2">&#160;</td></tr>
2830<tr class="memitem:af4ce9287cfb7aef16f79a3152c3f3bbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4ce9287cfb7aef16f79a3152c3f3bbd">vqadd_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> a, <a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> b)</td></tr>
2831<tr class="separator:af4ce9287cfb7aef16f79a3152c3f3bbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
2832<tr class="memitem:a4158859b4b6af057b01b2c2d745d66b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4158859b4b6af057b01b2c2d745d66b2">vqaddq_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> b)</td></tr>
2833<tr class="separator:a4158859b4b6af057b01b2c2d745d66b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2834<tr class="memitem:abc68ac054570316bfd48d4c4c84c3b0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abc68ac054570316bfd48d4c4c84c3b0e">vqcvt_qs8_f32</a> (const float32x4x2_t &amp;a, int fixed_point_position)</td></tr>
2835<tr class="separator:abc68ac054570316bfd48d4c4c84c3b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002836<tr class="memitem:ac18aedae4207e681f6f833281d2395a0"><td class="memItemLeft" align="right" valign="top">float32x4x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac18aedae4207e681f6f833281d2395a0">vcvtq_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
2837<tr class="separator:ac18aedae4207e681f6f833281d2395a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002838<tr class="memitem:a81653ad507d968c3f760564c7949a86e"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a81653ad507d968c3f760564c7949a86e">vcvtq_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2839<tr class="separator:a81653ad507d968c3f760564c7949a86e"><td class="memSeparator" colspan="2">&#160;</td></tr>
2840<tr class="memitem:a3e6537037711264ed5e8f33c8564c325"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e6537037711264ed5e8f33c8564c325">vqrecip_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
2841<tr class="separator:a3e6537037711264ed5e8f33c8564c325"><td class="memSeparator" colspan="2">&#160;</td></tr>
2842<tr class="memitem:ada5b8019889d6b38b3cb64ccdd3731ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ada5b8019889d6b38b3cb64ccdd3731ca">vqrecip_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2843<tr class="separator:ada5b8019889d6b38b3cb64ccdd3731ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002844<tr class="memitem:a3dd4382391c752128ab7b3a6dd68314b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3dd4382391c752128ab7b3a6dd68314b">vqrecipq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
2845<tr class="separator:a3dd4382391c752128ab7b3a6dd68314b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002846<tr class="memitem:a6a368d809128ff6bce989cda02c536d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2847<tr class="separator:a6a368d809128ff6bce989cda02c536d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
2848<tr class="memitem:a3de0bc67f9a2ef3bcfe922e50c3b5ec9"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2849<tr class="memitem:a3de0bc67f9a2ef3bcfe922e50c3b5ec9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3de0bc67f9a2ef3bcfe922e50c3b5ec9">vqtaylor_poly_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
2850<tr class="separator:a3de0bc67f9a2ef3bcfe922e50c3b5ec9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2851<tr class="memitem:af39bcc812b6e450e92622e0f30b37d92"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2852<tr class="memitem:af39bcc812b6e450e92622e0f30b37d92"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af39bcc812b6e450e92622e0f30b37d92">vqtaylor_poly_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
2853<tr class="separator:af39bcc812b6e450e92622e0f30b37d92"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002854<tr class="memitem:aa754195778af2be8fd3c48192eb1e5b6"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2855<tr class="memitem:aa754195778af2be8fd3c48192eb1e5b6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa754195778af2be8fd3c48192eb1e5b6">vqtaylor_polyq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
2856<tr class="separator:aa754195778af2be8fd3c48192eb1e5b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002857<tr class="memitem:a080bc54b67bc7930ab173117baf1cd07"><td class="memTemplParams" colspan="2">template&lt;bool islog&gt; </td></tr>
2858<tr class="memitem:a080bc54b67bc7930ab173117baf1cd07"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a080bc54b67bc7930ab173117baf1cd07">vqtaylor_polyq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
2859<tr class="separator:a080bc54b67bc7930ab173117baf1cd07"><td class="memSeparator" colspan="2">&#160;</td></tr>
2860<tr class="memitem:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adb7ad6f2d80bafc0a8fb0c920909b9fb">vfloorq_f32</a> (float32x4_t val)</td></tr>
2861<tr class="memdesc:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate floor of a vector. <a href="#adb7ad6f2d80bafc0a8fb0c920909b9fb">More...</a><br/></td></tr>
2862<tr class="separator:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
2863<tr class="memitem:a902d274ff1dbe2052b0f2364a98d2b41"><td class="memItemLeft" align="right" valign="top">float32x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a902d274ff1dbe2052b0f2364a98d2b41">vinvsqrt_f32</a> (float32x2_t x)</td></tr>
2864<tr class="memdesc:a902d274ff1dbe2052b0f2364a98d2b41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#a902d274ff1dbe2052b0f2364a98d2b41">More...</a><br/></td></tr>
2865<tr class="separator:a902d274ff1dbe2052b0f2364a98d2b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002866<tr class="memitem:a2e27db6b9692c4c2013653e276af654d"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2e27db6b9692c4c2013653e276af654d">vinvsqrtq_f32</a> (float32x4_t x)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002867<tr class="memdesc:a2e27db6b9692c4c2013653e276af654d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#a2e27db6b9692c4c2013653e276af654d">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002868<tr class="separator:a2e27db6b9692c4c2013653e276af654d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002869<tr class="memitem:a7bb067c606cdc07805181688b9bee569"><td class="memItemLeft" align="right" valign="top">float32x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7bb067c606cdc07805181688b9bee569">vinv_f32</a> (float32x2_t x)</td></tr>
2870<tr class="memdesc:a7bb067c606cdc07805181688b9bee569"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#a7bb067c606cdc07805181688b9bee569">More...</a><br/></td></tr>
2871<tr class="separator:a7bb067c606cdc07805181688b9bee569"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002872<tr class="memitem:ac8f459d5899b79c00fb4042a5b3470fb"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">vinvq_f32</a> (float32x4_t x)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002873<tr class="memdesc:ac8f459d5899b79c00fb4042a5b3470fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#ac8f459d5899b79c00fb4042a5b3470fb">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002874<tr class="separator:ac8f459d5899b79c00fb4042a5b3470fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
2875<tr class="memitem:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a> (float32x4_t x, const std::array&lt; float32x4_t, 8 &gt; &amp;coeffs)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002876<tr class="memdesc:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 7th degree polynomial approximation using Estrin's method. <a href="#a4fa76a98dce5ed1b655ff840f2ce6e57">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002877<tr class="separator:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="memSeparator" colspan="2">&#160;</td></tr>
2878<tr class="memitem:ade3ef16de304661943c900ac9a47d28f"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a> (float32x4_t x)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002879<tr class="memdesc:ade3ef16de304661943c900ac9a47d28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate exponential. <a href="#ade3ef16de304661943c900ac9a47d28f">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002880<tr class="separator:ade3ef16de304661943c900ac9a47d28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2881<tr class="memitem:a37a3e03a22ad160a2e9e5c133607e020"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">vlogq_f32</a> (float32x4_t x)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002882<tr class="memdesc:a37a3e03a22ad160a2e9e5c133607e020"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm. <a href="#a37a3e03a22ad160a2e9e5c133607e020">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002883<tr class="separator:a37a3e03a22ad160a2e9e5c133607e020"><td class="memSeparator" colspan="2">&#160;</td></tr>
2884<tr class="memitem:a7845701adefdb1adafc98ca3c4918c2e"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7845701adefdb1adafc98ca3c4918c2e">vtanhq_f32</a> (float32x4_t val)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002885<tr class="memdesc:a7845701adefdb1adafc98ca3c4918c2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a7845701adefdb1adafc98ca3c4918c2e">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002886<tr class="separator:a7845701adefdb1adafc98ca3c4918c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
2887<tr class="memitem:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45c3c1474c3e3ec31ec13efaf6acd261">vpowq_f32</a> (float32x4_t val, float32x4_t n)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002888<tr class="memdesc:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate n power of a number. <a href="#a45c3c1474c3e3ec31ec13efaf6acd261">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002889<tr class="separator:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002890<tr class="memitem:a841e85dc31bee3fa3f1855eabf895325"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a841e85dc31bee3fa3f1855eabf895325">vtanhq_f16</a> (float16x8_t val)</td></tr>
2891<tr class="memdesc:a841e85dc31bee3fa3f1855eabf895325"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a841e85dc31bee3fa3f1855eabf895325">More...</a><br/></td></tr>
2892<tr class="separator:a841e85dc31bee3fa3f1855eabf895325"><td class="memSeparator" colspan="2">&#160;</td></tr>
2893<tr class="memitem:aba029f555d1868e560b8a278bdf87341"><td class="memItemLeft" align="right" valign="top">float16x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba029f555d1868e560b8a278bdf87341">vinv_f16</a> (float16x4_t x)</td></tr>
2894<tr class="memdesc:aba029f555d1868e560b8a278bdf87341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#aba029f555d1868e560b8a278bdf87341">More...</a><br/></td></tr>
2895<tr class="separator:aba029f555d1868e560b8a278bdf87341"><td class="memSeparator" colspan="2">&#160;</td></tr>
2896<tr class="memitem:a5ccd23ffe952767d73334cabcdbff246"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5ccd23ffe952767d73334cabcdbff246">vinvq_f16</a> (float16x8_t x)</td></tr>
2897<tr class="memdesc:a5ccd23ffe952767d73334cabcdbff246"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#a5ccd23ffe952767d73334cabcdbff246">More...</a><br/></td></tr>
2898<tr class="separator:a5ccd23ffe952767d73334cabcdbff246"><td class="memSeparator" colspan="2">&#160;</td></tr>
2899<tr class="memitem:ab74b7f62070607d8dfb02364664d7867"><td class="memItemLeft" align="right" valign="top">float16x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab74b7f62070607d8dfb02364664d7867">vinvsqrt_f16</a> (float16x4_t x)</td></tr>
2900<tr class="memdesc:ab74b7f62070607d8dfb02364664d7867"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#ab74b7f62070607d8dfb02364664d7867">More...</a><br/></td></tr>
2901<tr class="separator:ab74b7f62070607d8dfb02364664d7867"><td class="memSeparator" colspan="2">&#160;</td></tr>
2902<tr class="memitem:a78ef1abe4de2152c366a40f638f7fb91"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a78ef1abe4de2152c366a40f638f7fb91">vinvsqrtq_f16</a> (float16x8_t x)</td></tr>
2903<tr class="memdesc:a78ef1abe4de2152c366a40f638f7fb91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#a78ef1abe4de2152c366a40f638f7fb91">More...</a><br/></td></tr>
2904<tr class="separator:a78ef1abe4de2152c366a40f638f7fb91"><td class="memSeparator" colspan="2">&#160;</td></tr>
2905<tr class="memitem:a829992d2c673006879696821024df5b7"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">vexpq_f16</a> (float16x8_t x)</td></tr>
2906<tr class="memdesc:a829992d2c673006879696821024df5b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate exponential. <a href="#a829992d2c673006879696821024df5b7">More...</a><br/></td></tr>
2907<tr class="separator:a829992d2c673006879696821024df5b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2908<tr class="memitem:a0b601c13358a452569202d3fb718963d"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b601c13358a452569202d3fb718963d">vpowq_f16</a> (float16x8_t val, float16x8_t n)</td></tr>
2909<tr class="memdesc:a0b601c13358a452569202d3fb718963d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate n power of a number. <a href="#a0b601c13358a452569202d3fb718963d">More...</a><br/></td></tr>
2910<tr class="separator:a0b601c13358a452569202d3fb718963d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2911<tr class="memitem:afaad64bc527ee67d3374b67610a34a13"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">vtaylor_polyq_f16</a> (float16x8_t x, const std::array&lt; float16x8_t, 8 &gt; &amp;coeffs)</td></tr>
2912<tr class="separator:afaad64bc527ee67d3374b67610a34a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
2913<tr class="memitem:a38bedb9142df17a66ff1b90974f19512"><td class="memItemLeft" align="right" valign="top">float16x8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a38bedb9142df17a66ff1b90974f19512">vlogq_f16</a> (float16x8_t x)</td></tr>
2914<tr class="separator:a38bedb9142df17a66ff1b90974f19512"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002915<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002916<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf0c6059174045f80af46a0f1fb57bc6">ceil_to_multiple</a> (S <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T divisor) -&gt; decltype(((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>+divisor-1)/divisor)*divisor)</td></tr>
2917<tr class="memdesc:adf0c6059174045f80af46a0f1fb57bc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the smallest number larger or equal to value that is a multiple of divisor. <a href="#adf0c6059174045f80af46a0f1fb57bc6">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002918<tr class="separator:adf0c6059174045f80af46a0f1fb57bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2919<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002920<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6959e681668a37a9242d2aae4e8b4375">floor_to_multiple</a> (S <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T divisor) -&gt; decltype((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>/divisor)*divisor)</td></tr>
2921<tr class="memdesc:a6959e681668a37a9242d2aae4e8b4375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the largest number smaller or equal to value that is a multiple of divisor. <a href="#a6959e681668a37a9242d2aae4e8b4375">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002922<tr class="separator:a6959e681668a37a9242d2aae4e8b4375"><td class="memSeparator" colspan="2">&#160;</td></tr>
2923<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
2924<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplItemLeft" align="right" valign="top">constexpr auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">DIV_CEIL</a> (S val, T m) -&gt; decltype((val+m-1)/m)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002925<tr class="memdesc:a12705a88669cb9fb90451ebe0db53c41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the rounded up quotient of val / m. <a href="#a12705a88669cb9fb90451ebe0db53c41">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002926<tr class="separator:a12705a88669cb9fb90451ebe0db53c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
2927<tr class="memitem:a64c17a5a42d2499a1626222ff9753b4d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information</a> ()</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002928<tr class="memdesc:a64c17a5a42d2499a1626222ff9753b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information. <a href="#a64c17a5a42d2499a1626222ff9753b4d">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002929<tr class="separator:a64c17a5a42d2499a1626222ff9753b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2930<tr class="memitem:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file</a> (const std::string &amp;filename, bool binary)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002931<tr class="memdesc:aefa4a4d3136d77b85cccfce344f9f37f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load an entire file in memory. <a href="#aefa4a4d3136d77b85cccfce344f9f37f">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002932<tr class="separator:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002933<tr class="memitem:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abb7e0f23a4f2e63f39433f158dad47ab">data_size_from_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002934<tr class="memdesc:abb7e0f23a4f2e63f39433f158dad47ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the data type. <a href="#abb7e0f23a4f2e63f39433f158dad47ab">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002935<tr class="separator:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
2936<tr class="memitem:a4823543d67a2520c98669e2a5608ef6a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4823543d67a2520c98669e2a5608ef6a">pixel_size_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002937<tr class="memdesc:a4823543d67a2520c98669e2a5608ef6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the pixel format. <a href="#a4823543d67a2520c98669e2a5608ef6a">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002938<tr class="separator:a4823543d67a2520c98669e2a5608ef6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2939<tr class="memitem:a34b06c0cd94808a77b697e79880b84b0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">element_size_from_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002940<tr class="memdesc:a34b06c0cd94808a77b697e79880b84b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the data type. <a href="#a34b06c0cd94808a77b697e79880b84b0">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002941<tr class="separator:a34b06c0cd94808a77b697e79880b84b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2942<tr class="memitem:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a59846ef5ca75cd81cdb7e8a1ce08f9db">data_type_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002943<tr class="memdesc:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the data type used by a given single-planar pixel format. <a href="#a59846ef5ca75cd81cdb7e8a1ce08f9db">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002944<tr class="separator:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
2945<tr class="memitem:a4f6fe18760340bcec02d095b7099e923"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4f6fe18760340bcec02d095b7099e923">plane_idx_from_channel</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002946<tr class="memdesc:a4f6fe18760340bcec02d095b7099e923"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the plane index of a given channel given an input format. <a href="#a4f6fe18760340bcec02d095b7099e923">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002947<tr class="separator:a4f6fe18760340bcec02d095b7099e923"><td class="memSeparator" colspan="2">&#160;</td></tr>
2948<tr class="memitem:a2a71659def659c8b1c164023a99a25a9"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2a71659def659c8b1c164023a99a25a9">num_planes_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002949<tr class="memdesc:a2a71659def659c8b1c164023a99a25a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of planes for a given format. <a href="#a2a71659def659c8b1c164023a99a25a9">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002950<tr class="separator:a2a71659def659c8b1c164023a99a25a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2951<tr class="memitem:ab14153fb809c18823af3c9c8bc4286cb"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab14153fb809c18823af3c9c8bc4286cb">num_channels_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002952<tr class="memdesc:ab14153fb809c18823af3c9c8bc4286cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of channels for a given single-planar pixel format. <a href="#ab14153fb809c18823af3c9c8bc4286cb">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002953<tr class="separator:ab14153fb809c18823af3c9c8bc4286cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002954<tr class="memitem:a18ec57dffc5c26864be77318111dfb2a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18ec57dffc5c26864be77318111dfb2a">separate_matrix</a> (const int16_t *conv, int16_t *conv_col, int16_t *conv_row, uint8_t <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
2955<tr class="memdesc:a18ec57dffc5c26864be77318111dfb2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Separate a 2D convolution into two 1D convolutions. <a href="#a18ec57dffc5c26864be77318111dfb2a">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002956<tr class="separator:a18ec57dffc5c26864be77318111dfb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2957<tr class="memitem:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0101a40c4a6acc2af3b55afa7632f16a">calculate_matrix_scale</a> (const int16_t *matrix, unsigned int matrix_size)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002958<tr class="memdesc:a0101a40c4a6acc2af3b55afa7632f16a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the scale of the given square matrix. <a href="#a0101a40c4a6acc2af3b55afa7632f16a">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002959<tr class="separator:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01002960<tr class="memitem:a075313545533c34978309ed57d18333f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2961<tr class="memitem:a075313545533c34978309ed57d18333f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a075313545533c34978309ed57d18333f">calculate_depth_concatenate_shape</a> (const std::vector&lt; T * &gt; &amp;inputs_vector)</td></tr>
2962<tr class="memdesc:a075313545533c34978309ed57d18333f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the output shapes of the depth concatenate function. <a href="#a075313545533c34978309ed57d18333f">More...</a><br/></td></tr>
2963<tr class="separator:a075313545533c34978309ed57d18333f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002964<tr class="memitem:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01adc12d8e07c06cdb0f03c56a455bf3">data_type_for_convolution</a> (const int16_t *conv_col, const int16_t *conv_row, size_t <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
2965<tr class="memdesc:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate accurary required by the horizontal and vertical convolution computations. <a href="#a01adc12d8e07c06cdb0f03c56a455bf3">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002966<tr class="separator:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002967<tr class="memitem:a3992df9e8723140a53e49dc194d89ef5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3992df9e8723140a53e49dc194d89ef5">data_type_for_convolution_matrix</a> (const int16_t *conv, size_t <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
2968<tr class="memdesc:a3992df9e8723140a53e49dc194d89ef5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the accuracy required by the squared convolution calculation. <a href="#a3992df9e8723140a53e49dc194d89ef5">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002969<tr class="separator:a3992df9e8723140a53e49dc194d89ef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002970<tr class="memitem:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="memItemLeft" align="right" valign="top">const std::pair&lt; unsigned int, <br class="typebreak"/>
2971unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3d3d8bf7b86db4d7d4ebfe5b332f41b3">scaled_dimensions</a> (unsigned int width, unsigned int height, unsigned int kernel_width, unsigned int kernel_height, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;pad_stride_info)</td></tr>
2972<tr class="memdesc:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected width and height of output scaled tensor depending on dimensions rounding mode. <a href="#a3d3d8bf7b86db4d7d4ebfe5b332f41b3">More...</a><br/></td></tr>
2973<tr class="separator:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002974<tr class="memitem:a9c92c867fc64454545668d87b20979eb"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002975<tr class="memdesc:a9c92c867fc64454545668d87b20979eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a tensor format into a string. <a href="#a9c92c867fc64454545668d87b20979eb">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002976<tr class="separator:a9c92c867fc64454545668d87b20979eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
2977<tr class="memitem:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a106c203dd6af234d38452ea0ee7b2ddc">string_from_channel</a> (<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002978<tr class="memdesc:a106c203dd6af234d38452ea0ee7b2ddc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a channel identity into a string. <a href="#a106c203dd6af234d38452ea0ee7b2ddc">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002979<tr class="separator:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2980<tr class="memitem:aefa1d9648995e5eccc693c690e27aa88"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002981<tr class="memdesc:aefa1d9648995e5eccc693c690e27aa88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a data type identity into a string. <a href="#aefa1d9648995e5eccc693c690e27aa88">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002982<tr class="separator:aefa1d9648995e5eccc693c690e27aa88"><td class="memSeparator" colspan="2">&#160;</td></tr>
2983<tr class="memitem:a018795ab2489d17309e158ff5c060ab1"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a018795ab2489d17309e158ff5c060ab1">string_from_matrix_pattern</a> (<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> pattern)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002984<tr class="memdesc:a018795ab2489d17309e158ff5c060ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a matrix pattern into a string. <a href="#a018795ab2489d17309e158ff5c060ab1">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002985<tr class="separator:a018795ab2489d17309e158ff5c060ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2986<tr class="memitem:ac955c978e18cc9bf6daea31f13076fba"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac955c978e18cc9bf6daea31f13076fba">string_from_activation_func</a> (<a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> act)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002987<tr class="memdesc:ac955c978e18cc9bf6daea31f13076fba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given activation function to a string. <a href="#ac955c978e18cc9bf6daea31f13076fba">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002988<tr class="separator:ac955c978e18cc9bf6daea31f13076fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
2989<tr class="memitem:a14831547f57ecf5f0deef888ad41ad30"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14831547f57ecf5f0deef888ad41ad30">string_from_non_linear_filter_function</a> (<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> function)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002990<tr class="memdesc:a14831547f57ecf5f0deef888ad41ad30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given non linear function to a string. <a href="#a14831547f57ecf5f0deef888ad41ad30">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002991<tr class="separator:a14831547f57ecf5f0deef888ad41ad30"><td class="memSeparator" colspan="2">&#160;</td></tr>
2992<tr class="memitem:ade34f5e72f050fd3665f3294dfb15850"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade34f5e72f050fd3665f3294dfb15850">string_from_interpolation_policy</a> (<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> policy)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002993<tr class="memdesc:ade34f5e72f050fd3665f3294dfb15850"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given interpolation policy to a string. <a href="#ade34f5e72f050fd3665f3294dfb15850">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002994<tr class="separator:ade34f5e72f050fd3665f3294dfb15850"><td class="memSeparator" colspan="2">&#160;</td></tr>
2995<tr class="memitem:abd15add5c6c7de5c8205ce236875aadd"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd15add5c6c7de5c8205ce236875aadd">string_from_border_mode</a> (<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> border_mode)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002996<tr class="memdesc:abd15add5c6c7de5c8205ce236875aadd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given border mode policy to a string. <a href="#abd15add5c6c7de5c8205ce236875aadd">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002997<tr class="separator:abd15add5c6c7de5c8205ce236875aadd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002998<tr class="memitem:afb5698af5404d5d11e3516c87b6e7041"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afb5698af5404d5d11e3516c87b6e7041">string_from_norm_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> type)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002999<tr class="memdesc:afb5698af5404d5d11e3516c87b6e7041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given normalization type to a string. <a href="#afb5698af5404d5d11e3516c87b6e7041">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003000<tr class="separator:afb5698af5404d5d11e3516c87b6e7041"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003001<tr class="memitem:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a84a03e85d2c40bf54ec8cdd5e3715c58">string_from_pooling_type</a> (<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> type)</td></tr>
3002<tr class="memdesc:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given pooling type to a string. <a href="#a84a03e85d2c40bf54ec8cdd5e3715c58">More...</a><br/></td></tr>
3003<tr class="separator:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003004<tr class="memitem:a532fb45c0261724a4c2e755cfd3a44e6"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a532fb45c0261724a4c2e755cfd3a44e6">lower_string</a> (const std::string &amp;val)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003005<tr class="memdesc:a532fb45c0261724a4c2e755cfd3a44e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower a given string. <a href="#a532fb45c0261724a4c2e755cfd3a44e6">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003006<tr class="separator:a532fb45c0261724a4c2e755cfd3a44e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003007<tr class="memitem:af5982a092e9eb743fce2d6392bdd8897"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af5982a092e9eb743fce2d6392bdd8897">is_data_type_float</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003008<tr class="memdesc:af5982a092e9eb743fce2d6392bdd8897"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a given data type is of floating point type. <a href="#af5982a092e9eb743fce2d6392bdd8897">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003009<tr class="separator:af5982a092e9eb743fce2d6392bdd8897"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003010<tr class="memitem:ab6bb62694ae8369d18a9c9687040975e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6bb62694ae8369d18a9c9687040975e">is_data_type_fixed_point</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003011<tr class="memdesc:ab6bb62694ae8369d18a9c9687040975e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a given data type is of fixed point type. <a href="#ab6bb62694ae8369d18a9c9687040975e">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003012<tr class="separator:ab6bb62694ae8369d18a9c9687040975e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003013<tr class="memitem:a9cd394c15b73f79ca1d98f5328064be2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">float_to_string_with_full_precision</a> (float val)</td></tr>
3014<tr class="memdesc:a9cd394c15b73f79ca1d98f5328064be2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a string with the float in full precision. <a href="#a9cd394c15b73f79ca1d98f5328064be2">More...</a><br/></td></tr>
3015<tr class="separator:a9cd394c15b73f79ca1d98f5328064be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003016<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3017<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3a28b8acd21301990e06377c64e1276">print_consecutive_elements_impl</a> (std::ostream &amp;s, const T *ptr, unsigned int n, int stream_width=0, const std::string &amp;element_delim=&quot; &quot;)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003018<tr class="memdesc:aa3a28b8acd21301990e06377c64e1276"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#aa3a28b8acd21301990e06377c64e1276">More...</a><br/></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003019<tr class="separator:aa3a28b8acd21301990e06377c64e1276"><td class="memSeparator" colspan="2">&#160;</td></tr>
3020<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3021<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaecee617b967dd96f27d2f36732fb68e">max_consecutive_elements_display_width_impl</a> (std::ostream &amp;s, const T *ptr, unsigned int n)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003022<tr class="memdesc:aaecee617b967dd96f27d2f36732fb68e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#aaecee617b967dd96f27d2f36732fb68e">More...</a><br/></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003023<tr class="separator:aaecee617b967dd96f27d2f36732fb68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3024<tr class="memitem:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51a0d2ae440bc8cab3fbbe84bfea8b1d">print_consecutive_elements</a> (std::ostream &amp;s, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, const uint8_t *ptr, unsigned int n, int stream_width, const std::string &amp;element_delim=&quot; &quot;)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003025<tr class="memdesc:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#a51a0d2ae440bc8cab3fbbe84bfea8b1d">More...</a><br/></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003026<tr class="separator:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3027<tr class="memitem:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac3f2de3a35ff8d9a47b5b793637784e7">max_consecutive_elements_display_width</a> (std::ostream &amp;s, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, const uint8_t *ptr, unsigned int n)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003028<tr class="memdesc:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#ac3f2de3a35ff8d9a47b5b793637784e7">More...</a><br/></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003029<tr class="separator:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003030<tr class="memitem:a078507835115009a81ee2974d6073bb9"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3031<tr class="memitem:a078507835115009a81ee2974d6073bb9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a078507835115009a81ee2974d6073bb9">error_on_nullptr</a> (const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003032<tr class="memdesc:a078507835115009a81ee2974d6073bb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if one of the pointers is a nullptr. <a href="#a078507835115009a81ee2974d6073bb9">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003033<tr class="separator:a078507835115009a81ee2974d6073bb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003034<tr class="memitem:a26a9847c05c48bd1470f22f898ee254d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a26a9847c05c48bd1470f22f898ee254d">error_on_mismatching_windows</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003035<tr class="memdesc:a26a9847c05c48bd1470f22f898ee254d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed window is invalid. <a href="#a26a9847c05c48bd1470f22f898ee254d">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003036<tr class="separator:a26a9847c05c48bd1470f22f898ee254d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3037<tr class="memitem:a0916477887763c20822b43be144963eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0916477887763c20822b43be144963eb">error_on_invalid_subwindow</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;sub)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003038<tr class="memdesc:a0916477887763c20822b43be144963eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed subwindow is invalid. <a href="#a0916477887763c20822b43be144963eb">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003039<tr class="separator:a0916477887763c20822b43be144963eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003040<tr class="memitem:ade618d7802413e82df0d9c1dbb049138"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade618d7802413e82df0d9c1dbb049138">error_on_window_not_collapsable_at_dimension</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const int dim)</td></tr>
3041<tr class="memdesc:ade618d7802413e82df0d9c1dbb049138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the window can't be collapsed at the given dimension. <a href="#ade618d7802413e82df0d9c1dbb049138">More...</a><br/></td></tr>
3042<tr class="separator:ade618d7802413e82df0d9c1dbb049138"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003043<tr class="memitem:a130822528598f21a48f7ee0e6d8438a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a130822528598f21a48f7ee0e6d8438a0">error_on_coordinates_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;pos, unsigned int max_dim)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003044<tr class="memdesc:a130822528598f21a48f7ee0e6d8438a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed coordinates have too many dimensions. <a href="#a130822528598f21a48f7ee0e6d8438a0">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003045<tr class="separator:a130822528598f21a48f7ee0e6d8438a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3046<tr class="memitem:a6fed5543ae383442a51362e6607c4e65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6fed5543ae383442a51362e6607c4e65">error_on_window_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win, unsigned int max_dim)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003047<tr class="memdesc:a6fed5543ae383442a51362e6607c4e65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed window has too many dimensions. <a href="#a6fed5543ae383442a51362e6607c4e65">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003048<tr class="separator:a6fed5543ae383442a51362e6607c4e65"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003049<tr class="memitem:aff062b84c57c614a2de4d54db2cbc31c"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3050<tr class="memitem:aff062b84c57c614a2de4d54db2cbc31c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aff062b84c57c614a2de4d54db2cbc31c">error_on_mismatching_dimensions</a> (const char *function, const char *file, int line, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dim1, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dim2, Ts &amp;&amp;...dims)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003051<tr class="memdesc:aff062b84c57c614a2de4d54db2cbc31c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed dimension objects differ. <a href="#aff062b84c57c614a2de4d54db2cbc31c">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003052<tr class="separator:aff062b84c57c614a2de4d54db2cbc31c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003053<tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3054<tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b689868b627ba9e22c8473c5f985512">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003055<tr class="memdesc:a7b689868b627ba9e22c8473c5f985512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed two tensors have different shapes from the given dimension. <a href="#a7b689868b627ba9e22c8473c5f985512">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003056<tr class="separator:a7b689868b627ba9e22c8473c5f985512"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003057<tr class="memitem:a496e03102bca40f666c12a575d4a6157"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3058<tr class="memitem:a496e03102bca40f666c12a575d4a6157"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a496e03102bca40f666c12a575d4a6157">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, unsigned int upper_dim, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003059<tr class="memdesc:a496e03102bca40f666c12a575d4a6157"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed two tensors have different shapes from the given dimension. <a href="#a496e03102bca40f666c12a575d4a6157">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003060<tr class="separator:a496e03102bca40f666c12a575d4a6157"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003061<tr class="memitem:a464883e1c23b02d47d8db21956a8f117"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3062<tr class="memitem:a464883e1c23b02d47d8db21956a8f117"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a464883e1c23b02d47d8db21956a8f117">error_on_mismatching_data_types</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, Ts...tensors)</td></tr>
3063<tr class="memdesc:a464883e1c23b02d47d8db21956a8f117"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed two tensors have different data types. <a href="#a464883e1c23b02d47d8db21956a8f117">More...</a><br/></td></tr>
3064<tr class="separator:a464883e1c23b02d47d8db21956a8f117"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003065<tr class="memitem:a526ed43a37ba0faf2c1789175ec1a350"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3066<tr class="memitem:a526ed43a37ba0faf2c1789175ec1a350"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a526ed43a37ba0faf2c1789175ec1a350">error_on_mismatching_fixed_point</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003067<tr class="memdesc:a526ed43a37ba0faf2c1789175ec1a350"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed tensors have different fixed point data types or different fixed point positions. <a href="#a526ed43a37ba0faf2c1789175ec1a350">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003068<tr class="separator:a526ed43a37ba0faf2c1789175ec1a350"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003069<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplParams" colspan="2">template&lt;typename T , typename F , typename... Fs&gt; </td></tr>
3070<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b360558b516e256f0af005a164c674e">error_on_format_not_in</a> (const char *function, const char *file, const int line, const T *object, F &amp;&amp;format, Fs &amp;&amp;...formats)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003071<tr class="memdesc:a0b360558b516e256f0af005a164c674e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. <a href="#a0b360558b516e256f0af005a164c674e">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003072<tr class="separator:a0b360558b516e256f0af005a164c674e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3073<tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3074<tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">error_on_data_type_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003075<tr class="memdesc:a0c52339d3cb372d145deeafb5a313807"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the data type of the passed tensor does not match any of the data types provided. <a href="#a0c52339d3cb372d145deeafb5a313807">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003076<tr class="separator:a0c52339d3cb372d145deeafb5a313807"><td class="memSeparator" colspan="2">&#160;</td></tr>
3077<tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3078<tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a690ce072b4480f4a5bad433f23c9fe05">error_on_data_type_channel_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003079<tr class="memdesc:a690ce072b4480f4a5bad433f23c9fe05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. <a href="#a690ce072b4480f4a5bad433f23c9fe05">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003080<tr class="separator:a690ce072b4480f4a5bad433f23c9fe05"><td class="memSeparator" colspan="2">&#160;</td></tr>
3081<tr class="memitem:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65c8e0610dff27ecf1ef30214f08d19e">error_on_tensor_not_2d</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003082<tr class="memdesc:a65c8e0610dff27ecf1ef30214f08d19e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the tensor is not 2D. <a href="#a65c8e0610dff27ecf1ef30214f08d19e">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003083<tr class="separator:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3084<tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3085<tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a593d972357b3bcfeecb87207dc925417">error_on_channel_not_in</a> (const char *function, const char *file, const int line, T cn, T &amp;&amp;channel, Ts &amp;&amp;...channels)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003086<tr class="memdesc:a593d972357b3bcfeecb87207dc925417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the channel is not in channels. <a href="#a593d972357b3bcfeecb87207dc925417">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003087<tr class="separator:a593d972357b3bcfeecb87207dc925417"><td class="memSeparator" colspan="2">&#160;</td></tr>
3088<tr class="memitem:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad0d001a84424d440f9a11fc1b80ed2ff">error_on_channel_not_in_known_format</a> (const char *function, const char *file, const int line, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> fmt, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> cn)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003089<tr class="memdesc:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the channel is not in format. <a href="#ad0d001a84424d440f9a11fc1b80ed2ff">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003090<tr class="separator:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
3091<tr class="memitem:a307666ca482a84d5a64251d78889a818"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a307666ca482a84d5a64251d78889a818">error_on_invalid_multi_hog</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> *multi_hog)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003092<tr class="memdesc:a307666ca482a84d5a64251d78889a818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. <a href="#a307666ca482a84d5a64251d78889a818">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003093<tr class="separator:a307666ca482a84d5a64251d78889a818"><td class="memSeparator" colspan="2">&#160;</td></tr>
3094<tr class="memitem:a21a4884cd1dbfa83351b8efa265f526a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21a4884cd1dbfa83351b8efa265f526a">error_on_unconfigured_kernel</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> *kernel)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003095<tr class="memdesc:a21a4884cd1dbfa83351b8efa265f526a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the kernel is not configured. <a href="#a21a4884cd1dbfa83351b8efa265f526a">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003096<tr class="separator:a21a4884cd1dbfa83351b8efa265f526a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003097<tr class="memitem:a36ffb104aed50deb360db6f3afa4c394"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a36ffb104aed50deb360db6f3afa4c394">error_on_invalid_subtensor</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;parent_shape, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;coords, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003098<tr class="memdesc:a36ffb104aed50deb360db6f3afa4c394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if if the coordinates and shape of the subtensor are within the parent tensor. <a href="#a36ffb104aed50deb360db6f3afa4c394">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003099<tr class="separator:a36ffb104aed50deb360db6f3afa4c394"><td class="memSeparator" colspan="2">&#160;</td></tr>
3100<tr class="memitem:a858e835f22c359080a09709c6dd950b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a858e835f22c359080a09709c6dd950b1">error_on_invalid_subtensor_valid_region</a> (const char *function, const char *file, const int line, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;parent_valid_region, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003101<tr class="memdesc:a858e835f22c359080a09709c6dd950b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the valid region of a subtensor is not inside the valid region of the parent tensor. <a href="#a858e835f22c359080a09709c6dd950b1">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003102<tr class="separator:a858e835f22c359080a09709c6dd950b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3103<tr class="memitem:a064db352a2f4153e6237054343d5fe7a"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3104<tr class="memitem:a064db352a2f4153e6237054343d5fe7a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a064db352a2f4153e6237054343d5fe7a">error_on_mismatching_fixed_point_position</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003105<tr class="memdesc:a064db352a2f4153e6237054343d5fe7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the input fixed-point positions are different. <a href="#a064db352a2f4153e6237054343d5fe7a">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003106<tr class="separator:a064db352a2f4153e6237054343d5fe7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3107<tr class="memitem:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003108<tr class="memitem:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9afdaa4d8bbb78938110ada1daf87f8b">error_on_value_not_representable_in_fixed_point</a> (const char *function, const char *file, int line, float <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
3109<tr class="memdesc:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the fixed-point value is not representable in the specified Q format. <a href="#a9afdaa4d8bbb78938110ada1daf87f8b">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003110<tr class="separator:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3111<tr class="memitem:aa5191117dc677a74552769b87131b1b6"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa5191117dc677a74552769b87131b1b6">string_from_scheduler_type</a> (<a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> t)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003112<tr class="memdesc:aa5191117dc677a74552769b87131b1b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> into a string. <a href="#aa5191117dc677a74552769b87131b1b6">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003113<tr class="separator:aa5191117dc677a74552769b87131b1b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003114<tr class="memitem:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memItemLeft" align="right" valign="top">inline::std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1379e5f8a8b4640d7a52d901f0539ccd">operator&gt;&gt;</a> (::std::istream &amp;is, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;mode)</td></tr>
3115<tr class="memdesc:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted input of the BorderMode type. <a href="#a1379e5f8a8b4640d7a52d901f0539ccd">More...</a><br/></td></tr>
3116<tr class="separator:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003117<tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3118<tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18d43401e8f84ed020429b41ec4e99f5">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dimensions)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003119<tr class="memdesc:a18d43401e8f84ed020429b41ec4e99f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. <a href="#a18d43401e8f84ed020429b41ec4e99f5">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003120<tr class="separator:a18d43401e8f84ed020429b41ec4e99f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003121<tr class="memitem:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae8c2a3451bcf739a75aa7438e7a78d45">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;function)</td></tr>
3122<tr class="memdesc:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the NonLinearFilterFunction type. <a href="#ae8c2a3451bcf739a75aa7438e7a78d45">More...</a><br/></td></tr>
3123<tr class="separator:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
3124<tr class="memitem:aabe16be22edb41656e66ed9eae3b69e6"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aabe16be22edb41656e66ed9eae3b69e6">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;function)</td></tr>
3125<tr class="separator:aabe16be22edb41656e66ed9eae3b69e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3126<tr class="memitem:acec416ec5af175a7aad47a518fefb770"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acec416ec5af175a7aad47a518fefb770">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;pattern)</td></tr>
3127<tr class="memdesc:acec416ec5af175a7aad47a518fefb770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the MatrixPattern type. <a href="#acec416ec5af175a7aad47a518fefb770">More...</a><br/></td></tr>
3128<tr class="separator:acec416ec5af175a7aad47a518fefb770"><td class="memSeparator" colspan="2">&#160;</td></tr>
3129<tr class="memitem:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a27f0ebddef1b83e0ac31c7a7a23a8d36">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;pattern)</td></tr>
3130<tr class="separator:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003131<tr class="memitem:a295edc9f8caf95838db2c5e251153514"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a295edc9f8caf95838db2c5e251153514">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &amp;rounding_policy)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003132<tr class="memdesc:a295edc9f8caf95838db2c5e251153514"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the RoundingPolicy type. <a href="#a295edc9f8caf95838db2c5e251153514">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003133<tr class="separator:a295edc9f8caf95838db2c5e251153514"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003134<tr class="memitem:a5972c7131d378f567af9c2961f088a0b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5972c7131d378f567af9c2961f088a0b">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &amp;weights_info)</td></tr>
3135<tr class="memdesc:a5972c7131d378f567af9c2961f088a0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. <a href="#a5972c7131d378f567af9c2961f088a0b">More...</a><br/></td></tr>
3136<tr class="separator:a5972c7131d378f567af9c2961f088a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3137<tr class="memitem:a352b805b77fde4f32f44af271580677b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a352b805b77fde4f32f44af271580677b">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a> &amp;pool_info)</td></tr>
3138<tr class="memdesc:a352b805b77fde4f32f44af271580677b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the ROIPoolingInfo type. <a href="#a352b805b77fde4f32f44af271580677b">More...</a><br/></td></tr>
3139<tr class="separator:a352b805b77fde4f32f44af271580677b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003140<tr class="memitem:a2abb76fe917828983d666628badab08d"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2abb76fe917828983d666628badab08d">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;op)</td></tr>
3141<tr class="separator:a2abb76fe917828983d666628badab08d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3142<tr class="memitem:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3d4684c886b4d13ce004cd6d7fcea9b1">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &amp;op)</td></tr>
3143<tr class="separator:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003144<tr class="memitem:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d79efe2673aeb3f9a9160b6a78de50c">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> &amp;act_function)</td></tr>
3145<tr class="memdesc:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the activation function type. <a href="#a9d79efe2673aeb3f9a9160b6a78de50c">More...</a><br/></td></tr>
3146<tr class="separator:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3147<tr class="memitem:a72626d2cca3922127c41526e37e9e623"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a72626d2cca3922127c41526e37e9e623">to_string</a> (const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">arm_compute::ActivationLayerInfo</a> &amp;info)</td></tr>
3148<tr class="separator:a72626d2cca3922127c41526e37e9e623"><td class="memSeparator" colspan="2">&#160;</td></tr>
3149<tr class="memitem:a8a18c453150ab547c1add44b3ed3bc56"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a18c453150ab547c1add44b3ed3bc56">to_string</a> (const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">arm_compute::ActivationLayerInfo::ActivationFunction</a> &amp;function)</td></tr>
3150<tr class="separator:a8a18c453150ab547c1add44b3ed3bc56"><td class="memSeparator" colspan="2">&#160;</td></tr>
3151<tr class="memitem:a2ab7370aab6e5698990c50c8871fa6fb"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ab7370aab6e5698990c50c8871fa6fb">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;norm_type)</td></tr>
3152<tr class="memdesc:a2ab7370aab6e5698990c50c8871fa6fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the NormType type. <a href="#a2ab7370aab6e5698990c50c8871fa6fb">More...</a><br/></td></tr>
3153<tr class="separator:a2ab7370aab6e5698990c50c8871fa6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3154<tr class="memitem:a45dd771bdecbafb975fd267c2ae320a7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45dd771bdecbafb975fd267c2ae320a7">to_string</a> (const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">arm_compute::NormalizationLayerInfo</a> &amp;info)</td></tr>
3155<tr class="separator:a45dd771bdecbafb975fd267c2ae320a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003156<tr class="memitem:a6e422c610c91f611590173cd595c94c5"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6e422c610c91f611590173cd595c94c5">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> &amp;info)</td></tr>
3157<tr class="memdesc:a6e422c610c91f611590173cd595c94c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. <a href="#a6e422c610c91f611590173cd595c94c5">More...</a><br/></td></tr>
3158<tr class="separator:a6e422c610c91f611590173cd595c94c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003159<tr class="memitem:a336cf1e870f467e44c184587a13feeec"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a336cf1e870f467e44c184587a13feeec">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;pool_type)</td></tr>
3160<tr class="memdesc:a336cf1e870f467e44c184587a13feeec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the PoolingType type. <a href="#a336cf1e870f467e44c184587a13feeec">More...</a><br/></td></tr>
3161<tr class="separator:a336cf1e870f467e44c184587a13feeec"><td class="memSeparator" colspan="2">&#160;</td></tr>
3162<tr class="memitem:ae72a61a2ca5c962ab1d37065e5598060"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae72a61a2ca5c962ab1d37065e5598060">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> &amp;info)</td></tr>
3163<tr class="memdesc:ae72a61a2ca5c962ab1d37065e5598060"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a>. <a href="#ae72a61a2ca5c962ab1d37065e5598060">More...</a><br/></td></tr>
3164<tr class="separator:ae72a61a2ca5c962ab1d37065e5598060"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003165<tr class="memitem:a685af15532d70b8682bcc52f06f034f9"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a685af15532d70b8682bcc52f06f034f9">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;data_type)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003166<tr class="memdesc:a685af15532d70b8682bcc52f06f034f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataType type. <a href="#a685af15532d70b8682bcc52f06f034f9">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003167<tr class="separator:a685af15532d70b8682bcc52f06f034f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003168<tr class="memitem:a96b47511b549b48d2ead05b5c757ccc9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a96b47511b549b48d2ead05b5c757ccc9">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;data_type)</td></tr>
3169<tr class="separator:a96b47511b549b48d2ead05b5c757ccc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003170<tr class="memitem:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3b22e54b0ac0204c3b89aebcd695fa03">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;format)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003171<tr class="memdesc:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Format type. <a href="#a3b22e54b0ac0204c3b89aebcd695fa03">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003172<tr class="separator:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003173<tr class="memitem:ab0e6381843dc9901bb59285ec846dc5d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab0e6381843dc9901bb59285ec846dc5d">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;format)</td></tr>
3174<tr class="separator:ab0e6381843dc9901bb59285ec846dc5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003175<tr class="memitem:aa66be15c012986ebd4c1934b97e08a36"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa66be15c012986ebd4c1934b97e08a36">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &amp;channel)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003176<tr class="memdesc:aa66be15c012986ebd4c1934b97e08a36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Channel type. <a href="#aa66be15c012986ebd4c1934b97e08a36">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003177<tr class="separator:aa66be15c012986ebd4c1934b97e08a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003178<tr class="memitem:a7929032d41d5f23cd1778a70508d0219"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7929032d41d5f23cd1778a70508d0219">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;mode)</td></tr>
3179<tr class="memdesc:a7929032d41d5f23cd1778a70508d0219"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the BorderMode type. <a href="#a7929032d41d5f23cd1778a70508d0219">More...</a><br/></td></tr>
3180<tr class="separator:a7929032d41d5f23cd1778a70508d0219"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003181<tr class="memitem:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af32c4c5cdd0efde09774eb803bc8a0bd">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> &amp;border)</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003182<tr class="memdesc:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_border_size.xhtml" title="Container for 2D border size. ">BorderSize</a> type. <a href="#af32c4c5cdd0efde09774eb803bc8a0bd">More...</a><br/></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003183<tr class="separator:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003184<tr class="memitem:a509047aefc691398f1bb60b1f967a98b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a509047aefc691398f1bb60b1f967a98b">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;policy)</td></tr>
3185<tr class="memdesc:a509047aefc691398f1bb60b1f967a98b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the InterpolationPolicy type. <a href="#a509047aefc691398f1bb60b1f967a98b">More...</a><br/></td></tr>
3186<tr class="separator:a509047aefc691398f1bb60b1f967a98b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3187<tr class="memitem:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3188<tr class="memitem:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa32488ee1dd78e0464ed23e8cc2b6e49">to_string</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dimensions)</td></tr>
3189<tr class="separator:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003190<tr class="memitem:a1c4486f45128be7156e38e6dea345a16"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c4486f45128be7156e38e6dea345a16">to_string</a> (const <a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> &amp;stride)</td></tr>
3191<tr class="separator:a1c4486f45128be7156e38e6dea345a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003192<tr class="memitem:a9d9b56d1b106b79fc5c5411372222d0f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d9b56d1b106b79fc5c5411372222d0f">to_string</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape)</td></tr>
3193<tr class="memdesc:a9d9b56d1b106b79fc5c5411372222d0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> type. <a href="#a9d9b56d1b106b79fc5c5411372222d0f">More...</a><br/></td></tr>
3194<tr class="separator:a9d9b56d1b106b79fc5c5411372222d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003195<tr class="memitem:a805a74997e303d29108845956a674387"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a805a74997e303d29108845956a674387">to_string</a> (const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;coord)</td></tr>
3196<tr class="memdesc:a805a74997e303d29108845956a674387"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> type. <a href="#a805a74997e303d29108845956a674387">More...</a><br/></td></tr>
3197<tr class="separator:a805a74997e303d29108845956a674387"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003198<tr class="memitem:a17881750c427aedd95deba46a4366ace"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a17881750c427aedd95deba46a4366ace">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a> &amp;rect)</td></tr>
3199<tr class="memdesc:a17881750c427aedd95deba46a4366ace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. <a href="#a17881750c427aedd95deba46a4366ace">More...</a><br/></td></tr>
3200<tr class="separator:a17881750c427aedd95deba46a4366ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
3201<tr class="memitem:a8af36ae3a3613112c3a95e57f606359a"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8af36ae3a3613112c3a95e57f606359a">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;pad_stride_info)</td></tr>
3202<tr class="memdesc:a8af36ae3a3613112c3a95e57f606359a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the PadStridInfo type. <a href="#a8af36ae3a3613112c3a95e57f606359a">More...</a><br/></td></tr>
3203<tr class="separator:a8af36ae3a3613112c3a95e57f606359a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3204<tr class="memitem:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2c0e6c1c4cf10da25e7a7362ba151ba2">to_string</a> (const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;pad_stride_info)</td></tr>
3205<tr class="separator:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3206<tr class="memitem:a0604106dd269acd58152a81ba87cc265"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0604106dd269acd58152a81ba87cc265">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;mode)</td></tr>
3207<tr class="separator:a0604106dd269acd58152a81ba87cc265"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003208<tr class="memitem:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5c9cde9144eaeceaf086377b9bc5a5be">to_string</a> (const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> &amp;border)</td></tr>
3209<tr class="separator:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003210<tr class="memitem:a94bd78942b683c05cba85048537d3ee7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a94bd78942b683c05cba85048537d3ee7">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;policy)</td></tr>
3211<tr class="separator:a94bd78942b683c05cba85048537d3ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3212<tr class="memitem:a4287c6842a60e5f6bf309e55f8813527"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4287c6842a60e5f6bf309e55f8813527">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;policy)</td></tr>
3213<tr class="memdesc:a4287c6842a60e5f6bf309e55f8813527"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the ConversionPolicy type. <a href="#a4287c6842a60e5f6bf309e55f8813527">More...</a><br/></td></tr>
3214<tr class="separator:a4287c6842a60e5f6bf309e55f8813527"><td class="memSeparator" colspan="2">&#160;</td></tr>
3215<tr class="memitem:adcc7e107e7dbd2ffac02189089c33e4f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adcc7e107e7dbd2ffac02189089c33e4f">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;policy)</td></tr>
3216<tr class="separator:adcc7e107e7dbd2ffac02189089c33e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3217<tr class="memitem:a292505a0ec686541cfe0dcfd1d651ec5"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a292505a0ec686541cfe0dcfd1d651ec5">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;op)</td></tr>
3218<tr class="memdesc:a292505a0ec686541cfe0dcfd1d651ec5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Reduction Operations. <a href="#a292505a0ec686541cfe0dcfd1d651ec5">More...</a><br/></td></tr>
3219<tr class="separator:a292505a0ec686541cfe0dcfd1d651ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3220<tr class="memitem:aae534105c7ea67999ccbb34a0ed567cd"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aae534105c7ea67999ccbb34a0ed567cd">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;op)</td></tr>
3221<tr class="separator:aae534105c7ea67999ccbb34a0ed567cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3222<tr class="memitem:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8b676c38d9b8d9d9bde7caec5720bd9">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;type)</td></tr>
3223<tr class="separator:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3224<tr class="memitem:a2872d19dd10dc3117813d291c08e0383"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2872d19dd10dc3117813d291c08e0383">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;type)</td></tr>
3225<tr class="separator:a2872d19dd10dc3117813d291c08e0383"><td class="memSeparator" colspan="2">&#160;</td></tr>
3226<tr class="memitem:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acef515348c5f7f73c89aa4b8a47a02bc">to_string</a> (const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> &amp;info)</td></tr>
3227<tr class="separator:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
3228<tr class="memitem:a9a2e48a508dc85b7280f955876bb4462"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9a2e48a508dc85b7280f955876bb4462">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &amp;point)</td></tr>
3229<tr class="memdesc:a9a2e48a508dc85b7280f955876bb4462"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type. ">KeyPoint</a> type. <a href="#a9a2e48a508dc85b7280f955876bb4462">More...</a><br/></td></tr>
3230<tr class="separator:a9a2e48a508dc85b7280f955876bb4462"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003231</table><table class="memberdecls">
3232<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
3233Variables</h2></td></tr>
3234<tr class="memitem:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memItemLeft" align="right" valign="top">constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a769d636d7a3c7c84579a5f477a18bc9d">MAX_DIMS</a> = 6</td></tr>
3235<tr class="separator:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3236<tr class="memitem:a869945609357fa552d94eb16f7aad4e9"><td class="memItemLeft" align="right" valign="top">const std::array&lt; float32x4_t, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a></td></tr>
3237<tr class="separator:a869945609357fa552d94eb16f7aad4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3238<tr class="memitem:a48fb9cf404e8f7043235bf14105c9793"><td class="memItemLeft" align="right" valign="top">const std::array&lt; float32x4_t, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a></td></tr>
3239<tr class="separator:a48fb9cf404e8f7043235bf14105c9793"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003240<tr class="memitem:a2260e62edc9c3e04a06e8016136b10b1"><td class="memItemLeft" align="right" valign="top">const std::array&lt; float16x8_t, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2260e62edc9c3e04a06e8016136b10b1">exp_tab_f16</a></td></tr>
3241<tr class="separator:a2260e62edc9c3e04a06e8016136b10b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3242<tr class="memitem:a0a8b2a577b2f9370e7b1c4735f007be1"><td class="memItemLeft" align="right" valign="top">const std::array&lt; float16x8_t, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0a8b2a577b2f9370e7b1c4735f007be1">log_tab_f16</a></td></tr>
3243<tr class="separator:a0a8b2a577b2f9370e7b1c4735f007be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003244<tr class="memitem:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memItemLeft" align="right" valign="top">constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3fed059965fe44cbe7ed4091d6b63acf">CONSTANT_BORDER_VALUE</a> = 199</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003245<tr class="memdesc:a3fed059965fe44cbe7ed4091d6b63acf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant value of the border pixels when using <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92" title="Pixels outside the image are assumed to have a constant value. ">BorderMode::CONSTANT</a>. <a href="#a3fed059965fe44cbe7ed4091d6b63acf">More...</a><br/></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003246<tr class="separator:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3247<tr class="memitem:af9876aedd664cac0ddeacddb40cb71cd"><td class="memItemLeft" align="right" valign="top">constexpr float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af9876aedd664cac0ddeacddb40cb71cd">SCALE_PYRAMID_HALF</a> = 0.5f</td></tr>
3248<tr class="separator:af9876aedd664cac0ddeacddb40cb71cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3249<tr class="memitem:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memItemLeft" align="right" valign="top">constexpr float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ebcd5423d5fba468e7debd2e1aabe91">SCALE_PYRAMID_ORB</a> = 8.408964152537146130583778358414e-01</td></tr>
3250<tr class="separator:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memSeparator" colspan="2">&#160;</td></tr>
3251</table>
3252<h2 class="groupheader">Typedef Documentation</h2>
3253<a class="anchor" id="afcef84cf3b7d147b2b6ab0bd884afc16"></a>
3254<div class="memitem">
3255<div class="memproto">
3256 <table class="memname">
3257 <tr>
3258 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#afcef84cf3b7d147b2b6ab0bd884afc16">CLCoefficientTableArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a>&gt;</td>
3259 </tr>
3260 </table>
3261</div><div class="memdoc">
3262
Kaizen8938bd32017-09-28 14:38:23 +01003263<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003264
3265</div>
3266</div>
3267<a class="anchor" id="a4751499f1c526c7285e7e946c2e84541"></a>
3268<div class="memitem">
3269<div class="memproto">
3270 <table class="memname">
3271 <tr>
3272 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4751499f1c526c7285e7e946c2e84541">CLConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt;3&gt;</td>
3273 </tr>
3274 </table>
3275</div><div class="memdoc">
3276
3277<p>Interface for the kernel which applies a 3x3 convolution to a tensor. </p>
3278
3279<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00070">70</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3280
3281</div>
3282</div>
3283<a class="anchor" id="a843447b81f09d837e90d44e6e6bd236d"></a>
3284<div class="memitem">
3285<div class="memproto">
3286 <table class="memname">
3287 <tr>
3288 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a843447b81f09d837e90d44e6e6bd236d">CLConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt;5&gt;</td>
3289 </tr>
3290 </table>
3291</div><div class="memdoc">
3292
3293<p>Basic function to run 5x5 convolution. </p>
3294
Kaizen8938bd32017-09-28 14:38:23 +01003295<p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00102">102</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003296
3297</div>
3298</div>
3299<a class="anchor" id="ac4cfbdf439d7bf5d420546298bd5ca0d"></a>
3300<div class="memitem">
3301<div class="memproto">
3302 <table class="memname">
3303 <tr>
3304 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac4cfbdf439d7bf5d420546298bd5ca0d">CLConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt;5&gt;</td>
3305 </tr>
3306 </table>
3307</div><div class="memdoc">
3308
3309<p>Interface for the kernel which applies a 5x5 convolution to a tensor. </p>
3310
3311<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00072">72</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3312
3313</div>
3314</div>
3315<a class="anchor" id="a1992a8362b7074e709394a5219d16e62"></a>
3316<div class="memitem">
3317<div class="memproto">
3318 <table class="memname">
3319 <tr>
3320 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1992a8362b7074e709394a5219d16e62">CLConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt;7&gt;</td>
3321 </tr>
3322 </table>
3323</div><div class="memdoc">
3324
3325<p>Basic function to run 7x7 convolution. </p>
3326
Kaizen8938bd32017-09-28 14:38:23 +01003327<p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003328
3329</div>
3330</div>
3331<a class="anchor" id="a99a54c937a254c96cd1a29a96ffa7dcf"></a>
3332<div class="memitem">
3333<div class="memproto">
3334 <table class="memname">
3335 <tr>
3336 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a99a54c937a254c96cd1a29a96ffa7dcf">CLConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt;7&gt;</td>
3337 </tr>
3338 </table>
3339</div><div class="memdoc">
3340
3341<p>Interface for the kernel which applies a 7x7 convolution to a tensor. </p>
3342
3343<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00074">74</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3344
3345</div>
3346</div>
3347<a class="anchor" id="a587dee5d7f05d5e9c3b8704ae8927101"></a>
3348<div class="memitem">
3349<div class="memproto">
3350 <table class="memname">
3351 <tr>
3352 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a587dee5d7f05d5e9c3b8704ae8927101">CLConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt;9&gt;</td>
3353 </tr>
3354 </table>
3355</div><div class="memdoc">
3356
3357<p>Basic function to run 9x9 convolution. </p>
3358
Kaizen8938bd32017-09-28 14:38:23 +01003359<p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003360
3361</div>
3362</div>
3363<a class="anchor" id="a908439cd5cf8253865d5c70a413fd607"></a>
3364<div class="memitem">
3365<div class="memproto">
3366 <table class="memname">
3367 <tr>
3368 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a908439cd5cf8253865d5c70a413fd607">CLConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt;9&gt;</td>
3369 </tr>
3370 </table>
3371</div><div class="memdoc">
3372
3373<p>Interface for the kernel which applies a 9x9 convolution to a tensor. </p>
3374
3375<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00076">76</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3376
3377</div>
3378</div>
3379<a class="anchor" id="a0fd5f0310a26faad00b905bac3792726"></a>
3380<div class="memitem">
3381<div class="memproto">
3382 <table class="memname">
3383 <tr>
3384 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0fd5f0310a26faad00b905bac3792726">CLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>&gt;</td>
3385 </tr>
3386 </table>
3387</div><div class="memdoc">
3388
Kaizen8938bd32017-09-28 14:38:23 +01003389<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00105">105</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003390
3391</div>
3392</div>
3393<a class="anchor" id="ab8d2c7efb7643ce8f9e5446dbe1da0b4"></a>
3394<div class="memitem">
3395<div class="memproto">
3396 <table class="memname">
3397 <tr>
3398 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab8d2c7efb7643ce8f9e5446dbe1da0b4">CLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>&gt;</td>
3399 </tr>
3400 </table>
3401</div><div class="memdoc">
3402
Kaizen8938bd32017-09-28 14:38:23 +01003403<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003404
3405</div>
3406</div>
3407<a class="anchor" id="a193a4859b365f3ef4e0d73a1e6b12c85"></a>
3408<div class="memitem">
3409<div class="memproto">
3410 <table class="memname">
3411 <tr>
3412 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a193a4859b365f3ef4e0d73a1e6b12c85">CLFloatArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_float&gt;</td>
3413 </tr>
3414 </table>
3415</div><div class="memdoc">
3416
Kaizen8938bd32017-09-28 14:38:23 +01003417<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00114">114</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003418
3419</div>
3420</div>
3421<a class="anchor" id="aae712f442eae2d56d17529ca6cb9cb77"></a>
3422<div class="memitem">
3423<div class="memproto">
3424 <table class="memname">
3425 <tr>
3426 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aae712f442eae2d56d17529ca6cb9cb77">CLImage</a> = <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td>
3427 </tr>
3428 </table>
3429</div><div class="memdoc">
3430
3431<p>Definition at line <a class="el" href="_c_l_tensor_8h_source.xhtml#l00079">79</a> of file <a class="el" href="_c_l_tensor_8h_source.xhtml">CLTensor.h</a>.</p>
3432
3433</div>
3434</div>
3435<a class="anchor" id="a5fb8cb339705102066c915d18f0701ac"></a>
3436<div class="memitem">
3437<div class="memproto">
3438 <table class="memname">
3439 <tr>
3440 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5fb8cb339705102066c915d18f0701ac">CLInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_short&gt;</td>
3441 </tr>
3442 </table>
3443</div><div class="memdoc">
3444
Kaizen8938bd32017-09-28 14:38:23 +01003445<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00112">112</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003446
3447</div>
3448</div>
3449<a class="anchor" id="a8a401a071524761c661a75969c951cf5"></a>
3450<div class="memitem">
3451<div class="memproto">
3452 <table class="memname">
3453 <tr>
3454 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8a401a071524761c661a75969c951cf5">CLInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_int&gt;</td>
3455 </tr>
3456 </table>
3457</div><div class="memdoc">
3458
Kaizen8938bd32017-09-28 14:38:23 +01003459<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00113">113</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003460
3461</div>
3462</div>
3463<a class="anchor" id="a55e1c5ed17b7ee3762198a38eb50650a"></a>
3464<div class="memitem">
3465<div class="memproto">
3466 <table class="memname">
3467 <tr>
3468 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a55e1c5ed17b7ee3762198a38eb50650a">CLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>&gt;</td>
3469 </tr>
3470 </table>
3471</div><div class="memdoc">
3472
Kaizen8938bd32017-09-28 14:38:23 +01003473<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003474
3475</div>
3476</div>
3477<a class="anchor" id="a70997613219641045213b0c12948fb74"></a>
3478<div class="memitem">
3479<div class="memproto">
3480 <table class="memname">
3481 <tr>
3482 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a70997613219641045213b0c12948fb74">CLLKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a>&gt;</td>
3483 </tr>
3484 </table>
3485</div><div class="memdoc">
3486
Kaizen8938bd32017-09-28 14:38:23 +01003487<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00046">46</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
3488
3489</div>
3490</div>
3491<a class="anchor" id="ac87d48489667d7ff7fc4cc7d0d12c52e"></a>
3492<div class="memitem">
3493<div class="memproto">
3494 <table class="memname">
3495 <tr>
3496 <td class="memname">typedef <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a> &gt; <a class="el" href="namespacearm__compute.xhtml#ac87d48489667d7ff7fc4cc7d0d12c52e">CLMemoryGroup</a></td>
3497 </tr>
3498 </table>
3499</div><div class="memdoc">
3500
3501<p>Definition at line <a class="el" href="_c_l_memory_group_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_c_l_memory_group_8h_source.xhtml">CLMemoryGroup.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003502
3503</div>
3504</div>
3505<a class="anchor" id="a4ec6965f606c588137f7a48d84c1d6f0"></a>
3506<div class="memitem">
3507<div class="memproto">
3508 <table class="memname">
3509 <tr>
3510 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4ec6965f606c588137f7a48d84c1d6f0">CLOldValueArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a>&gt;</td>
3511 </tr>
3512 </table>
3513</div><div class="memdoc">
3514
Kaizen8938bd32017-09-28 14:38:23 +01003515<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
3516
3517</div>
3518</div>
3519<a class="anchor" id="a7d756aef16b9c22456bb7aca8fbb4f4c"></a>
3520<div class="memitem">
3521<div class="memproto">
3522 <table class="memname">
3523 <tr>
3524 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7d756aef16b9c22456bb7aca8fbb4f4c">CLROIArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>&gt;</td>
3525 </tr>
3526 </table>
3527</div><div class="memdoc">
3528
3529<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00107">107</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003530
3531</div>
3532</div>
3533<a class="anchor" id="ac72d613f7270604dbcad2553c278b16c"></a>
3534<div class="memitem">
3535<div class="memproto">
3536 <table class="memname">
3537 <tr>
3538 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac72d613f7270604dbcad2553c278b16c">CLSeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt;5&gt;</td>
3539 </tr>
3540 </table>
3541</div><div class="memdoc">
3542
3543<p>Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. </p>
3544
3545<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3546
3547</div>
3548</div>
3549<a class="anchor" id="ac7295b0d8d71be75033238ad7fbba38c"></a>
3550<div class="memitem">
3551<div class="memproto">
3552 <table class="memname">
3553 <tr>
3554 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac7295b0d8d71be75033238ad7fbba38c">CLSeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt;5&gt;</td>
3555 </tr>
3556 </table>
3557</div><div class="memdoc">
3558
3559<p>Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. </p>
3560
3561<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00133">133</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3562
3563</div>
3564</div>
3565<a class="anchor" id="aab26624bf4b326f8145b2909a5042004"></a>
3566<div class="memitem">
3567<div class="memproto">
3568 <table class="memname">
3569 <tr>
3570 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aab26624bf4b326f8145b2909a5042004">CLSeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt;7&gt;</td>
3571 </tr>
3572 </table>
3573</div><div class="memdoc">
3574
3575<p>Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. </p>
3576
3577<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00108">108</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3578
3579</div>
3580</div>
3581<a class="anchor" id="a0ffdf01e236016ce8d366a69875d1375"></a>
3582<div class="memitem">
3583<div class="memproto">
3584 <table class="memname">
3585 <tr>
3586 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0ffdf01e236016ce8d366a69875d1375">CLSeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt;7&gt;</td>
3587 </tr>
3588 </table>
3589</div><div class="memdoc">
3590
3591<p>Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. </p>
3592
3593<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3594
3595</div>
3596</div>
3597<a class="anchor" id="a9f34ccad344bc43d25e8be2b828853aa"></a>
3598<div class="memitem">
3599<div class="memproto">
3600 <table class="memname">
3601 <tr>
3602 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a9f34ccad344bc43d25e8be2b828853aa">CLSeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt;9&gt;</td>
3603 </tr>
3604 </table>
3605</div><div class="memdoc">
3606
3607<p>Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. </p>
3608
3609<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00110">110</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3610
3611</div>
3612</div>
3613<a class="anchor" id="a6d08e1e881bf611c1e1b9e2bb8810d19"></a>
3614<div class="memitem">
3615<div class="memproto">
3616 <table class="memname">
3617 <tr>
3618 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6d08e1e881bf611c1e1b9e2bb8810d19">CLSeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt;9&gt;</td>
3619 </tr>
3620 </table>
3621</div><div class="memdoc">
3622
3623<p>Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. </p>
3624
3625<p>Definition at line <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml#l00137">137</a> of file <a class="el" href="_c_l_convolution_kernel_8h_source.xhtml">CLConvolutionKernel.h</a>.</p>
3626
3627</div>
3628</div>
3629<a class="anchor" id="a3f9ab729931f4e4fa36ff1683186d988"></a>
3630<div class="memitem">
3631<div class="memproto">
3632 <table class="memname">
3633 <tr>
3634 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3f9ab729931f4e4fa36ff1683186d988">CLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&gt;</td>
3635 </tr>
3636 </table>
3637</div><div class="memdoc">
3638
Kaizen8938bd32017-09-28 14:38:23 +01003639<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00108">108</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003640
3641</div>
3642</div>
3643<a class="anchor" id="a7b4c4a79c73a3f85ba89aff03fddefa7"></a>
3644<div class="memitem">
3645<div class="memproto">
3646 <table class="memname">
3647 <tr>
3648 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7b4c4a79c73a3f85ba89aff03fddefa7">CLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_ushort&gt;</td>
3649 </tr>
3650 </table>
3651</div><div class="memdoc">
3652
Kaizen8938bd32017-09-28 14:38:23 +01003653<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00110">110</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003654
3655</div>
3656</div>
3657<a class="anchor" id="a1d7d89b7e990055dc95ed37dfb24da48"></a>
3658<div class="memitem">
3659<div class="memproto">
3660 <table class="memname">
3661 <tr>
3662 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1d7d89b7e990055dc95ed37dfb24da48">CLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_uint&gt;</td>
3663 </tr>
3664 </table>
3665</div><div class="memdoc">
3666
Kaizen8938bd32017-09-28 14:38:23 +01003667<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00111">111</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003668
3669</div>
3670</div>
3671<a class="anchor" id="aa031694bb03711e09e25546ad2b643cc"></a>
3672<div class="memitem">
3673<div class="memproto">
3674 <table class="memname">
3675 <tr>
3676 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa031694bb03711e09e25546ad2b643cc">CLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_uchar&gt;</td>
3677 </tr>
3678 </table>
3679</div><div class="memdoc">
3680
Kaizen8938bd32017-09-28 14:38:23 +01003681<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00109">109</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003682
3683</div>
3684</div>
3685<a class="anchor" id="a327abccf7b43aa32d6a24319b986f3ab"></a>
3686<div class="memitem">
3687<div class="memproto">
3688 <table class="memname">
3689 <tr>
3690 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a327abccf7b43aa32d6a24319b986f3ab">Coordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>&gt;</td>
3691 </tr>
3692 </table>
3693</div><div class="memdoc">
3694
3695<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00065">65</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
3696
3697</div>
3698</div>
3699<a class="anchor" id="a5fe01ab895629edd84a511b56657d79e"></a>
3700<div class="memitem">
3701<div class="memproto">
3702 <table class="memname">
3703 <tr>
3704 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5fe01ab895629edd84a511b56657d79e">DetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>&gt;</td>
3705 </tr>
3706 </table>
3707</div><div class="memdoc">
3708
3709<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00066">66</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
3710
3711</div>
3712</div>
3713<a class="anchor" id="a6e06029aa1b68c0cdeb80656cc9353fe"></a>
3714<div class="memitem">
3715<div class="memproto">
3716 <table class="memname">
3717 <tr>
3718 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6e06029aa1b68c0cdeb80656cc9353fe">FloatArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;float&gt;</td>
3719 </tr>
3720 </table>
3721</div><div class="memdoc">
3722
3723<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00073">73</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
3724
3725</div>
3726</div>
Kaizen8938bd32017-09-28 14:38:23 +01003727<a class="anchor" id="ad2398d0f2ce77c10bbebf1f85317dde5"></a>
3728<div class="memitem">
3729<div class="memproto">
3730 <table class="memname">
3731 <tr>
3732 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ad2398d0f2ce77c10bbebf1f85317dde5">GroupMappings</a> = std::map&lt;size_t, <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a>&gt;</td>
3733 </tr>
3734 </table>
3735</div><div class="memdoc">
3736
3737<p>A map of the groups and memory mappings. </p>
3738
3739<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00046">46</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
3740
3741</div>
3742</div>
3743<a class="anchor" id="a73e2825fd61d349c5ca2f5313e3c8ea1"></a>
3744<div class="memitem">
3745<div class="memproto">
3746 <table class="memname">
3747 <tr>
3748 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> = half_float::half</td>
3749 </tr>
3750 </table>
3751</div><div class="memdoc">
3752
3753<p>16-bit floating point type </p>
3754
3755<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00039">39</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
3756
3757</div>
3758</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003759<a class="anchor" id="a05d88c40a53babe38cb2cb5841c4a0ad"></a>
3760<div class="memitem">
3761<div class="memproto">
3762 <table class="memname">
3763 <tr>
3764 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a05d88c40a53babe38cb2cb5841c4a0ad">ICLCoefficientTableArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a>&gt;</td>
3765 </tr>
3766 </table>
3767</div><div class="memdoc">
3768
3769<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00066">66</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
3770
3771</div>
3772</div>
3773<a class="anchor" id="adf4063963bf3a4b07a5d0cc840da9ee2"></a>
3774<div class="memitem">
3775<div class="memproto">
3776 <table class="memname">
3777 <tr>
3778 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#adf4063963bf3a4b07a5d0cc840da9ee2">ICLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>&gt;</td>
3779 </tr>
3780 </table>
3781</div><div class="memdoc">
3782
Kaizen8938bd32017-09-28 14:38:23 +01003783<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00110">110</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003784
3785</div>
3786</div>
3787<a class="anchor" id="a4cc908807b0a45ccc6ce7ba340ae2259"></a>
3788<div class="memitem">
3789<div class="memproto">
3790 <table class="memname">
3791 <tr>
3792 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4cc908807b0a45ccc6ce7ba340ae2259">ICLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>&gt;</td>
3793 </tr>
3794 </table>
3795</div><div class="memdoc">
3796
Kaizen8938bd32017-09-28 14:38:23 +01003797<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00111">111</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003798
3799</div>
3800</div>
3801<a class="anchor" id="a631bac7c033a0d341c631870f9755217"></a>
3802<div class="memitem">
3803<div class="memproto">
3804 <table class="memname">
3805 <tr>
3806 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a631bac7c033a0d341c631870f9755217">ICLFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_float&gt;</td>
3807 </tr>
3808 </table>
3809</div><div class="memdoc">
3810
Kaizen8938bd32017-09-28 14:38:23 +01003811<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00119">119</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003812
3813</div>
3814</div>
3815<a class="anchor" id="aa80145f30ddae0c2ccbcaa910e3e71dd"></a>
3816<div class="memitem">
3817<div class="memproto">
3818 <table class="memname">
3819 <tr>
3820 <td class="memname">typedef <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> <a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a></td>
3821 </tr>
3822 </table>
3823</div><div class="memdoc">
3824
3825<p>Definition at line <a class="el" href="_i_c_l_multi_image_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_i_c_l_multi_image_8h_source.xhtml">ICLMultiImage.h</a>.</p>
3826
3827</div>
3828</div>
3829<a class="anchor" id="a67328fa21e30aecd0c27d6d2e63a2b9c"></a>
3830<div class="memitem">
3831<div class="memproto">
3832 <table class="memname">
3833 <tr>
3834 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a67328fa21e30aecd0c27d6d2e63a2b9c">ICLInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_short&gt;</td>
3835 </tr>
3836 </table>
3837</div><div class="memdoc">
3838
Kaizen8938bd32017-09-28 14:38:23 +01003839<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00117">117</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003840
3841</div>
3842</div>
3843<a class="anchor" id="ab95380ecf1c0253f6c785c0f59194066"></a>
3844<div class="memitem">
3845<div class="memproto">
3846 <table class="memname">
3847 <tr>
3848 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab95380ecf1c0253f6c785c0f59194066">ICLInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_int&gt;</td>
3849 </tr>
3850 </table>
3851</div><div class="memdoc">
3852
Kaizen8938bd32017-09-28 14:38:23 +01003853<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00118">118</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003854
3855</div>
3856</div>
3857<a class="anchor" id="adb969f0e554bf563f2fa671399d59280"></a>
3858<div class="memitem">
3859<div class="memproto">
3860 <table class="memname">
3861 <tr>
3862 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#adb969f0e554bf563f2fa671399d59280">ICLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>&gt;</td>
3863 </tr>
3864 </table>
3865</div><div class="memdoc">
3866
Kaizen8938bd32017-09-28 14:38:23 +01003867<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00109">109</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003868
3869</div>
3870</div>
3871<a class="anchor" id="a569a32a7a853d4708fd4f4840c88a157"></a>
3872<div class="memitem">
3873<div class="memproto">
3874 <table class="memname">
3875 <tr>
3876 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a569a32a7a853d4708fd4f4840c88a157">ICLLKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a>&gt;</td>
3877 </tr>
3878 </table>
3879</div><div class="memdoc">
3880
3881<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00065">65</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
3882
3883</div>
3884</div>
3885<a class="anchor" id="a0339a19c93dde6754834a7d4ec7dab73"></a>
3886<div class="memitem">
3887<div class="memproto">
3888 <table class="memname">
3889 <tr>
3890 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0339a19c93dde6754834a7d4ec7dab73">ICLOldValArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a>&gt;</td>
3891 </tr>
3892 </table>
3893</div><div class="memdoc">
3894
3895<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00067">67</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
3896
3897</div>
3898</div>
Kaizen8938bd32017-09-28 14:38:23 +01003899<a class="anchor" id="a64e11fcdd0f4a3f7d832495b7053fbe9"></a>
3900<div class="memitem">
3901<div class="memproto">
3902 <table class="memname">
3903 <tr>
3904 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a64e11fcdd0f4a3f7d832495b7053fbe9">ICLROIArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>&gt;</td>
3905 </tr>
3906 </table>
3907</div><div class="memdoc">
3908
3909<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00112">112</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
3910
3911</div>
3912</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003913<a class="anchor" id="a68396eee600b3d23bf7f95a802e65dff"></a>
3914<div class="memitem">
3915<div class="memproto">
3916 <table class="memname">
3917 <tr>
3918 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a68396eee600b3d23bf7f95a802e65dff">ICLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&gt;</td>
3919 </tr>
3920 </table>
3921</div><div class="memdoc">
3922
Kaizen8938bd32017-09-28 14:38:23 +01003923<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00113">113</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003924
3925</div>
3926</div>
3927<a class="anchor" id="af87af588094f04e537df98eaf0426cb6"></a>
3928<div class="memitem">
3929<div class="memproto">
3930 <table class="memname">
3931 <tr>
3932 <td class="memname">using <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a> = <a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a></td>
3933 </tr>
3934 </table>
3935</div><div class="memdoc">
3936
3937<p>Definition at line <a class="el" href="_c_l_histogram_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_c_l_histogram_8h_source.xhtml">CLHistogram.h</a>.</p>
3938
3939</div>
3940</div>
3941<a class="anchor" id="aed5c7222c31a34327f00de37d8c4f4fc"></a>
3942<div class="memitem">
3943<div class="memproto">
3944 <table class="memname">
3945 <tr>
3946 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aed5c7222c31a34327f00de37d8c4f4fc">ICLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_ushort&gt;</td>
3947 </tr>
3948 </table>
3949</div><div class="memdoc">
3950
Kaizen8938bd32017-09-28 14:38:23 +01003951<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00115">115</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003952
3953</div>
3954</div>
3955<a class="anchor" id="a6b5f839e8d27c6351e8d58812dd46c97"></a>
3956<div class="memitem">
3957<div class="memproto">
3958 <table class="memname">
3959 <tr>
3960 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6b5f839e8d27c6351e8d58812dd46c97">ICLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_uint&gt;</td>
3961 </tr>
3962 </table>
3963</div><div class="memdoc">
3964
Kaizen8938bd32017-09-28 14:38:23 +01003965<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00116">116</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003966
3967</div>
3968</div>
3969<a class="anchor" id="a72251c7a73b3c057ffca9f32ee3e19ea"></a>
3970<div class="memitem">
3971<div class="memproto">
3972 <table class="memname">
3973 <tr>
3974 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a72251c7a73b3c057ffca9f32ee3e19ea">ICLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_uchar&gt;</td>
3975 </tr>
3976 </table>
3977</div><div class="memdoc">
3978
Kaizen8938bd32017-09-28 14:38:23 +01003979<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00114">114</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003980
3981</div>
3982</div>
3983<a class="anchor" id="aac9efd49d3bbbd53779713e5fb37de62"></a>
3984<div class="memitem">
3985<div class="memproto">
3986 <table class="memname">
3987 <tr>
3988 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aac9efd49d3bbbd53779713e5fb37de62">ICoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>&gt;</td>
3989 </tr>
3990 </table>
3991</div><div class="memdoc">
3992
Kaizen8938bd32017-09-28 14:38:23 +01003993<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00140">140</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003994
3995</div>
3996</div>
3997<a class="anchor" id="a52b3b9de6092ae37321159c4c2f1bf40"></a>
3998<div class="memitem">
3999<div class="memproto">
4000 <table class="memname">
4001 <tr>
4002 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a52b3b9de6092ae37321159c4c2f1bf40">IDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>&gt;</td>
4003 </tr>
4004 </table>
4005</div><div class="memdoc">
4006
Kaizen8938bd32017-09-28 14:38:23 +01004007<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00142">142</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004008
4009</div>
4010</div>
4011<a class="anchor" id="a8a82a1928159e86b0778c3c14e8842be"></a>
4012<div class="memitem">
4013<div class="memproto">
4014 <table class="memname">
4015 <tr>
4016 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8a82a1928159e86b0778c3c14e8842be">IFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;float&gt;</td>
4017 </tr>
4018 </table>
4019</div><div class="memdoc">
4020
Kaizen8938bd32017-09-28 14:38:23 +01004021<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00149">149</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004022
4023</div>
4024</div>
4025<a class="anchor" id="ac20902ac1ef01783c8a8d71a9bdf1100"></a>
4026<div class="memitem">
4027<div class="memproto">
4028 <table class="memname">
4029 <tr>
4030 <td class="memname">typedef <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> <a class="el" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a></td>
4031 </tr>
4032 </table>
4033</div><div class="memdoc">
4034
4035<p>Definition at line <a class="el" href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_c_p_p_corner_candidates_kernel_8h_source.xhtml">CPPCornerCandidatesKernel.h</a>.</p>
4036
4037</div>
4038</div>
4039<a class="anchor" id="a1dd5e04cea002eae658fa2a899848ad7"></a>
4040<div class="memitem">
4041<div class="memproto">
4042 <table class="memname">
4043 <tr>
4044 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1dd5e04cea002eae658fa2a899848ad7">IInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;int16_t&gt;</td>
4045 </tr>
4046 </table>
4047</div><div class="memdoc">
4048
Kaizen8938bd32017-09-28 14:38:23 +01004049<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00147">147</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004050
4051</div>
4052</div>
4053<a class="anchor" id="a51fdf34dfc5c60b6f4f455f0a9cac457"></a>
4054<div class="memitem">
4055<div class="memproto">
4056 <table class="memname">
4057 <tr>
4058 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a51fdf34dfc5c60b6f4f455f0a9cac457">IInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;int32_t&gt;</td>
4059 </tr>
4060 </table>
4061</div><div class="memdoc">
4062
Kaizen8938bd32017-09-28 14:38:23 +01004063<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00148">148</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004064
4065</div>
4066</div>
4067<a class="anchor" id="ab56a557a5fdf97819f23c35c24f0b0d2"></a>
4068<div class="memitem">
4069<div class="memproto">
4070 <table class="memname">
4071 <tr>
4072 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab56a557a5fdf97819f23c35c24f0b0d2">IKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>&gt;</td>
4073 </tr>
4074 </table>
4075</div><div class="memdoc">
4076
Kaizen8938bd32017-09-28 14:38:23 +01004077<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004078
4079</div>
4080</div>
4081<a class="anchor" id="a7fb6a368d181ef193475f725c713430a"></a>
4082<div class="memitem">
4083<div class="memproto">
4084 <table class="memname">
4085 <tr>
4086 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7fb6a368d181ef193475f725c713430a">Image</a> = <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td>
4087 </tr>
4088 </table>
4089</div><div class="memdoc">
4090
Kaizen8938bd32017-09-28 14:38:23 +01004091<p>Definition at line <a class="el" href="runtime_2_tensor_8h_source.xhtml#l00063">63</a> of file <a class="el" href="runtime_2_tensor_8h_source.xhtml">Tensor.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004092
4093</div>
4094</div>
4095<a class="anchor" id="a9f3ed96e009111cfbe53d3f77c712390"></a>
4096<div class="memitem">
4097<div class="memproto">
4098 <table class="memname">
4099 <tr>
4100 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a9f3ed96e009111cfbe53d3f77c712390">INEKernel</a> = <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td>
4101 </tr>
4102 </table>
4103</div><div class="memdoc">
4104
4105<p>Definition at line <a class="el" href="_i_n_e_kernel_8h_source.xhtml#l00031">31</a> of file <a class="el" href="_i_n_e_kernel_8h_source.xhtml">INEKernel.h</a>.</p>
4106
4107</div>
4108</div>
4109<a class="anchor" id="a19699533eb1b662e46a10715f6086487"></a>
4110<div class="memitem">
4111<div class="memproto">
4112 <table class="memname">
4113 <tr>
4114 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a19699533eb1b662e46a10715f6086487">INELKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a>&gt;</td>
4115 </tr>
4116 </table>
4117</div><div class="memdoc">
4118
4119<p>Definition at line <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml">NELKTrackerKernel.h</a>.</p>
4120
4121</div>
4122</div>
4123<a class="anchor" id="a4aad0c49ce3d7cf4693830398f190250"></a>
4124<div class="memitem">
4125<div class="memproto">
4126 <table class="memname">
4127 <tr>
4128 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4aad0c49ce3d7cf4693830398f190250">INESimpleKernel</a> = <a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td>
4129 </tr>
4130 </table>
4131</div><div class="memdoc">
4132
4133<p>Definition at line <a class="el" href="_i_n_e_simple_kernel_8h_source.xhtml#l00031">31</a> of file <a class="el" href="_i_n_e_simple_kernel_8h_source.xhtml">INESimpleKernel.h</a>.</p>
4134
4135</div>
4136</div>
4137<a class="anchor" id="a69c19b38cbee8fa6680513f6ff76bbb3"></a>
4138<div class="memitem">
4139<div class="memproto">
4140 <table class="memname">
4141 <tr>
4142 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a69c19b38cbee8fa6680513f6ff76bbb3">Int16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;int16_t&gt;</td>
4143 </tr>
4144 </table>
4145</div><div class="memdoc">
4146
4147<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00071">71</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4148
4149</div>
4150</div>
4151<a class="anchor" id="a6af9862834629c287a81b16837b51e44"></a>
4152<div class="memitem">
4153<div class="memproto">
4154 <table class="memname">
4155 <tr>
4156 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6af9862834629c287a81b16837b51e44">Int32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;int32_t&gt;</td>
4157 </tr>
4158 </table>
4159</div><div class="memdoc">
4160
4161<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00072">72</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4162
4163</div>
4164</div>
4165<a class="anchor" id="a2ab89a5d0959531aac270879cdd3ed78"></a>
4166<div class="memitem">
4167<div class="memproto">
4168 <table class="memname">
4169 <tr>
4170 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple&lt;float, float, float&gt;</td>
4171 </tr>
4172 </table>
4173</div><div class="memdoc">
4174
Kaizen8938bd32017-09-28 14:38:23 +01004175<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">282</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
4176
4177</div>
4178</div>
4179<a class="anchor" id="ae273be451a4d6de5fa255cb8fb09a64b"></a>
4180<div class="memitem">
4181<div class="memproto">
4182 <table class="memname">
4183 <tr>
4184 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ae273be451a4d6de5fa255cb8fb09a64b">IROIArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>&gt;</td>
4185 </tr>
4186 </table>
4187</div><div class="memdoc">
4188
4189<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00141">141</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004190
4191</div>
4192</div>
4193<a class="anchor" id="a32e4b9083329486a06960006af89a84c"></a>
4194<div class="memitem">
4195<div class="memproto">
4196 <table class="memname">
4197 <tr>
4198 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a32e4b9083329486a06960006af89a84c">ISize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&gt;</td>
4199 </tr>
4200 </table>
4201</div><div class="memdoc">
4202
Kaizen8938bd32017-09-28 14:38:23 +01004203<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00143">143</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004204
4205</div>
4206</div>
4207<a class="anchor" id="a1ffe8af91a934c926d102938db8d3ce1"></a>
4208<div class="memitem">
4209<div class="memproto">
4210 <table class="memname">
4211 <tr>
4212 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1ffe8af91a934c926d102938db8d3ce1">IUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;uint16_t&gt;</td>
4213 </tr>
4214 </table>
4215</div><div class="memdoc">
4216
Kaizen8938bd32017-09-28 14:38:23 +01004217<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00145">145</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004218
4219</div>
4220</div>
4221<a class="anchor" id="ac9b2a6fa6e146437bfc8c0bee96e4760"></a>
4222<div class="memitem">
4223<div class="memproto">
4224 <table class="memname">
4225 <tr>
4226 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac9b2a6fa6e146437bfc8c0bee96e4760">IUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;uint32_t&gt;</td>
4227 </tr>
4228 </table>
4229</div><div class="memdoc">
4230
Kaizen8938bd32017-09-28 14:38:23 +01004231<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00146">146</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004232
4233</div>
4234</div>
4235<a class="anchor" id="a276401fd5651e75431d3e1cc90601caa"></a>
4236<div class="memitem">
4237<div class="memproto">
4238 <table class="memname">
4239 <tr>
4240 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a276401fd5651e75431d3e1cc90601caa">IUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;uint8_t&gt;</td>
4241 </tr>
4242 </table>
4243</div><div class="memdoc">
4244
Kaizen8938bd32017-09-28 14:38:23 +01004245<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00144">144</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004246
4247</div>
4248</div>
4249<a class="anchor" id="a8856eca9a83e16bb0cb5880e9c6c9fe7"></a>
4250<div class="memitem">
4251<div class="memproto">
4252 <table class="memname">
4253 <tr>
4254 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8856eca9a83e16bb0cb5880e9c6c9fe7">KeyPointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>&gt;</td>
4255 </tr>
4256 </table>
4257</div><div class="memdoc">
4258
4259<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00064">64</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4260
4261</div>
4262</div>
4263<a class="anchor" id="a681c120e2188371794ec3a59768c64ab"></a>
4264<div class="memitem">
4265<div class="memproto">
4266 <table class="memname">
4267 <tr>
4268 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a681c120e2188371794ec3a59768c64ab">LKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a>&gt;</td>
4269 </tr>
4270 </table>
4271</div><div class="memdoc">
4272
Kaizen8938bd32017-09-28 14:38:23 +01004273<p>Definition at line <a class="el" href="_n_e_optical_flow_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_n_e_optical_flow_8h_source.xhtml">NEOpticalFlow.h</a>.</p>
4274
4275</div>
4276</div>
4277<a class="anchor" id="a0e7a03e2e133cb1fbb12517a3f646a09"></a>
4278<div class="memitem">
4279<div class="memproto">
4280 <table class="memname">
4281 <tr>
4282 <td class="memname">typedef <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &gt; <a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a></td>
4283 </tr>
4284 </table>
4285</div><div class="memdoc">
4286
4287<p>Definition at line <a class="el" href="_memory_group_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_memory_group_8h_source.xhtml">MemoryGroup.h</a>.</p>
4288
4289</div>
4290</div>
4291<a class="anchor" id="a762c7da7319adcc433b3ac7a67e18ed5"></a>
4292<div class="memitem">
4293<div class="memproto">
4294 <table class="memname">
4295 <tr>
4296 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> = std::map&lt;void **, size_t&gt;</td>
4297 </tr>
4298 </table>
4299</div><div class="memdoc">
4300
4301<p>A map of (handle, index/offset), where handle is the memory handle of the object to provide the memory for and index/offset is the buffer/offset from the pool that should be used. </p>
4302<dl class="section note"><dt>Note</dt><dd>All objects are pre-pinned to specific buffers to avoid any relevant overheads </dd></dl>
4303
4304<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00043">43</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
4305
4306</div>
4307</div>
4308<a class="anchor" id="acded863dbfdd730829d4188d67eefcf0"></a>
4309<div class="memitem">
4310<div class="memproto">
4311 <table class="memname">
4312 <tr>
4313 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> = std::mutex</td>
4314 </tr>
4315 </table>
4316</div><div class="memdoc">
4317
4318<p>Definition at line <a class="el" href="_mutex_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_mutex_8h_source.xhtml">Mutex.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004319
4320</div>
4321</div>
4322<a class="anchor" id="acf81639b3d33b5da654ef088e4d10520"></a>
4323<div class="memitem">
4324<div class="memproto">
4325 <table class="memname">
4326 <tr>
4327 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#acf81639b3d33b5da654ef088e4d10520">NEConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt;3&gt;</td>
4328 </tr>
4329 </table>
4330</div><div class="memdoc">
4331
4332<p>Interface for the kernel which applied a 3x3 convolution to a tensor. </p>
4333
4334<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00084">84</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4335
4336</div>
4337</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01004338<a class="anchor" id="adbc7771d367ba8f51da1450d3602e5c0"></a>
4339<div class="memitem">
4340<div class="memproto">
4341 <table class="memname">
4342 <tr>
4343 <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>&lt;5&gt;</td>
4344 </tr>
4345 </table>
4346</div><div class="memdoc">
4347
4348<p>Basic function to run 5x5 convolution. </p>
4349
Kaizen8938bd32017-09-28 14:38:23 +01004350<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>
Anthony Barbier46d59272017-05-04 09:15:15 +01004351
4352</div>
4353</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004354<a class="anchor" id="a21898b2d2e31ab9af8933c66ff82c8c6"></a>
4355<div class="memitem">
4356<div class="memproto">
4357 <table class="memname">
4358 <tr>
4359 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a21898b2d2e31ab9af8933c66ff82c8c6">NEConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt;5&gt;</td>
4360 </tr>
4361 </table>
4362</div><div class="memdoc">
4363
4364<p>Interface for the kernel which applied a 5x5 convolution to a tensor. </p>
4365
4366<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00086">86</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4367
4368</div>
4369</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01004370<a class="anchor" id="aeb2682fbeb2766df26b4be1971c9757d"></a>
4371<div class="memitem">
4372<div class="memproto">
4373 <table class="memname">
4374 <tr>
4375 <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>&lt;7&gt;</td>
4376 </tr>
4377 </table>
4378</div><div class="memdoc">
4379
4380<p>Basic function to run 7x7 convolution. </p>
4381
Kaizen8938bd32017-09-28 14:38:23 +01004382<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
Anthony Barbier46d59272017-05-04 09:15:15 +01004383
4384</div>
4385</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004386<a class="anchor" id="ae46cbbe03d31c6c8e7eba7b58999842d"></a>
4387<div class="memitem">
4388<div class="memproto">
4389 <table class="memname">
4390 <tr>
4391 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ae46cbbe03d31c6c8e7eba7b58999842d">NEConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt;7&gt;</td>
4392 </tr>
4393 </table>
4394</div><div class="memdoc">
4395
4396<p>Interface for the kernel which applied a 7x7 convolution to a tensor. </p>
4397
4398<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00088">88</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4399
4400</div>
4401</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01004402<a class="anchor" id="ae5a088552f26a1afafd0cbf821d256fb"></a>
4403<div class="memitem">
4404<div class="memproto">
4405 <table class="memname">
4406 <tr>
4407 <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>&lt;9&gt;</td>
4408 </tr>
4409 </table>
4410</div><div class="memdoc">
4411
4412<p>Basic function to run 9x9 convolution. </p>
4413
Kaizen8938bd32017-09-28 14:38:23 +01004414<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
Anthony Barbier46d59272017-05-04 09:15:15 +01004415
4416</div>
4417</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004418<a class="anchor" id="a1025306f820a9e76df7e5891caacff7b"></a>
4419<div class="memitem">
4420<div class="memproto">
4421 <table class="memname">
4422 <tr>
4423 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1025306f820a9e76df7e5891caacff7b">NEConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt;9&gt;</td>
4424 </tr>
4425 </table>
4426</div><div class="memdoc">
4427
4428<p>Interface for the kernel which applied a 9x9 convolution to a tensor. </p>
4429
4430<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00090">90</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4431
4432</div>
4433</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01004434<a class="anchor" id="a0604c803e41880a4a16408efc4e6a69b"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00004435<div class="memitem">
4436<div class="memproto">
4437 <table class="memname">
4438 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01004439 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0604c803e41880a4a16408efc4e6a69b">NEScheduler</a> = <a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td>
Anthony Barbier871448e2017-03-24 14:54:29 +00004440 </tr>
4441 </table>
4442</div><div class="memdoc">
4443
4444<p>Definition at line <a class="el" href="_n_e_scheduler_8h_source.xhtml#l00031">31</a> of file <a class="el" href="_n_e_scheduler_8h_source.xhtml">NEScheduler.h</a>.</p>
4445
4446</div>
4447</div>
4448<a class="anchor" id="ac78a7593874c21cff86478c1ba6df27b"></a>
4449<div class="memitem">
4450<div class="memproto">
4451 <table class="memname">
4452 <tr>
4453 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac78a7593874c21cff86478c1ba6df27b">NESeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt;5&gt;</td>
4454 </tr>
4455 </table>
4456</div><div class="memdoc">
4457
4458<p>Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. </p>
4459
4460<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00130">130</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4461
4462</div>
4463</div>
4464<a class="anchor" id="ae4152320657df499674ed64b16c28a7b"></a>
4465<div class="memitem">
4466<div class="memproto">
4467 <table class="memname">
4468 <tr>
4469 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ae4152320657df499674ed64b16c28a7b">NESeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt;5&gt;</td>
4470 </tr>
4471 </table>
4472</div><div class="memdoc">
4473
4474<p>Interface for the kernel which applied a 1x5 vertical convolution to a tensor. </p>
4475
4476<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00186">186</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4477
4478</div>
4479</div>
4480<a class="anchor" id="aca4adbcd292c26b0e392c59875c1e926"></a>
4481<div class="memitem">
4482<div class="memproto">
4483 <table class="memname">
4484 <tr>
4485 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aca4adbcd292c26b0e392c59875c1e926">NESeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt;7&gt;</td>
4486 </tr>
4487 </table>
4488</div><div class="memdoc">
4489
4490<p>Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. </p>
4491
4492<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00132">132</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4493
4494</div>
4495</div>
4496<a class="anchor" id="a0f952bd0821b506e18514a3f4dbc6c39"></a>
4497<div class="memitem">
4498<div class="memproto">
4499 <table class="memname">
4500 <tr>
4501 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0f952bd0821b506e18514a3f4dbc6c39">NESeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt;7&gt;</td>
4502 </tr>
4503 </table>
4504</div><div class="memdoc">
4505
4506<p>Interface for the kernel which applied a 1x7 vertical convolution to a tensor. </p>
4507
4508<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00188">188</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4509
4510</div>
4511</div>
4512<a class="anchor" id="a4ba5f6b7cd6b70b75e42149f3bc08f38"></a>
4513<div class="memitem">
4514<div class="memproto">
4515 <table class="memname">
4516 <tr>
4517 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4ba5f6b7cd6b70b75e42149f3bc08f38">NESeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt;9&gt;</td>
4518 </tr>
4519 </table>
4520</div><div class="memdoc">
4521
4522<p>Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. </p>
4523
4524<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00134">134</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4525
4526</div>
4527</div>
4528<a class="anchor" id="a6310d21f215fface41df4cde725a62b9"></a>
4529<div class="memitem">
4530<div class="memproto">
4531 <table class="memname">
4532 <tr>
4533 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6310d21f215fface41df4cde725a62b9">NESeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt;9&gt;</td>
4534 </tr>
4535 </table>
4536</div><div class="memdoc">
4537
4538<p>Interface for the kernel which applied a 1x9 vertical convolution to a tensor. </p>
4539
4540<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00190">190</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
4541
4542</div>
4543</div>
4544<a class="anchor" id="a4467b302fc9ec312c40580336ab783da"></a>
4545<div class="memitem">
4546<div class="memproto">
4547 <table class="memname">
4548 <tr>
4549 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> = <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td>
4550 </tr>
4551 </table>
4552</div><div class="memdoc">
4553
Kaizen8938bd32017-09-28 14:38:23 +01004554<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00206">206</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01004555
4556</div>
4557</div>
4558<a class="anchor" id="a1521eea74b97de8f2df9304e44179400"></a>
4559<div class="memitem">
4560<div class="memproto">
4561 <table class="memname">
4562 <tr>
4563 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> = int16_t</td>
4564 </tr>
4565 </table>
4566</div><div class="memdoc">
4567
4568<p>16 bit fixed point scalar value </p>
4569
4570<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">30</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
4571
4572</div>
4573</div>
4574<a class="anchor" id="a82c56f0856f56d430393e6a00baee983"></a>
4575<div class="memitem">
4576<div class="memproto">
4577 <table class="memname">
4578 <tr>
4579 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> = int16x4_t</td>
4580 </tr>
4581 </table>
4582</div><div class="memdoc">
4583
4584<p>16 bit fixed point vector with 4 elements </p>
4585
4586<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00041">41</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4587
4588</div>
4589</div>
4590<a class="anchor" id="a8d57e0f4f122442011213667168ef538"></a>
4591<div class="memitem">
4592<div class="memproto">
4593 <table class="memname">
4594 <tr>
4595 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8d57e0f4f122442011213667168ef538">qint16x4x2_t</a> = int16x4x2_t</td>
4596 </tr>
4597 </table>
4598</div><div class="memdoc">
4599
4600<p>16 bit fixed point vector with 8 elements </p>
4601
4602<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4603
4604</div>
4605</div>
4606<a class="anchor" id="a63f034ee885f20111e7f5d44e48e6d93"></a>
4607<div class="memitem">
4608<div class="memproto">
4609 <table class="memname">
4610 <tr>
4611 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a63f034ee885f20111e7f5d44e48e6d93">qint16x4x3_t</a> = int16x4x3_t</td>
4612 </tr>
4613 </table>
4614</div><div class="memdoc">
4615
4616<p>16 bit fixed point vector with 12 elements </p>
4617
4618<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4619
4620</div>
4621</div>
4622<a class="anchor" id="a8525b18a2f34c3497bbfbd0e7c3a7875"></a>
4623<div class="memitem">
4624<div class="memproto">
4625 <table class="memname">
4626 <tr>
4627 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8525b18a2f34c3497bbfbd0e7c3a7875">qint16x4x4_t</a> = int16x4x4_t</td>
4628 </tr>
4629 </table>
4630</div><div class="memdoc">
4631
4632<p>16 bit fixed point vector with 16 elements </p>
4633
4634<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4635
4636</div>
4637</div>
4638<a class="anchor" id="a4e15143176bfacdde8b06f4bb0b67427"></a>
4639<div class="memitem">
4640<div class="memproto">
4641 <table class="memname">
4642 <tr>
4643 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> = int16x8_t</td>
4644 </tr>
4645 </table>
4646</div><div class="memdoc">
4647
4648<p>16 bit fixed point vector with 8 elements </p>
4649
4650<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4651
4652</div>
4653</div>
4654<a class="anchor" id="a3c4099e91913f28017e1f57b8e5cbf9f"></a>
4655<div class="memitem">
4656<div class="memproto">
4657 <table class="memname">
4658 <tr>
4659 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> = int16x8x2_t</td>
4660 </tr>
4661 </table>
4662</div><div class="memdoc">
4663
4664<p>16 bit fixed point vector with 16 elements </p>
4665
4666<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00046">46</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4667
4668</div>
4669</div>
4670<a class="anchor" id="a65e109cf43ade8a2a3c57a1120b90b05"></a>
4671<div class="memitem">
4672<div class="memproto">
4673 <table class="memname">
4674 <tr>
4675 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a65e109cf43ade8a2a3c57a1120b90b05">qint16x8x3_t</a> = int16x8x3_t</td>
4676 </tr>
4677 </table>
4678</div><div class="memdoc">
4679
4680<p>16 bit fixed point vector with 24 elements </p>
4681
4682<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4683
4684</div>
4685</div>
4686<a class="anchor" id="a6bc1e8d62f1055278d8f05454faa422f"></a>
4687<div class="memitem">
4688<div class="memproto">
4689 <table class="memname">
4690 <tr>
4691 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6bc1e8d62f1055278d8f05454faa422f">qint16x8x4_t</a> = int16x8x4_t</td>
4692 </tr>
4693 </table>
4694</div><div class="memdoc">
4695
4696<p>16 bit fixed point vector with 32 elements </p>
4697
4698<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4699
4700</div>
4701</div>
4702<a class="anchor" id="aa06c95f9976f3729316d689b4419089f"></a>
4703<div class="memitem">
4704<div class="memproto">
4705 <table class="memname">
4706 <tr>
4707 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> = int32_t</td>
4708 </tr>
4709 </table>
4710</div><div class="memdoc">
4711
4712<p>32 bit fixed point scalar value </p>
4713
4714<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">31</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
4715
4716</div>
4717</div>
Kaizen8938bd32017-09-28 14:38:23 +01004718<a class="anchor" id="addcffa8e8086154c0449c23e6b0dff83"></a>
4719<div class="memitem">
4720<div class="memproto">
4721 <table class="memname">
4722 <tr>
4723 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> = int32x2_t</td>
4724 </tr>
4725 </table>
4726</div><div class="memdoc">
4727
4728<p>32 bit fixed point vector with 2 elements </p>
4729
4730<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00049">49</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4731
4732</div>
4733</div>
4734<a class="anchor" id="abd854c117af4dbd12633db2fbc01dd49"></a>
4735<div class="memitem">
4736<div class="memproto">
4737 <table class="memname">
4738 <tr>
4739 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> = int32x4_t</td>
4740 </tr>
4741 </table>
4742</div><div class="memdoc">
4743
4744<p>32 bit fixed point vector with 4 elements </p>
4745
4746<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00050">50</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4747
4748</div>
4749</div>
4750<a class="anchor" id="a6ed7f8448a2a08a531e8202334e4dcdd"></a>
4751<div class="memitem">
4752<div class="memproto">
4753 <table class="memname">
4754 <tr>
4755 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6ed7f8448a2a08a531e8202334e4dcdd">qint32x4x2_t</a> = int32x4x2_t</td>
4756 </tr>
4757 </table>
4758</div><div class="memdoc">
4759
4760<p>32 bit fixed point vector with 8 elements </p>
4761
4762<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00051">51</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4763
4764</div>
4765</div>
4766<a class="anchor" id="adc3be0bc3741b081217b2609abcf0333"></a>
4767<div class="memitem">
4768<div class="memproto">
4769 <table class="memname">
4770 <tr>
4771 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> = int64_t</td>
4772 </tr>
4773 </table>
4774</div><div class="memdoc">
4775
4776<p>64 bit fixed point scalar value </p>
4777
4778<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00032">32</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
4779
4780</div>
4781</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01004782<a class="anchor" id="a4c3f681c30c9398c45bc3cd5dc4f038a"></a>
4783<div class="memitem">
4784<div class="memproto">
4785 <table class="memname">
4786 <tr>
4787 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> = int8_t</td>
4788 </tr>
4789 </table>
4790</div><div class="memdoc">
4791
4792<p>8 bit fixed point scalar value </p>
4793
4794<p>Definition at line <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">29</a> of file <a class="el" href="arm__compute_2core_2_fixed_point_8h_source.xhtml">FixedPoint.h</a>.</p>
4795
4796</div>
4797</div>
4798<a class="anchor" id="a5b99ed49abd6b7bf13dafdd17bcef855"></a>
4799<div class="memitem">
4800<div class="memproto">
4801 <table class="memname">
4802 <tr>
4803 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> = int8x16_t</td>
4804 </tr>
4805 </table>
4806</div><div class="memdoc">
4807
4808<p>8 bit fixed point vector with 16 elements </p>
4809
4810<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4811
4812</div>
4813</div>
4814<a class="anchor" id="a09108711e0c18d4e9811ea4597d573b1"></a>
4815<div class="memitem">
4816<div class="memproto">
4817 <table class="memname">
4818 <tr>
4819 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a09108711e0c18d4e9811ea4597d573b1">qint8x16x2_t</a> = int8x16x2_t</td>
4820 </tr>
4821 </table>
4822</div><div class="memdoc">
4823
4824<p>8 bit fixed point vector with 32 elements </p>
4825
4826<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00038">38</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4827
4828</div>
4829</div>
4830<a class="anchor" id="a7e175277ee7de6a5aeb5cd8916dbb346"></a>
4831<div class="memitem">
4832<div class="memproto">
4833 <table class="memname">
4834 <tr>
4835 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7e175277ee7de6a5aeb5cd8916dbb346">qint8x16x3_t</a> = int8x16x3_t</td>
4836 </tr>
4837 </table>
4838</div><div class="memdoc">
4839
4840<p>8 bit fixed point vector with 48 elements </p>
4841
4842<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00039">39</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4843
4844</div>
4845</div>
4846<a class="anchor" id="a3c4b33603ffff71e9f02c4be1a2f14d5"></a>
4847<div class="memitem">
4848<div class="memproto">
4849 <table class="memname">
4850 <tr>
4851 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3c4b33603ffff71e9f02c4be1a2f14d5">qint8x16x4_t</a> = int8x16x4_t</td>
4852 </tr>
4853 </table>
4854</div><div class="memdoc">
4855
4856<p>8 bit fixed point vector with 64 elements </p>
4857
4858<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4859
4860</div>
4861</div>
4862<a class="anchor" id="a16a1bee14f1db073f75caa76dacf5078"></a>
4863<div class="memitem">
4864<div class="memproto">
4865 <table class="memname">
4866 <tr>
4867 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> = int8x8_t</td>
4868 </tr>
4869 </table>
4870</div><div class="memdoc">
4871
4872<p>8 bit fixed point vector with 8 elements </p>
4873
4874<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4875
4876</div>
4877</div>
4878<a class="anchor" id="ace2375b626995858a398e1ffb3108f14"></a>
4879<div class="memitem">
4880<div class="memproto">
4881 <table class="memname">
4882 <tr>
4883 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ace2375b626995858a398e1ffb3108f14">qint8x8x2_t</a> = int8x8x2_t</td>
4884 </tr>
4885 </table>
4886</div><div class="memdoc">
4887
4888<p>8 bit fixed point vector with 16 elements </p>
4889
4890<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4891
4892</div>
4893</div>
4894<a class="anchor" id="a252c74fae9a9238ef7c23d306e670706"></a>
4895<div class="memitem">
4896<div class="memproto">
4897 <table class="memname">
4898 <tr>
4899 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a252c74fae9a9238ef7c23d306e670706">qint8x8x3_t</a> = int8x8x3_t</td>
4900 </tr>
4901 </table>
4902</div><div class="memdoc">
4903
4904<p>8 bit fixed point vector with 24 elements </p>
4905
4906<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
4907
4908</div>
4909</div>
4910<a class="anchor" id="a01ae65c0a0736d4293e657a66bde1538"></a>
4911<div class="memitem">
4912<div class="memproto">
4913 <table class="memname">
4914 <tr>
4915 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a01ae65c0a0736d4293e657a66bde1538">qint8x8x4_t</a> = int8x8x4_t</td>
4916 </tr>
4917 </table>
4918</div><div class="memdoc">
4919
4920<p>8 bit fixed point vector with 32 elements </p>
4921
4922<p>Definition at line <a class="el" href="_n_e_fixed_point_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_n_e_fixed_point_8h_source.xhtml">NEFixedPoint.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004923
4924</div>
4925</div>
4926<a class="anchor" id="abd445adaaca7913c9344c90dc8c76358"></a>
4927<div class="memitem">
4928<div class="memproto">
4929 <table class="memname">
4930 <tr>
4931 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#abd445adaaca7913c9344c90dc8c76358">Size2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&gt;</td>
4932 </tr>
4933 </table>
4934</div><div class="memdoc">
4935
4936<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00067">67</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4937
4938</div>
4939</div>
4940<a class="anchor" id="ab91cb2269b2e58ed2cb6bd2ca831d434"></a>
4941<div class="memitem">
4942<div class="memproto">
4943 <table class="memname">
4944 <tr>
4945 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab91cb2269b2e58ed2cb6bd2ca831d434">UInt16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;uint16_t&gt;</td>
4946 </tr>
4947 </table>
4948</div><div class="memdoc">
4949
4950<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00069">69</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4951
4952</div>
4953</div>
4954<a class="anchor" id="acd6eb2619ccd5eee4963de3195785359"></a>
4955<div class="memitem">
4956<div class="memproto">
4957 <table class="memname">
4958 <tr>
4959 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#acd6eb2619ccd5eee4963de3195785359">UInt32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;uint32_t&gt;</td>
4960 </tr>
4961 </table>
4962</div><div class="memdoc">
4963
4964<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00070">70</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4965
4966</div>
4967</div>
4968<a class="anchor" id="a9dbb5e00a3f397691eb782f03f65375c"></a>
4969<div class="memitem">
4970<div class="memproto">
4971 <table class="memname">
4972 <tr>
4973 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a9dbb5e00a3f397691eb782f03f65375c">UInt8Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;uint8_t&gt;</td>
4974 </tr>
4975 </table>
4976</div><div class="memdoc">
4977
4978<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00068">68</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
4979
4980</div>
4981</div>
4982<h2 class="groupheader">Enumeration Type Documentation</h2>
4983<a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202"></a>
4984<div class="memitem">
4985<div class="memproto">
4986<table class="mlabels">
4987 <tr>
4988 <td class="mlabels-left">
4989 <table class="memname">
4990 <tr>
4991 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a></td>
4992 </tr>
4993 </table>
4994 </td>
4995 <td class="mlabels-right">
4996<span class="mlabels"><span class="mlabel">strong</span></span> </td>
4997 </tr>
4998</table>
4999</div><div class="memdoc">
5000
5001<p>Bilinear Interpolation method used by LKTracker. </p>
5002<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005003<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"></a>BILINEAR_OLD_NEW</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005004</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005005<tr><td class="fieldname"><em><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"></a>BILINEAR_SCHARR</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005006</td></tr>
5007</table>
5008
Kaizen8938bd32017-09-28 14:38:23 +01005009<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00224">224</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5010<div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;{</div>
5011<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,</div>
5012<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a></div>
5013<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;};</div>
5014<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005015<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>
5016</div><!-- fragment -->
5017</div>
5018</div>
5019<a class="anchor" id="a15a05537a472ee742404821851529327"></a>
5020<div class="memitem">
5021<div class="memproto">
5022<table class="mlabels">
5023 <tr>
5024 <td class="mlabels-left">
5025 <table class="memname">
5026 <tr>
5027 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a></td>
5028 </tr>
5029 </table>
5030 </td>
5031 <td class="mlabels-right">
5032<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5033 </tr>
5034</table>
5035</div><div class="memdoc">
5036
5037<p>Methods available to handle borders. </p>
5038<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005039<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"></a>UNDEFINED</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005040<p>Borders are left undefined. </p>
5041</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005042<tr><td class="fieldname"><em><a class="anchor" id="a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"></a>CONSTANT</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005043<p>Pixels outside the image are assumed to have a constant value. </p>
5044</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005045<tr><td class="fieldname"><em><a class="anchor" id="a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"></a>REPLICATE</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005046<p>Pixels outside the image are assumed to have the same value as the closest image pixel. </p>
5047</td></tr>
5048</table>
5049
Kaizen8938bd32017-09-28 14:38:23 +01005050<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00128">128</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5051<div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;{</div>
5052<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div>
5053<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div>
5054<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div>
5055<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;};</div>
5056<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005057<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>
5058<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>
5059</div><!-- fragment -->
5060</div>
5061</div>
5062<a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455a"></a>
5063<div class="memitem">
5064<div class="memproto">
5065<table class="mlabels">
5066 <tr>
5067 <td class="mlabels-left">
5068 <table class="memname">
5069 <tr>
5070 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a></td>
5071 </tr>
5072 </table>
5073 </td>
5074 <td class="mlabels-right">
5075<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5076 </tr>
5077</table>
5078</div><div class="memdoc">
5079
5080<p>Available channels. </p>
5081<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005082<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005083</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005084<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"></a>C0</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005085<p>Unknown channel format. </p>
5086<p>First channel (used by formats with unknown channel types). </p>
5087</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005088<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"></a>C1</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005089<p>Second channel (used by formats with unknown channel types). </p>
5090</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005091<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"></a>C2</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005092<p>Third channel (used by formats with unknown channel types). </p>
5093</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005094<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"></a>C3</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005095<p>Fourth channel (used by formats with unknown channel types). </p>
5096</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005097<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"></a>R</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005098<p>Red channel. </p>
5099</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005100<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"></a>G</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005101<p>Green channel. </p>
5102</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005103<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"></a>B</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005104<p>Blue channel. </p>
5105</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005106<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"></a>A</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005107<p>Alpha channel. </p>
5108</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005109<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"></a>Y</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005110<p>Luma channel. </p>
5111</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005112<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"></a>U</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005113<p>Cb/U channel. </p>
5114</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005115<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"></a>V</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005116<p>Cr/V/Value channel. </p>
5117</td></tr>
5118</table>
5119
Kaizen8938bd32017-09-28 14:38:23 +01005120<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00316">316</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5121<div class="fragment"><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;{</div>
5122<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div>
5123<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div>
5124<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div>
5125<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div>
5126<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div>
5127<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div>
5128<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div>
5129<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div>
5130<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div>
5131<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div>
5132<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div>
5133<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div>
5134<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;};</div>
5135<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005136<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>
5137<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>
5138<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>
5139<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">arm_compute::Channel::C0</a></div><div class="ttdoc">Unknown channel format. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005140<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">arm_compute::Channel::R</a></div><div class="ttdoc">Red channel. </div></div>
5141<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">arm_compute::Channel::C2</a></div><div class="ttdoc">Third channel (used by formats with unknown channel types). </div></div>
5142<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel. </div></div>
5143<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">arm_compute::Channel::C3</a></div><div class="ttdoc">Fourth channel (used by formats with unknown channel types). </div></div>
5144<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">arm_compute::Channel::Y</a></div><div class="ttdoc">Luma channel. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01005145<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005146<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">arm_compute::Channel::G</a></div><div class="ttdoc">Green channel. </div></div>
5147</div><!-- fragment -->
5148</div>
5149</div>
Kaizen8938bd32017-09-28 14:38:23 +01005150<a class="anchor" id="a3a440b3893fa10608d4428958be1c52e"></a>
5151<div class="memitem">
5152<div class="memproto">
5153<table class="mlabels">
5154 <tr>
5155 <td class="mlabels-left">
5156 <table class="memname">
5157 <tr>
5158 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a></td>
5159 </tr>
5160 </table>
5161 </td>
5162 <td class="mlabels-right">
5163<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5164 </tr>
5165</table>
5166</div><div class="memdoc">
5167<table class="fieldtable">
5168<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"></a>CL10</em>&#160;</td><td class="fielddoc">
5169</td></tr>
5170<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"></a>CL11</em>&#160;</td><td class="fielddoc">
5171</td></tr>
5172<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"></a>CL12</em>&#160;</td><td class="fielddoc">
5173</td></tr>
5174<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"></a>CL20</em>&#160;</td><td class="fielddoc">
5175</td></tr>
5176<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em>&#160;</td><td class="fielddoc">
5177</td></tr>
5178</table>
5179
5180<p>Definition at line <a class="el" href="_c_l_types_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_c_l_types_8h_source.xhtml">CLTypes.h</a>.</p>
5181<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
5182<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>, <span class="comment">/* the OpenCL 1.0 */</span></div>
5183<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>, <span class="comment">/* the OpenCL 1.1 */</span></div>
5184<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>, <span class="comment">/* the OpenCL 1.2 */</span></div>
5185<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>, <span class="comment">/* the OpenCL 2.0 and above */</span></div>
5186<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> <span class="comment">/* unkown version */</span></div>
5187<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;};</div>
5188<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">arm_compute::CLVersion::CL20</a></div></div>
5189<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">arm_compute::CLVersion::CL12</a></div></div>
5190<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">arm_compute::CLVersion::CL10</a></div></div>
5191<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">arm_compute::CLVersion::CL11</a></div></div>
5192<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
5193</div><!-- fragment -->
5194</div>
5195</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005196<a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6f"></a>
5197<div class="memitem">
5198<div class="memproto">
5199<table class="mlabels">
5200 <tr>
5201 <td class="mlabels-left">
5202 <table class="memname">
5203 <tr>
5204 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a></td>
5205 </tr>
5206 </table>
5207 </td>
5208 <td class="mlabels-right">
5209<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5210 </tr>
5211</table>
5212</div><div class="memdoc">
5213
5214<p>Policy to handle overflow. </p>
5215<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005216<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"></a>WRAP</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005217<p>Wrap around. </p>
5218</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005219<tr><td class="fieldname"><em><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"></a>SATURATE</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005220<p>Saturate. </p>
5221</td></tr>
5222</table>
5223
Kaizen8938bd32017-09-28 14:38:23 +01005224<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00209">209</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5225<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div>
5226<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div>
5227<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div>
5228<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;};</div>
5229<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005230<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>
5231</div><!-- fragment -->
5232</div>
5233</div>
Kaizen8938bd32017-09-28 14:38:23 +01005234<a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853d"></a>
5235<div class="memitem">
5236<div class="memproto">
5237<table class="mlabels">
5238 <tr>
5239 <td class="mlabels-left">
5240 <table class="memname">
5241 <tr>
5242 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">CPUTarget</a></td>
5243 </tr>
5244 </table>
5245 </td>
5246 <td class="mlabels-right">
5247<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5248 </tr>
5249</table>
5250</div><div class="memdoc">
5251
5252<p>Available CPU Targets. </p>
5253<table class="fieldtable">
5254<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2"></a>ARCH_MASK</em>&#160;</td><td class="fielddoc">
5255</td></tr>
5256<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5"></a>CPU_MODEL</em>&#160;</td><td class="fielddoc">
5257</td></tr>
5258<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22"></a>INTRINSICS</em>&#160;</td><td class="fielddoc">
5259</td></tr>
5260<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c"></a>ARMV7</em>&#160;</td><td class="fielddoc">
5261</td></tr>
5262<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd"></a>ARMV8</em>&#160;</td><td class="fielddoc">
5263</td></tr>
5264<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d"></a>ARMV8_2</em>&#160;</td><td class="fielddoc">
5265</td></tr>
5266<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e"></a>A7x</em>&#160;</td><td class="fielddoc">
5267</td></tr>
5268<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced"></a>A5x</em>&#160;</td><td class="fielddoc">
5269</td></tr>
5270<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782"></a>DOT</em>&#160;</td><td class="fielddoc">
5271</td></tr>
5272<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d"></a>A53</em>&#160;</td><td class="fielddoc">
5273</td></tr>
5274<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649"></a>A55</em>&#160;</td><td class="fielddoc">
5275</td></tr>
5276<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893"></a>A55_DOT</em>&#160;</td><td class="fielddoc">
5277</td></tr>
5278<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da05f60b9c3ca8212c8ebeb166d58bc937"></a>A72</em>&#160;</td><td class="fielddoc">
5279</td></tr>
5280<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373"></a>A73</em>&#160;</td><td class="fielddoc">
5281</td></tr>
5282<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831"></a>A75</em>&#160;</td><td class="fielddoc">
5283</td></tr>
5284<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15"></a>A75_DOT</em>&#160;</td><td class="fielddoc">
5285</td></tr>
5286</table>
5287
5288<p>Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00030">30</a> of file <a class="el" href="_c_p_p_types_8h_source.xhtml">CPPTypes.h</a>.</p>
5289<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;{</div>
5290<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2">ARCH_MASK</a> = 0x0F00,</div>
5291<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5">CPU_MODEL</a> = 0x00FF,</div>
5292<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22">INTRINSICS</a> = 0x0100,</div>
5293<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">ARMV7</a> = 0x0200,</div>
5294<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> = 0x0300,</div>
5295<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d">ARMV8_2</a> = 0x0400,</div>
5296<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> = 0x0070,</div>
5297<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced">A5x</a> = 0x0050,</div>
5298<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a> = 0x1000,</div>
5299<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
5300<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d">A53</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> | 0x3),</div>
5301<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; A55 = (ARMV8_2 | A5x | 0x5),</div>
5302<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893">A55_DOT</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">A55</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a>),</div>
5303<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; A72 = (ARMV8 | A7x | 0x2),</div>
5304<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373">A73</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> | 0x3),</div>
5305<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; A75 = (ARMV8_2 | A7x | 0x5),</div>
5306<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15">A75_DOT</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">A75</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a>),</div>
5307<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;};</div>
5308<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">arm_compute::CPUTarget::ARMV7</a></div></div>
5309<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">arm_compute::CPUTarget::A75</a></div></div>
5310<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">arm_compute::CPUTarget::DOT</a></div></div>
5311<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">arm_compute::CPUTarget::A55</a></div></div>
5312<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced">arm_compute::CPUTarget::A5x</a></div></div>
5313<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893">arm_compute::CPUTarget::A55_DOT</a></div></div>
5314<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5">arm_compute::CPUTarget::CPU_MODEL</a></div></div>
5315<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d">arm_compute::CPUTarget::ARMV8_2</a></div></div>
5316<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373">arm_compute::CPUTarget::A73</a></div></div>
5317<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">arm_compute::CPUTarget::A7x</a></div></div>
5318<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">arm_compute::CPUTarget::ARMV8</a></div></div>
5319<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2">arm_compute::CPUTarget::ARCH_MASK</a></div></div>
5320<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22">arm_compute::CPUTarget::INTRINSICS</a></div></div>
5321<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d">arm_compute::CPUTarget::A53</a></div></div>
5322<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15">arm_compute::CPUTarget::A75_DOT</a></div></div>
5323</div><!-- fragment -->
5324</div>
5325</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005326<a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6"></a>
5327<div class="memitem">
5328<div class="memproto">
5329<table class="mlabels">
5330 <tr>
5331 <td class="mlabels-left">
5332 <table class="memname">
5333 <tr>
5334 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a></td>
5335 </tr>
5336 </table>
5337 </td>
5338 <td class="mlabels-right">
5339<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5340 </tr>
5341</table>
5342</div><div class="memdoc">
5343
5344<p>Available data types. </p>
5345<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005346<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005347</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005348<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5"></a>U8</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005349</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005350<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005351</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005352<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"></a>QS8</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005353</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005354<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005355</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005356<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005357</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005358<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"></a>QS16</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005359</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005360<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005361</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005362<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005363</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005364<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"></a>QS32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005365</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005366<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005367</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005368<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"></a>S64</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005369</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005370<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94"></a>F16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005371</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005372<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005373</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005374<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"></a>F64</em>&#160;</td><td class="fielddoc">
5375</td></tr>
5376<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"></a>SIZET</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005377</td></tr>
5378</table>
5379
Kaizen8938bd32017-09-28 14:38:23 +01005380<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00064">64</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5381<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div>
5382<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,</div>
5383<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,</div>
5384<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,</div>
5385<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>,</div>
5386<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,</div>
5387<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,</div>
5388<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>,</div>
5389<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,</div>
5390<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,</div>
5391<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>,</div>
5392<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,</div>
5393<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,</div>
5394<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,</div>
5395<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,</div>
5396<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,</div>
5397<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a></div>
5398<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;};</div>
5399<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">arm_compute::DataType::QS16</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005400<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">arm_compute::DataType::QS8</a></div></div>
5401<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005402<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>
5403<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005404<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 U32 per channel </div></div>
5405<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 U16 per channel </div></div>
5406<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">arm_compute::DataType::S64</a></div></div>
5407<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">arm_compute::DataType::SIZET</a></div></div>
5408<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 S32 per channel </div></div>
5409<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 U8 per channel </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01005410<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
5411<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">arm_compute::DataType::QS32</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005412<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div></div>
5413<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div></div>
5414<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div></div>
5415</div><!-- fragment -->
5416</div>
5417</div>
5418<a class="anchor" id="a1fece1bd804e64f39f602d1c3969849a"></a>
5419<div class="memitem">
5420<div class="memproto">
5421<table class="mlabels">
5422 <tr>
5423 <td class="mlabels-left">
5424 <table class="memname">
5425 <tr>
5426 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a></td>
5427 </tr>
5428 </table>
5429 </td>
5430 <td class="mlabels-right">
5431<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5432 </tr>
5433</table>
5434</div><div class="memdoc">
5435
5436<p>Dimension rounding type when down-scaling on CNNs. </p>
5437<dl class="section note"><dt>Note</dt><dd>Used in pooling and convolution layer </dd></dl>
5438<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005439<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"></a>FLOOR</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005440<p>Floor rounding. </p>
5441</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005442<tr><td class="fieldname"><em><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"></a>CEIL</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005443<p>Ceil rounding. </p>
5444</td></tr>
5445</table>
5446
Kaizen8938bd32017-09-28 14:38:23 +01005447<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00391">391</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5448<div class="fragment"><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;{</div>
5449<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div>
5450<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div>
5451<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;};</div>
5452<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005453<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>
5454</div><!-- fragment -->
5455</div>
5456</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005457<a class="anchor" id="afa20b6a7f4383003babd690f026f22dc"></a>
5458<div class="memitem">
5459<div class="memproto">
5460<table class="mlabels">
5461 <tr>
5462 <td class="mlabels-left">
5463 <table class="memname">
5464 <tr>
5465 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a></td>
5466 </tr>
5467 </table>
5468 </td>
5469 <td class="mlabels-right">
5470<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5471 </tr>
5472</table>
5473</div><div class="memdoc">
5474
5475<p>Fixed point operation. </p>
5476<table class="fieldtable">
Kaizenbf8b01d2017-10-12 14:26:51 +01005477<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d"></a>ADD</em>&#160;</td><td class="fielddoc">
5478<p>Addition. </p>
5479</td></tr>
5480<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb"></a>SUB</em>&#160;</td><td class="fielddoc">
5481<p>Subtraction. </p>
5482</td></tr>
5483<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c"></a>MUL</em>&#160;</td><td class="fielddoc">
5484<p>Multiplication. </p>
5485</td></tr>
5486<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"></a>EXP</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005487<p>Exponential. </p>
5488</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005489<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"></a>LOG</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005490<p>Logarithm. </p>
5491</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005492<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"></a>INV_SQRT</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005493<p>Inverse square root. </p>
5494</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005495<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1"></a>RECIPROCAL</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005496<p>Reciprocal. </p>
5497</td></tr>
5498</table>
5499
Kaizen8938bd32017-09-28 14:38:23 +01005500<p>Definition at line <a class="el" href="tests_2_types_8h_source.xhtml#l00034">34</a> of file <a class="el" href="tests_2_types_8h_source.xhtml">Types.h</a>.</p>
5501<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
Kaizenbf8b01d2017-10-12 14:26:51 +01005502<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a>, </div>
5503<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a>, </div>
5504<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, </div>
5505<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, </div>
5506<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, </div>
5507<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, </div>
5508<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a> </div>
5509<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;};</div>
Kaizen8938bd32017-09-28 14:38:23 +01005510<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">arm_compute::FixedPointOp::LOG</a></div><div class="ttdoc">Logarithm. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005511<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">arm_compute::FixedPointOp::EXP</a></div><div class="ttdoc">Exponential. </div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +01005512<div class="ttc" id="arithmetic__op_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00034">arithmetic_op.cl:34</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005513<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">arm_compute::FixedPointOp::INV_SQRT</a></div><div class="ttdoc">Inverse square root. </div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +01005514<div class="ttc" id="arithmetic__op_8cl_xhtml_aafc2c4f262a0686c07f86c7d2e1d8d14"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a></div><div class="ttdeci">#define SUB(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00035">arithmetic_op.cl:35</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005515<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">arm_compute::FixedPointOp::RECIPROCAL</a></div><div class="ttdoc">Reciprocal. </div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +01005516<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">arm_compute::FixedPointOp::MUL</a></div><div class="ttdoc">Multiplication. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005517</div><!-- fragment -->
5518</div>
5519</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005520<a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58"></a>
5521<div class="memitem">
5522<div class="memproto">
5523<table class="mlabels">
5524 <tr>
5525 <td class="mlabels-left">
5526 <table class="memname">
5527 <tr>
5528 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a></td>
5529 </tr>
5530 </table>
5531 </td>
5532 <td class="mlabels-right">
5533<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5534 </tr>
5535</table>
5536</div><div class="memdoc">
5537
5538<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. </p>
5539<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005540<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005541</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005542<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"></a>U8</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005543<p>Unknown image format. </p>
5544</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005545<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"></a>S16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005546<p>1 channel, 1 U8 per channel </p>
5547</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005548<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005549<p>1 channel, 1 S16 per channel </p>
5550</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005551<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"></a>S32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005552<p>1 channel, 1 U16 per channel </p>
5553</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005554<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005555<p>1 channel, 1 S32 per channel </p>
5556</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005557<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"></a>F16</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005558<p>1 channel, 1 U32 per channel </p>
5559</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005560<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005561<p>1 channel, 1 F16 per channel </p>
5562</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005563<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"></a>UV88</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005564<p>1 channel, 1 F32 per channel </p>
5565</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005566<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"></a>RGB888</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005567<p>2 channel, 1 U8 per channel </p>
5568</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005569<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"></a>RGBA8888</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005570<p>3 channels, 1 U8 per channel </p>
5571</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005572<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"></a>YUV444</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005573<p>4 channels, 1 U8 per channel </p>
5574</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005575<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"></a>YUYV422</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005576<p>A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </p>
5577</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005578<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"></a>NV12</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005579<p>A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </p>
5580</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005581<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"></a>NV21</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005582<p>A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </p>
5583</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005584<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"></a>IYUV</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005585<p>A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </p>
5586</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005587<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"></a>UYVY422</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005588<p>A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </p>
5589<p>A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte </p>
5590</td></tr>
5591</table>
5592
Kaizen8938bd32017-09-28 14:38:23 +01005593<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00042">42</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5594<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
5595<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div>
5596<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div>
5597<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div>
5598<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div>
5599<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div>
5600<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div>
5601<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div>
5602<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div>
5603<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div>
5604<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div>
5605<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div>
5606<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div>
5607<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div>
5608<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div>
5609<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div>
5610<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div>
5611<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div>
5612<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;};</div>
5613<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005614<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>
5615<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>
5616<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>
5617<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005618<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">arm_compute::Format::NV21</a></div><div class="ttdoc">A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </div></div>
5619<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 U32 per channel </div></div>
5620<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 U16 per channel </div></div>
5621<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::Format::RGB888</a></div><div class="ttdoc">2 channel, 1 U8 per channel </div></div>
5622<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 S32 per channel </div></div>
5623<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">arm_compute::Format::YUV444</a></div><div class="ttdoc">4 channels, 1 U8 per channel </div></div>
5624<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 U8 per channel </div></div>
5625<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">arm_compute::Format::IYUV</a></div><div class="ttdoc">A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </div></div>
5626<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">arm_compute::Format::RGBA8888</a></div><div class="ttdoc">3 channels, 1 U8 per channel </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01005627<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005628<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">arm_compute::Format::UV88</a></div><div class="ttdoc">1 channel, 1 F32 per channel </div></div>
5629<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">arm_compute::Format::YUYV422</a></div><div class="ttdoc">A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </div></div>
5630</div><!-- fragment -->
5631</div>
5632</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005633<a class="anchor" id="a735ac6c2a02e320969625308810444f3"></a>
5634<div class="memitem">
5635<div class="memproto">
5636<table class="mlabels">
5637 <tr>
5638 <td class="mlabels-left">
5639 <table class="memname">
5640 <tr>
5641 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a></td>
5642 </tr>
5643 </table>
5644 </td>
5645 <td class="mlabels-right">
5646<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5647 </tr>
5648</table>
5649</div><div class="memdoc">
5650
5651<p>Available GPU Targets. </p>
5652<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005653<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"></a>GPU_ARCH_MASK</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005654</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005655<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"></a>MIDGARD</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005656</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005657<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"></a>BIFROST</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005658</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005659<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"></a>T600</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005660</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005661<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"></a>T700</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005662</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005663<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"></a>T800</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005664</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005665<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298"></a>G70</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01005666</td></tr>
5667</table>
5668
Kaizen8938bd32017-09-28 14:38:23 +01005669<p>Definition at line <a class="el" href="_c_l_types_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_c_l_types_8h_source.xhtml">CLTypes.h</a>.</p>
5670<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div>
5671<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,</div>
5672<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,</div>
5673<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,</div>
5674<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,</div>
5675<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,</div>
5676<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,</div>
5677<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298">G70</a> = 0x210</div>
5678<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;};</div>
5679<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">arm_compute::GPUTarget::T700</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005680<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">arm_compute::GPUTarget::T800</a></div></div>
5681<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">arm_compute::GPUTarget::GPU_ARCH_MASK</a></div></div>
5682<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">arm_compute::GPUTarget::T600</a></div></div>
5683<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298">arm_compute::GPUTarget::G70</a></div></div>
5684<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">arm_compute::GPUTarget::MIDGARD</a></div></div>
5685<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">arm_compute::GPUTarget::BIFROST</a></div></div>
5686</div><!-- fragment -->
5687</div>
5688</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005689<a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3"></a>
5690<div class="memitem">
5691<div class="memproto">
5692<table class="mlabels">
5693 <tr>
5694 <td class="mlabels-left">
5695 <table class="memname">
5696 <tr>
5697 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a></td>
5698 </tr>
5699 </table>
5700 </td>
5701 <td class="mlabels-right">
5702<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5703 </tr>
5704</table>
5705</div><div class="memdoc">
5706
5707<p>Normalization type for Histogram of Oriented Gradients (<a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>) </p>
5708<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005709<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005710<p>L2-norm. </p>
5711</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005712<tr><td class="fieldname"><em><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"></a>L2HYS_NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005713<p>L2-norm followed by clipping. </p>
5714</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005715<tr><td class="fieldname"><em><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"></a>L1_NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005716<p>L1 norm. </p>
5717</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00005718</table>
5719
Kaizen8938bd32017-09-28 14:38:23 +01005720<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00365">365</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5721<div class="fragment"><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;{</div>
5722<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div>
5723<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div>
5724<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div>
5725<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;};</div>
5726<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005727<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>
5728<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005729</div><!-- fragment -->
5730</div>
5731</div>
5732<a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9"></a>
5733<div class="memitem">
5734<div class="memproto">
5735<table class="mlabels">
5736 <tr>
5737 <td class="mlabels-left">
5738 <table class="memname">
5739 <tr>
5740 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a></td>
5741 </tr>
5742 </table>
5743 </td>
5744 <td class="mlabels-right">
5745<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5746 </tr>
5747</table>
5748</div><div class="memdoc">
5749
5750<p>Interpolation method. </p>
5751<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005752<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"></a>NEAREST_NEIGHBOR</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005753<p>Output values are defined to match the source pixel whose center is nearest to the sample position. </p>
5754</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005755<tr><td class="fieldname"><em><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"></a>BILINEAR</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005756<p>Output values are defined by bilinear interpolation between the pixels. </p>
5757</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005758<tr><td class="fieldname"><em><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"></a>AREA</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005759<p>Output values are determined by averaging the source pixels whose areas fall under the area of the destination pixel, projected onto the source image. </p>
5760</td></tr>
5761</table>
5762
Kaizen8938bd32017-09-28 14:38:23 +01005763<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00216">216</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5764<div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;{</div>
5765<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div>
5766<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div>
5767<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div>
5768<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;};</div>
5769<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005770<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>
5771<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>
5772</div><!-- fragment -->
5773</div>
5774</div>
Kaizenbf8b01d2017-10-12 14:26:51 +01005775<a class="anchor" id="afb2e0528558bbb0131d2cb41a66c13d7"></a>
5776<div class="memitem">
5777<div class="memproto">
5778<table class="mlabels">
5779 <tr>
5780 <td class="mlabels-left">
5781 <table class="memname">
5782 <tr>
5783 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7">LoggerVerbosity</a></td>
5784 </tr>
5785 </table>
5786 </td>
5787 <td class="mlabels-right">
5788<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5789 </tr>
5790</table>
5791</div><div class="memdoc">
5792
5793<p>&lt; Verbosity of the logger </p>
5794<table class="fieldtable">
5795<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693"></a>NONE</em>&#160;</td><td class="fielddoc">
5796<p>No info. </p>
5797</td></tr>
5798<tr><td class="fieldname"><em><a class="anchor" id="afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3"></a>INFO</em>&#160;</td><td class="fielddoc">
5799<p>Log info. </p>
5800</td></tr>
5801</table>
5802
5803<p>Definition at line <a class="el" href="_logger_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_logger_8h_source.xhtml">Logger.h</a>.</p>
5804<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div>
5805<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693">NONE</a>, </div>
5806<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3">INFO</a> </div>
5807<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;};</div>
5808<div class="ttc" id="namespacearm__compute_xhtml_afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3"><div class="ttname"><a href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3">arm_compute::LoggerVerbosity::INFO</a></div><div class="ttdoc">Log info. </div></div>
5809<div class="ttc" id="namespacearm__compute_xhtml_afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693"><div class="ttname"><a href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693">arm_compute::LoggerVerbosity::NONE</a></div><div class="ttdoc">No info. </div></div>
5810</div><!-- fragment -->
5811</div>
5812</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005813<a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8a"></a>
5814<div class="memitem">
5815<div class="memproto">
5816<table class="mlabels">
5817 <tr>
5818 <td class="mlabels-left">
5819 <table class="memname">
5820 <tr>
5821 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a></td>
5822 </tr>
5823 </table>
5824 </td>
5825 <td class="mlabels-right">
5826<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5827 </tr>
5828</table>
5829</div><div class="memdoc">
5830
5831<p>Magnitude calculation type. </p>
5832<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005833<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"></a>L1NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005834<p>L1 normalization type. </p>
5835</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005836<tr><td class="fieldname"><em><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"></a>L2NORM</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005837<p>L2 normalization type. </p>
5838</td></tr>
5839</table>
5840
Kaizen8938bd32017-09-28 14:38:23 +01005841<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00254">254</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5842<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;{</div>
5843<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div>
5844<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div>
5845<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;};</div>
5846<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005847<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>
5848</div><!-- fragment -->
5849</div>
5850</div>
Kaizen8938bd32017-09-28 14:38:23 +01005851<a class="anchor" id="af0a4d6be70322c742c12da1edccbb74d"></a>
5852<div class="memitem">
5853<div class="memproto">
5854<table class="mlabels">
5855 <tr>
5856 <td class="mlabels-left">
5857 <table class="memname">
5858 <tr>
5859 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">MappingType</a></td>
5860 </tr>
5861 </table>
5862 </td>
5863 <td class="mlabels-right">
5864<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5865 </tr>
5866</table>
5867</div><div class="memdoc">
5868
5869<p>Mapping type. </p>
5870<table class="fieldtable">
5871<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"></a>BLOBS</em>&#160;</td><td class="fielddoc">
5872<p>Mappings are in blob granularity. </p>
5873</td></tr>
5874<tr><td class="fieldname"><em><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"></a>OFFSETS</em>&#160;</td><td class="fielddoc">
5875<p>Mappings are in offset granularity in the same blob. </p>
5876</td></tr>
5877</table>
5878
5879<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00032">32</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
5880<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
5881<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>, </div>
5882<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> </div>
5883<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;};</div>
5884<div class="ttc" id="namespacearm__compute_xhtml_af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"><div class="ttname"><a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">arm_compute::MappingType::BLOBS</a></div><div class="ttdoc">Mappings are in blob granularity. </div></div>
5885<div class="ttc" id="namespacearm__compute_xhtml_af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"><div class="ttname"><a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">arm_compute::MappingType::OFFSETS</a></div><div class="ttdoc">Mappings are in offset granularity in the same blob. </div></div>
5886</div><!-- fragment -->
5887</div>
5888</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005889<a class="anchor" id="afdda916edc7502967bbec17ea3c06c02"></a>
5890<div class="memitem">
5891<div class="memproto">
5892<table class="mlabels">
5893 <tr>
5894 <td class="mlabels-left">
5895 <table class="memname">
5896 <tr>
5897 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a></td>
5898 </tr>
5899 </table>
5900 </td>
5901 <td class="mlabels-right">
5902<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5903 </tr>
5904</table>
5905</div><div class="memdoc">
5906
5907<p>Available matrix patterns. </p>
5908<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005909<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"></a>BOX</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005910<p>Box pattern matrix. </p>
5911</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005912<tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"></a>CROSS</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005913<p>Cross pattern matrix. </p>
5914</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005915<tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"></a>DISK</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005916<p>Disk pattern matrix. </p>
5917</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005918<tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"></a>OTHER</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005919<p>Any other matrix pattern. </p>
5920</td></tr>
5921</table>
5922
Kaizen8938bd32017-09-28 14:38:23 +01005923<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00333">333</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5924<div class="fragment"><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;{</div>
5925<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div>
5926<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div>
5927<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div>
5928<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div>
5929<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;};</div>
5930<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005931<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>
5932<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>
5933<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>
5934</div><!-- fragment -->
5935</div>
5936</div>
5937<a class="anchor" id="adf2ced65e536375a1c96425d9fced858"></a>
5938<div class="memitem">
5939<div class="memproto">
5940<table class="mlabels">
5941 <tr>
5942 <td class="mlabels-left">
5943 <table class="memname">
5944 <tr>
5945 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned</td>
5946 </tr>
5947 </table>
5948 </td>
5949 <td class="mlabels-right">
5950<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5951 </tr>
5952</table>
5953</div><div class="memdoc">
5954
5955<p>Available non linear functions. </p>
5956<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01005957<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"></a>MEDIAN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005958<p>Non linear median filter. </p>
5959</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005960<tr><td class="fieldname"><em><a class="anchor" id="adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"></a>MIN</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005961<p>Non linear erode. </p>
5962</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01005963<tr><td class="fieldname"><em><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"></a>MAX</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005964<p>Non linear dilate. </p>
5965</td></tr>
5966</table>
5967
Kaizen8938bd32017-09-28 14:38:23 +01005968<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00342">342</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5969<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; : <span class="keywordtype">unsigned</span></div>
5970<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;{</div>
5971<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div>
5972<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div>
5973<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div>
5974<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;};</div>
5975<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005976<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>
5977<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>
5978</div><!-- fragment -->
5979</div>
5980</div>
5981<a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59ca"></a>
5982<div class="memitem">
5983<div class="memproto">
5984<table class="mlabels">
5985 <tr>
5986 <td class="mlabels-left">
5987 <table class="memname">
5988 <tr>
5989 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a></td>
5990 </tr>
5991 </table>
5992 </td>
5993 <td class="mlabels-right">
5994<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5995 </tr>
5996</table>
5997</div><div class="memdoc">
5998
5999<p>The normalization type used for the normalization layer. </p>
6000<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01006001<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"></a>IN_MAP_1D</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006002<p>Normalization applied within the same map in 1D region. </p>
6003</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006004<tr><td class="fieldname"><em><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"></a>IN_MAP_2D</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006005<p>Normalization applied within the same map in 2D region. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006006</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006007<tr><td class="fieldname"><em><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"></a>CROSS_MAP</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006008<p>Normalization applied cross maps. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006009</td></tr>
6010</table>
6011
Kaizen8938bd32017-09-28 14:38:23 +01006012<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00357">357</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6013<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;{</div>
6014<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div>
6015<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div>
6016<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div>
6017<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;};</div>
6018<div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">arm_compute::NormType::IN_MAP_1D</a></div><div class="ttdoc">Normalization applied within the same map in 1D region. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006019<div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">arm_compute::NormType::CROSS_MAP</a></div><div class="ttdoc">Normalization applied cross maps. </div></div>
6020<div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">arm_compute::NormType::IN_MAP_2D</a></div><div class="ttdoc">Normalization applied within the same map in 2D region. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006021</div><!-- fragment -->
6022</div>
6023</div>
6024<a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72"></a>
6025<div class="memitem">
6026<div class="memproto">
6027<table class="mlabels">
6028 <tr>
6029 <td class="mlabels-left">
6030 <table class="memname">
6031 <tr>
6032 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a></td>
6033 </tr>
6034 </table>
6035 </td>
6036 <td class="mlabels-right">
6037<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6038 </tr>
6039</table>
6040</div><div class="memdoc">
6041
6042<p>Phase calculation type. </p>
6043<dl class="section note"><dt>Note</dt><dd>When PhaseType == SIGNED, each angle is mapped to the range 0 to 255 inclusive otherwise angles between 0 and 180 </dd></dl>
6044<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01006045<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"></a>SIGNED</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006046<p>Angle range: [0, 360]. </p>
6047</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006048<tr><td class="fieldname"><em><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"></a>UNSIGNED</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006049<p>Angle range: [0, 180]. </p>
6050</td></tr>
6051</table>
6052
Kaizen8938bd32017-09-28 14:38:23 +01006053<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00264">264</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6054<div class="fragment"><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;{</div>
6055<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div>
6056<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div>
6057<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;};</div>
6058<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00006059<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>
6060</div><!-- fragment -->
6061</div>
6062</div>
6063<a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93"></a>
6064<div class="memitem">
6065<div class="memproto">
6066<table class="mlabels">
6067 <tr>
6068 <td class="mlabels-left">
6069 <table class="memname">
6070 <tr>
6071 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a></td>
6072 </tr>
6073 </table>
6074 </td>
6075 <td class="mlabels-right">
6076<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6077 </tr>
6078</table>
6079</div><div class="memdoc">
6080
6081<p>Available pooling types. </p>
6082<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01006083<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5"></a>MAX</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006084<p>Max Pooling. </p>
6085</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006086<tr><td class="fieldname"><em><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"></a>AVG</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006087<p>Average Pooling. </p>
6088</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006089<tr><td class="fieldname"><em><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"></a>L2</em>&#160;</td><td class="fielddoc">
6090<p>L2 Pooling. </p>
6091</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00006092</table>
6093
Kaizen8938bd32017-09-28 14:38:23 +01006094<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00398">398</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6095<div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;{</div>
6096<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div>
6097<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div>
6098<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div>
6099<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;};</div>
6100<div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">arm_compute::PoolingType::L2</a></div><div class="ttdoc">L2 Pooling. </div></div>
6101<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00006102<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>
6103</div><!-- fragment -->
6104</div>
6105</div>
Kaizen8938bd32017-09-28 14:38:23 +01006106<a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45b"></a>
6107<div class="memitem">
6108<div class="memproto">
6109<table class="mlabels">
6110 <tr>
6111 <td class="mlabels-left">
6112 <table class="memname">
6113 <tr>
6114 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a></td>
6115 </tr>
6116 </table>
6117 </td>
6118 <td class="mlabels-right">
6119<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6120 </tr>
6121</table>
6122</div><div class="memdoc">
6123
6124<p>Available reduction operations. </p>
6125<table class="fieldtable">
6126<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"></a>SUM_SQUARE</em>&#160;</td><td class="fielddoc">
6127<p>Sum of squares. </p>
6128</td></tr>
6129<tr><td class="fieldname"><em><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"></a>SUM</em>&#160;</td><td class="fielddoc">
6130<p>Sum. </p>
6131</td></tr>
6132</table>
6133
6134<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00350">350</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6135<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;{</div>
6136<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div>
6137<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, </div>
6138<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;};</div>
6139<div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">arm_compute::ReductionOperation::SUM_SQUARE</a></div><div class="ttdoc">Sum of squares. </div></div>
6140<div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">arm_compute::ReductionOperation::SUM</a></div><div class="ttdoc">Sum. </div></div>
6141</div><!-- fragment -->
6142</div>
6143</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006144<a class="anchor" id="add6426cbf2e057a195846d4ba09a50be"></a>
6145<div class="memitem">
6146<div class="memproto">
6147<table class="mlabels">
6148 <tr>
6149 <td class="mlabels-left">
6150 <table class="memname">
6151 <tr>
6152 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a></td>
6153 </tr>
6154 </table>
6155 </td>
6156 <td class="mlabels-right">
6157<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6158 </tr>
6159</table>
6160</div><div class="memdoc">
6161
6162<p>Rounding method. </p>
6163<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01006164<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006165<p>Truncates the least significand values that are lost in operations. </p>
6166</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006167<tr><td class="fieldname"><em><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"></a>TO_NEAREST_UP</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006168<p>Rounds to nearest value; half rounds up. </p>
6169</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006170<tr><td class="fieldname"><em><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"></a>TO_NEAREST_EVEN</em>&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006171<p>Rounds to nearest value; half rounds to nearest even. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006172</td></tr>
6173</table>
6174
Kaizen8938bd32017-09-28 14:38:23 +01006175<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00238">238</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6176<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div>
6177<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>, </div>
6178<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, </div>
6179<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a> </div>
6180<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;};</div>
6181<div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">arm_compute::RoundingPolicy::TO_NEAREST_UP</a></div><div class="ttdoc">Rounds to nearest value; half rounds up. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006182<div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">arm_compute::RoundingPolicy::TO_NEAREST_EVEN</a></div><div class="ttdoc">Rounds to nearest value; half rounds to nearest even. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006183<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>
6184</div><!-- fragment -->
6185</div>
6186</div>
6187<a class="anchor" id="a08c1503414e23f5dd10ff83492685453"></a>
6188<div class="memitem">
6189<div class="memproto">
6190<table class="mlabels">
6191 <tr>
6192 <td class="mlabels-left">
6193 <table class="memname">
6194 <tr>
6195 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a></td>
6196 </tr>
6197 </table>
6198 </td>
6199 <td class="mlabels-right">
6200<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6201 </tr>
6202</table>
6203</div><div class="memdoc">
6204
6205<p>Termination criteria. </p>
6206<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01006207<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"></a>TERM_CRITERIA_EPSILON</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006208</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006209<tr><td class="fieldname"><em><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"></a>TERM_CRITERIA_ITERATIONS</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006210</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006211<tr><td class="fieldname"><em><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"></a>TERM_CRITERIA_BOTH</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006212</td></tr>
6213</table>
6214
Kaizen8938bd32017-09-28 14:38:23 +01006215<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00246">246</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6216<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;{</div>
6217<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,</div>
6218<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,</div>
6219<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a></div>
6220<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;};</div>
6221<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00006222<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>
6223<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>
6224</div><!-- fragment -->
6225</div>
6226</div>
6227<a class="anchor" id="a3e6b23e675649b83240691abbc42a649"></a>
6228<div class="memitem">
6229<div class="memproto">
6230<table class="mlabels">
6231 <tr>
6232 <td class="mlabels-left">
6233 <table class="memname">
6234 <tr>
6235 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a></td>
6236 </tr>
6237 </table>
6238 </td>
6239 <td class="mlabels-right">
6240<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6241 </tr>
6242</table>
6243</div><div class="memdoc">
6244
6245<p>Threshold mode. </p>
6246<table class="fieldtable">
Kaizen8938bd32017-09-28 14:38:23 +01006247<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"></a>BINARY</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006248<p>Threshold with one value. </p>
6249</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01006250<tr><td class="fieldname"><em><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"></a>RANGE</em>&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006251<p>Threshold with two values. </p>
6252</td></tr>
6253</table>
6254
Kaizen8938bd32017-09-28 14:38:23 +01006255<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00231">231</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6256<div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;{</div>
6257<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div>
6258<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div>
6259<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;};</div>
6260<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00006261<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>
6262</div><!-- fragment -->
6263</div>
6264</div>
6265<h2 class="groupheader">Function Documentation</h2>
6266<a class="anchor" id="a41c1523098580451b378f76b8c37a0f0"></a>
6267<div class="memitem">
6268<div class="memproto">
6269<table class="mlabels">
6270 <tr>
6271 <td class="mlabels-left">
6272 <table class="memname">
6273 <tr>
6274 <td class="memname">int arm_compute::adjust_down </td>
6275 <td>(</td>
6276 <td class="paramtype">int&#160;</td>
6277 <td class="paramname"><em>required</em>, </td>
6278 </tr>
6279 <tr>
6280 <td class="paramkey"></td>
6281 <td></td>
6282 <td class="paramtype">int&#160;</td>
6283 <td class="paramname"><em>available</em>, </td>
6284 </tr>
6285 <tr>
6286 <td class="paramkey"></td>
6287 <td></td>
6288 <td class="paramtype">int&#160;</td>
6289 <td class="paramname"><em>step</em>&#160;</td>
6290 </tr>
6291 <tr>
6292 <td></td>
6293 <td>)</td>
6294 <td></td><td></td>
6295 </tr>
6296 </table>
6297 </td>
6298 <td class="mlabels-right">
6299<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6300 </tr>
6301</table>
6302</div><div class="memdoc">
6303
6304<p>Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. </p>
6305<dl class="params"><dt>Parameters</dt><dd>
6306 <table class="params">
6307 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
6308 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
6309 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to decrease required bytes.</td></tr>
6310 </table>
6311 </dd>
6312</dl>
6313<dl class="section return"><dt>Returns</dt><dd>Largest value smaller than <code>available</code> that is a multiple of <code>step</code> </dd></dl>
6314
6315<p>Definition at line <a class="el" href="_i_access_window_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_i_access_window_8h_source.xhtml">IAccessWindow.h</a>.</p>
6316
Anthony Barbierdbdab852017-06-23 15:42:00 +01006317<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01006318<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
6319<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step &lt;= 0);</div>
6320<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
6321<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">return</span> required - step * ((required - available + step - 1) / step);</div>
6322<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div>
6323<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006324</div><!-- fragment -->
6325</div>
6326</div>
6327<a class="anchor" id="ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"></a>
6328<div class="memitem">
6329<div class="memproto">
6330<table class="mlabels">
6331 <tr>
6332 <td class="mlabels-left">
6333 <table class="memname">
6334 <tr>
6335 <td class="memname">int arm_compute::adjust_up </td>
6336 <td>(</td>
6337 <td class="paramtype">int&#160;</td>
6338 <td class="paramname"><em>required</em>, </td>
6339 </tr>
6340 <tr>
6341 <td class="paramkey"></td>
6342 <td></td>
6343 <td class="paramtype">int&#160;</td>
6344 <td class="paramname"><em>available</em>, </td>
6345 </tr>
6346 <tr>
6347 <td class="paramkey"></td>
6348 <td></td>
6349 <td class="paramtype">int&#160;</td>
6350 <td class="paramname"><em>step</em>&#160;</td>
6351 </tr>
6352 <tr>
6353 <td></td>
6354 <td>)</td>
6355 <td></td><td></td>
6356 </tr>
6357 </table>
6358 </td>
6359 <td class="mlabels-right">
6360<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6361 </tr>
6362</table>
6363</div><div class="memdoc">
6364
6365<p>Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. </p>
6366<dl class="params"><dt>Parameters</dt><dd>
6367 <table class="params">
6368 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
6369 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
6370 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to increase required bytes.</td></tr>
6371 </table>
6372 </dd>
6373</dl>
6374<dl class="section return"><dt>Returns</dt><dd>Largest value smaller than <code>available</code> that is a multiple of <code>step</code> </dd></dl>
6375
6376<p>Definition at line <a class="el" href="_i_access_window_8h_source.xhtml#l00063">63</a> of file <a class="el" href="_i_access_window_8h_source.xhtml">IAccessWindow.h</a>.</p>
6377
Anthony Barbierdbdab852017-06-23 15:42:00 +01006378<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01006379<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
6380<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step &lt;= 0);</div>
6381<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
6382<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> required + step * ((available - required + step - 1) / step);</div>
6383<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
6384<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006385</div><!-- fragment -->
6386</div>
6387</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006388<a class="anchor" id="a1c9627ac3d73a67e9312c2c9740ff0a3"></a>
6389<div class="memitem">
6390<div class="memproto">
6391<table class="mlabels">
6392 <tr>
6393 <td class="mlabels-left">
6394 <table class="memname">
6395 <tr>
6396 <td class="memname">bool auto_init_if_empty </td>
6397 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01006398 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006399 <td class="paramname"><em>info</em>, </td>
6400 </tr>
6401 <tr>
6402 <td class="paramkey"></td>
6403 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006404 <td class="paramtype">const TensorShape &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006405 <td class="paramname"><em>shape</em>, </td>
6406 </tr>
6407 <tr>
6408 <td class="paramkey"></td>
6409 <td></td>
6410 <td class="paramtype">int&#160;</td>
6411 <td class="paramname"><em>num_channels</em>, </td>
6412 </tr>
6413 <tr>
6414 <td class="paramkey"></td>
6415 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006416 <td class="paramtype">DataType&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006417 <td class="paramname"><em>data_type</em>, </td>
6418 </tr>
6419 <tr>
6420 <td class="paramkey"></td>
6421 <td></td>
6422 <td class="paramtype">int&#160;</td>
6423 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
6424 </tr>
6425 <tr>
6426 <td></td>
6427 <td>)</td>
6428 <td></td><td></td>
6429 </tr>
6430 </table>
6431 </td>
6432 <td class="mlabels-right">
6433<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6434 </tr>
6435</table>
6436</div><div class="memdoc">
6437
Kaizen8938bd32017-09-28 14:38:23 +01006438<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00200">200</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006439
Kaizen8938bd32017-09-28 14:38:23 +01006440<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a4b622a0346ec30baf0b9a387e00c9ace">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aec2c125ece3cc6593a0be7f1fef3d97f">ITensorInfo::set_fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ae05139a48d9360e44f5ef2eef64b23ec">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a40deec9ef7e7c892bef6b11b4d81c38e">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
6441<div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;{</div>
6442<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div>
6443<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; {</div>
6444<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div>
6445<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_num_channels(num_channels);</div>
6446<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div>
6447<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div>
6448<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
6449<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
6450<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div>
6451<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
6452<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;}</div>
6453<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
6454<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
6455<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
6456</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01006457</div>
6458</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006459<a class="anchor" id="a64c17a5a42d2499a1626222ff9753b4d"></a>
6460<div class="memitem">
6461<div class="memproto">
6462 <table class="memname">
6463 <tr>
6464 <td class="memname">std::string arm_compute::build_information </td>
6465 <td>(</td>
6466 <td class="paramname"></td><td>)</td>
6467 <td></td>
6468 </tr>
6469 </table>
6470</div><div class="memdoc">
6471
6472<p>Returns the <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information. </p>
6473<p>Contains the version number and the build options used to build the library</p>
6474<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information </dd></dl>
6475
Anthony Barbier871448e2017-03-24 14:54:29 +00006476</div>
6477</div>
Kaizenbf8b01d2017-10-12 14:26:51 +01006478<a class="anchor" id="a075313545533c34978309ed57d18333f"></a>
6479<div class="memitem">
6480<div class="memproto">
6481 <table class="memname">
6482 <tr>
6483 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::calculate_depth_concatenate_shape </td>
6484 <td>(</td>
6485 <td class="paramtype">const std::vector&lt; T * &gt; &amp;&#160;</td>
6486 <td class="paramname"><em>inputs_vector</em></td><td>)</td>
6487 <td></td>
6488 </tr>
6489 </table>
6490</div><div class="memdoc">
6491
6492<p>Calculate the output shapes of the depth concatenate function. </p>
6493<dl class="params"><dt>Parameters</dt><dd>
6494 <table class="params">
6495 <tr><td class="paramdir">[in]</td><td class="paramname">inputs_vector</td><td>The vector that stores all the pointers to input.</td></tr>
6496 </table>
6497 </dd>
6498</dl>
6499<dl class="section return"><dt>Returns</dt><dd>the output shape </dd></dl>
6500
6501<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00430">430</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
6502
6503<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions&lt; T &gt;::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00091">Dimensions&lt; T &gt;::z()</a>.</p>
6504<div class="fragment"><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;{</div>
6505<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; TensorShape out_shape = inputs_vector[0]-&gt;info()-&gt;tensor_shape();</div>
6506<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;</div>
6507<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordtype">size_t</span> max_x = 0;</div>
6508<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordtype">size_t</span> max_y = 0;</div>
6509<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordtype">size_t</span> depth = 0;</div>
6510<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div>
6511<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &amp;tensor : inputs_vector)</div>
6512<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; {</div>
6513<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(tensor == <span class="keyword">nullptr</span>);</div>
6514<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keyword">const</span> TensorShape <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = tensor-&gt;info()-&gt;tensor_shape();</div>
6515<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; max_x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.x(), max_x);</div>
6516<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; max_y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.y(), max_y);</div>
6517<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; depth += shape.z();</div>
6518<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; }</div>
6519<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div>
6520<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; out_shape.set(0, max_x);</div>
6521<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; out_shape.set(1, max_y);</div>
6522<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; out_shape.set(2, depth);</div>
6523<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;</div>
6524<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">return</span> out_shape;</div>
6525<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;}</div>
6526<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
6527<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
6528<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
6529</div><!-- fragment -->
6530</div>
6531</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006532<a class="anchor" id="a0101a40c4a6acc2af3b55afa7632f16a"></a>
6533<div class="memitem">
6534<div class="memproto">
6535<table class="mlabels">
6536 <tr>
6537 <td class="mlabels-left">
6538 <table class="memname">
6539 <tr>
6540 <td class="memname">uint32_t arm_compute::calculate_matrix_scale </td>
6541 <td>(</td>
6542 <td class="paramtype">const int16_t *&#160;</td>
6543 <td class="paramname"><em>matrix</em>, </td>
6544 </tr>
6545 <tr>
6546 <td class="paramkey"></td>
6547 <td></td>
6548 <td class="paramtype">unsigned int&#160;</td>
6549 <td class="paramname"><em>matrix_size</em>&#160;</td>
6550 </tr>
6551 <tr>
6552 <td></td>
6553 <td>)</td>
6554 <td></td><td></td>
6555 </tr>
6556 </table>
6557 </td>
6558 <td class="mlabels-right">
6559<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6560 </tr>
6561</table>
6562</div><div class="memdoc">
6563
6564<p>Calculate the scale of the given square matrix. </p>
6565<p>The scale is the absolute value of the sum of all the coefficients in the matrix.</p>
6566<dl class="section note"><dt>Note</dt><dd>If the coefficients add up to 0 then the scale is set to 1.</dd></dl>
6567<dl class="params"><dt>Parameters</dt><dd>
6568 <table class="params">
6569 <tr><td class="paramdir">[in]</td><td class="paramname">matrix</td><td>Matrix coefficients </td></tr>
6570 <tr><td class="paramdir">[in]</td><td class="paramname">matrix_size</td><td>Number of elements per side of the square matrix. (Number of coefficients = matrix_size * matrix_size).</td></tr>
6571 </table>
6572 </dd>
6573</dl>
6574<dl class="section return"><dt>Returns</dt><dd>The absolute value of the sum of the coefficients if they don't add up to 0, otherwise 1. </dd></dl>
6575
Kaizenbf8b01d2017-10-12 14:26:51 +01006576<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00416">416</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006577
Kaizen8938bd32017-09-28 14:38:23 +01006578<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00276">size</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +01006579<div class="fragment"><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;{</div>
6580<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a> = matrix_size * matrix_size;</div>
6581<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div>
6582<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(1, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">std::abs</a>(<a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(matrix, matrix + size, 0)));</div>
6583<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +01006584<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
6585<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>
6586<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
6587<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ae115fc750a92fb6a5e094998b56fcc56"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">arm_compute::test::fixed_point_arithmetic::detail::abs</a></div><div class="ttdeci">fixed_point&lt; T &gt; abs(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">FixedPoint.h:914</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006588</div><!-- fragment -->
6589</div>
6590</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006591<a class="anchor" id="afcdda83b6a85d5798f08d92c0e235e2e"></a>
6592<div class="memitem">
6593<div class="memproto">
6594 <table class="memname">
6595 <tr>
6596 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_enlarged_window </td>
6597 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01006598 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006599 <td class="paramname"><em>info</em>, </td>
6600 </tr>
6601 <tr>
6602 <td class="paramkey"></td>
6603 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006604 <td class="paramtype">const Steps &amp;&#160;</td>
6605 <td class="paramname"><em>steps</em> = <code>Steps()</code>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006606 </tr>
6607 <tr>
6608 <td class="paramkey"></td>
6609 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006610 <td class="paramtype">BorderSize&#160;</td>
6611 <td class="paramname"><em>border_size</em> = <code>BorderSize()</code>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006612 </tr>
6613 <tr>
6614 <td></td>
6615 <td>)</td>
6616 <td></td><td></td>
6617 </tr>
6618 </table>
6619</div><div class="memdoc">
6620
6621<p>Calculate the maximum window for a given tensor shape and border setting. </p>
6622<p>The window will also includes the border.</p>
6623<dl class="params"><dt>Parameters</dt><dd>
6624 <table class="params">
6625 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object defining the shape of the object for which the window is created. </td></tr>
6626 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
6627 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size. The border region will be included in the window.</td></tr>
6628 </table>
6629 </dd>
6630</dl>
6631<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
6632
Anthony Barbierdbdab852017-06-23 15:42:00 +01006633</div>
6634</div>
6635<a class="anchor" id="aa2117aef4381edbdf81e17ec088df7f1"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00006636<div class="memitem">
6637<div class="memproto">
6638 <table class="memname">
6639 <tr>
6640 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
6641 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01006642 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006643 <td class="paramname"><em>info</em>, </td>
6644 </tr>
6645 <tr>
6646 <td class="paramkey"></td>
6647 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006648 <td class="paramtype">const Steps &amp;&#160;</td>
6649 <td class="paramname"><em>steps</em> = <code>Steps()</code>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006650 </tr>
6651 <tr>
6652 <td class="paramkey"></td>
6653 <td></td>
6654 <td class="paramtype">bool&#160;</td>
6655 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
6656 </tr>
6657 <tr>
6658 <td class="paramkey"></td>
6659 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006660 <td class="paramtype">BorderSize&#160;</td>
6661 <td class="paramname"><em>border_size</em> = <code>BorderSize()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006662 </tr>
6663 <tr>
6664 <td></td>
6665 <td>)</td>
6666 <td></td><td></td>
6667 </tr>
6668 </table>
6669</div><div class="memdoc">
6670
6671<p>Calculate the maximum window for a given tensor shape and border setting. </p>
6672<dl class="params"><dt>Parameters</dt><dd>
6673 <table class="params">
6674 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object defining the shape of the object for which the window is created. </td></tr>
6675 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
6676 <tr><td class="paramdir">[in]</td><td class="paramname">skip_border</td><td>(Optional) If true exclude the border region from the window. </td></tr>
6677 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
6678 </table>
6679 </dd>
6680</dl>
6681<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
6682
Anthony Barbier871448e2017-03-24 14:54:29 +00006683</div>
6684</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006685<a class="anchor" id="a47456b4d520aee1cba80bf6e20f6685a"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00006686<div class="memitem">
6687<div class="memproto">
6688 <table class="memname">
6689 <tr>
6690 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
6691 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01006692 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006693 <td class="paramname"><em>info</em>, </td>
6694 </tr>
6695 <tr>
6696 <td class="paramkey"></td>
6697 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006698 <td class="paramtype">const Steps &amp;&#160;</td>
6699 <td class="paramname"><em>steps</em> = <code>Steps()</code>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006700 </tr>
6701 <tr>
6702 <td class="paramkey"></td>
6703 <td></td>
6704 <td class="paramtype">bool&#160;</td>
6705 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
6706 </tr>
6707 <tr>
6708 <td class="paramkey"></td>
6709 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006710 <td class="paramtype">BorderSize&#160;</td>
6711 <td class="paramname"><em>border_size</em> = <code>BorderSize()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006712 </tr>
6713 <tr>
6714 <td></td>
6715 <td>)</td>
6716 <td></td><td></td>
6717 </tr>
6718 </table>
6719</div><div class="memdoc">
6720
6721<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
6722<dl class="params"><dt>Parameters</dt><dd>
6723 <table class="params">
6724 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object defining the shape of the object for which the window is created. </td></tr>
6725 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
6726 <tr><td class="paramdir">[in]</td><td class="paramname">skip_border</td><td>(Optional) If true exclude the border region from the window. </td></tr>
6727 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size. The border region will be excluded from the window.</td></tr>
6728 </table>
6729 </dd>
6730</dl>
6731<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
6732
Kaizen8938bd32017-09-28 14:38:23 +01006733</div>
6734</div>
6735<a class="anchor" id="ae3c6412e9c2b3b6c75a577f700e9b228"></a>
6736<div class="memitem">
6737<div class="memproto">
6738<table class="mlabels">
6739 <tr>
6740 <td class="mlabels-left">
6741 <table class="memname">
6742 <tr>
6743 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> calculate_valid_region_scale </td>
6744 <td>(</td>
6745 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
6746 <td class="paramname"><em>src_info</em>, </td>
6747 </tr>
6748 <tr>
6749 <td class="paramkey"></td>
6750 <td></td>
6751 <td class="paramtype">const TensorShape &amp;&#160;</td>
6752 <td class="paramname"><em>dst_shape</em>, </td>
6753 </tr>
6754 <tr>
6755 <td class="paramkey"></td>
6756 <td></td>
6757 <td class="paramtype">InterpolationPolicy&#160;</td>
6758 <td class="paramname"><em>policy</em>, </td>
6759 </tr>
6760 <tr>
6761 <td class="paramkey"></td>
6762 <td></td>
6763 <td class="paramtype">BorderSize&#160;</td>
6764 <td class="paramname"><em>border_size</em>, </td>
6765 </tr>
6766 <tr>
6767 <td class="paramkey"></td>
6768 <td></td>
6769 <td class="paramtype">bool&#160;</td>
6770 <td class="paramname"><em>border_undefined</em>&#160;</td>
6771 </tr>
6772 <tr>
6773 <td></td>
6774 <td>)</td>
6775 <td></td><td></td>
6776 </tr>
6777 </table>
6778 </td>
6779 <td class="mlabels-right">
6780<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6781 </tr>
6782</table>
6783</div><div class="memdoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006784
Kaizen8938bd32017-09-28 14:38:23 +01006785<p>Helper function to calculate the Valid Region for Scale. </p>
6786<dl class="params"><dt>Parameters</dt><dd>
6787 <table class="params">
6788 <tr><td class="paramdir">[in]</td><td class="paramname">src_info</td><td>Input tensor info used to check. </td></tr>
6789 <tr><td class="paramdir">[in]</td><td class="paramname">dst_shape</td><td>Shape of the output. </td></tr>
6790 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Interpolation policy. </td></tr>
6791 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>Size of the border. </td></tr>
6792 <tr><td class="paramdir">[in]</td><td class="paramname">border_undefined</td><td>True if the border is undefined.</td></tr>
6793 </table>
6794 </dd>
6795</dl>
6796<dl class="section return"><dt>Returns</dt><dd>The corrispondent valid region </dd></dl>
6797
6798<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00258">258</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
6799
6800<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00123">ValidRegion::anchor</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00203">BorderSize::left</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00115">Dimensions&lt; T &gt;::set_num_dimensions()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00124">ValidRegion::shape</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00200">BorderSize::top</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
6801<div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;{</div>
6802<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wr = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(dst_shape[0]) / static_cast&lt;float&gt;(src_info.tensor_shape()[0]);</div>
6803<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> hr = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(dst_shape[1]) / static_cast&lt;float&gt;(src_info.tensor_shape()[1]);</div>
6804<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; Coordinates anchor;</div>
6805<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; anchor.set_num_dimensions(src_info.tensor_shape().num_dimensions());</div>
6806<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; TensorShape new_dst_shape(dst_shape);</div>
6807<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; anchor.set(0, (policy == InterpolationPolicy::BILINEAR</div>
6808<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; &amp;&amp; border_undefined) ?</div>
6809<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[0]) + border_size.left + 0.5f) * wr - 0.5f) :</div>
6810<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[0]) + 0.5f) * wr - 0.5f));</div>
6811<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; anchor.set(1, (policy == InterpolationPolicy::BILINEAR</div>
6812<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; &amp;&amp; border_undefined) ?</div>
6813<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[1]) + border_size.top + 0.5f) * hr - 0.5f) :</div>
6814<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[1]) + 0.5f) * hr - 0.5f));</div>
6815<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordtype">float</span> shape_out_x = (policy == InterpolationPolicy::BILINEAR</div>
6816<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; &amp;&amp; border_undefined) ?</div>
6817<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[0]) + static_cast&lt;int&gt;(src_info.valid_region().shape[0]) - 1) - 1 + 0.5f) * wr - 0.5f :</div>
6818<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[0]) + static_cast&lt;int&gt;(src_info.valid_region().shape[0])) + 0.5f) * wr - 0.5f;</div>
6819<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordtype">float</span> shape_out_y = (policy == InterpolationPolicy::BILINEAR</div>
6820<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; &amp;&amp; border_undefined) ?</div>
6821<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[1]) + static_cast&lt;int&gt;(src_info.valid_region().shape[1]) - 1) - 1 + 0.5f) * hr - 0.5f :</div>
6822<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; ((static_cast&lt;int&gt;(src_info.valid_region().anchor[1]) + static_cast&lt;int&gt;(src_info.valid_region().shape[1])) + 0.5f) * hr - 0.5f;</div>
6823<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div>
6824<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; new_dst_shape.set(0, shape_out_x - anchor[0]);</div>
6825<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; new_dst_shape.set(1, shape_out_y - anchor[1]);</div>
6826<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div>
6827<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> ValidRegion(std::move(anchor), std::move(new_dst_shape));</div>
6828<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;}</div>
6829</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00006830</div>
6831</div>
6832<a class="anchor" id="adf0c6059174045f80af46a0f1fb57bc6"></a>
6833<div class="memitem">
6834<div class="memproto">
6835<table class="mlabels">
6836 <tr>
6837 <td class="mlabels-left">
6838 <table class="memname">
6839 <tr>
6840 <td class="memname">auto arm_compute::ceil_to_multiple </td>
6841 <td>(</td>
6842 <td class="paramtype">S&#160;</td>
6843 <td class="paramname"><em>value</em>, </td>
6844 </tr>
6845 <tr>
6846 <td class="paramkey"></td>
6847 <td></td>
6848 <td class="paramtype">T&#160;</td>
6849 <td class="paramname"><em>divisor</em>&#160;</td>
6850 </tr>
6851 <tr>
6852 <td></td>
6853 <td>)</td>
Kaizen8938bd32017-09-28 14:38:23 +01006854 <td></td><td> -&gt; decltype(((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> + divisor - 1) / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +00006855</td>
6856 </tr>
6857 </table>
6858 </td>
6859 <td class="mlabels-right">
6860<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6861 </tr>
6862</table>
6863</div><div class="memdoc">
6864
6865<p>Computes the smallest number larger or equal to value that is a multiple of divisor. </p>
6866
Kaizenbf8b01d2017-10-12 14:26:51 +01006867<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00044">44</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006868
Kaizen8938bd32017-09-28 14:38:23 +01006869<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006870
Kaizen8938bd32017-09-28 14:38:23 +01006871<p>Referenced by <a class="el" href="_window_8inl_source.xhtml#l00097">Window::scale()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +01006872<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div>
6873<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> &lt; 0 || divisor &lt;= 0);</div>
6874<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> ((<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> + divisor - 1) / divisor) * divisor;</div>
6875<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +01006876<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
6877<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006878</div><!-- fragment -->
6879</div>
6880</div>
6881<a class="anchor" id="a1c0b9414fe3a6ef6a7a23bd324ae9e67"></a>
6882<div class="memitem">
6883<div class="memproto">
6884<table class="mlabels">
6885 <tr>
6886 <td class="mlabels-left">
6887 <table class="memname">
6888 <tr>
6889 <td class="memname">T arm_compute::clamp </td>
6890 <td>(</td>
6891 <td class="paramtype">const T &amp;&#160;</td>
6892 <td class="paramname"><em>n</em>, </td>
6893 </tr>
6894 <tr>
6895 <td class="paramkey"></td>
6896 <td></td>
6897 <td class="paramtype">const T &amp;&#160;</td>
6898 <td class="paramname"><em>lower</em>, </td>
6899 </tr>
6900 <tr>
6901 <td class="paramkey"></td>
6902 <td></td>
6903 <td class="paramtype">const T &amp;&#160;</td>
6904 <td class="paramname"><em>upper</em>&#160;</td>
6905 </tr>
6906 <tr>
6907 <td></td>
6908 <td>)</td>
6909 <td></td><td></td>
6910 </tr>
6911 </table>
6912 </td>
6913 <td class="mlabels-right">
6914<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6915 </tr>
6916</table>
6917</div><div class="memdoc">
6918
6919<p>Performs clamping among a lower and upper value. </p>
6920<dl class="params"><dt>Parameters</dt><dd>
6921 <table class="params">
6922 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Value to clamp. </td></tr>
6923 <tr><td class="paramdir">[in]</td><td class="paramname">lower</td><td>Lower threshold. </td></tr>
6924 <tr><td class="paramdir">[in]</td><td class="paramname">upper</td><td>Upper threshold.</td></tr>
6925 </table>
6926 </dd>
6927</dl>
6928<dl class="section return"><dt>Returns</dt><dd>Clamped value. </dd></dl>
6929
Kaizen8938bd32017-09-28 14:38:23 +01006930<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00201">201</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006931
Kaizen8938bd32017-09-28 14:38:23 +01006932<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006933
Kaizen8938bd32017-09-28 14:38:23 +01006934<p>Referenced by <a class="el" href="warp__helpers_8h_source.xhtml#l00033">clamp_to_border()</a>, <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>, and <a class="el" href="_c_p_p_2_scale_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::scale()</a>.</p>
6935<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div>
6936<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(lower, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(n, upper));</div>
6937<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div>
6938<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
6939<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006940</div><!-- fragment -->
6941</div>
6942</div>
6943<a class="anchor" id="af2be1325decaa34a8a1199af177148c6"></a>
6944<div class="memitem">
6945<div class="memproto">
6946 <table class="memname">
6947 <tr>
6948 <td class="memname">void arm_compute::colorconvert_iyuv_to_nv12 </td>
6949 <td>(</td>
6950 <td class="paramtype">const void *__restrict&#160;</td>
6951 <td class="paramname"><em>input</em>, </td>
6952 </tr>
6953 <tr>
6954 <td class="paramkey"></td>
6955 <td></td>
6956 <td class="paramtype">void *__restrict&#160;</td>
6957 <td class="paramname"><em>output</em>, </td>
6958 </tr>
6959 <tr>
6960 <td class="paramkey"></td>
6961 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01006962 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00006963 <td class="paramname"><em>win</em>&#160;</td>
6964 </tr>
6965 <tr>
6966 <td></td>
6967 <td>)</td>
6968 <td></td><td></td>
6969 </tr>
6970 </table>
6971</div><div class="memdoc">
6972
6973<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">550</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
6974
Kaizen8938bd32017-09-28 14:38:23 +01006975<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
6976<div class="fragment"><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;{</div>
6977<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
6978<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
6979<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; win.validate();</div>
6980<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;</div>
6981<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
6982<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
6983<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;</div>
6984<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
6985<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; Window win_uv(win);</div>
6986<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
6987<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
6988<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; win_uv.validate();</div>
6989<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div>
6990<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
6991<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div>
6992<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div>
6993<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
6994<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div>
6995<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;</div>
6996<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
6997<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div>
6998<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
6999<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7000<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; uint8x16x2_t ta_uv;</div>
7001<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; ta_uv.val[0] = vld1q_u8(in_u.ptr());</div>
7002<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; ta_uv.val[1] = vld1q_u8(in_v.ptr());</div>
7003<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7004<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7005<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
7006<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
7007<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;</div>
7008<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div>
7009<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div>
7010<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; vst2q_u8(out_uv.ptr(), ta_uv);</div>
7011<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; },</div>
7012<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; in_y, in_u, in_v, out_y, out_uv);</div>
7013<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;}</div>
7014<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7015<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007016</div><!-- fragment -->
7017</div>
7018</div>
7019<a class="anchor" id="a6e42fac1baa264b033ac430b63ebd145"></a>
7020<div class="memitem">
7021<div class="memproto">
7022 <table class="memname">
7023 <tr>
7024 <td class="memname">void arm_compute::colorconvert_iyuv_to_rgb </td>
7025 <td>(</td>
7026 <td class="paramtype">const void *__restrict&#160;</td>
7027 <td class="paramname"><em>input</em>, </td>
7028 </tr>
7029 <tr>
7030 <td class="paramkey"></td>
7031 <td></td>
7032 <td class="paramtype">void *__restrict&#160;</td>
7033 <td class="paramname"><em>output</em>, </td>
7034 </tr>
7035 <tr>
7036 <td class="paramkey"></td>
7037 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007038 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007039 <td class="paramname"><em>win</em>&#160;</td>
7040 </tr>
7041 <tr>
7042 <td></td>
7043 <td>)</td>
7044 <td></td><td></td>
7045 </tr>
7046 </table>
7047</div><div class="memdoc">
7048
7049<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">445</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7050
Kaizen8938bd32017-09-28 14:38:23 +01007051<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7052<div class="fragment"><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;{</div>
7053<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7054<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7055<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; win.validate();</div>
7056<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;</div>
7057<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
7058<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
7059<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;</div>
7060<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div>
7061<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;<a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>();</div>
7062<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div>
7063<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7064<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; Window win_uv(win);</div>
7065<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7066<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7067<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; win_uv.validate();</div>
7068<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div>
7069<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
7070<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div>
7071<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div>
7072<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; Iterator out(output_ptr, win);</div>
7073<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div>
7074<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7075<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; {</div>
7076<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
7077<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7078<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div>
7079<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div>
7080<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7081<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7082<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div>
7083<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></div>
7084<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;</div>
7085<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div>
7086<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div>
7087<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div>
7088<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div>
7089<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div>
7090<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div>
7091<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; convert_uint8x16_to_float32x4x4(ta_u, uvec);</div>
7092<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; convert_uint8x16_to_float32x4x4(ta_v, vvec);</div>
7093<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div>
7094<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div>
7095<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div>
7096<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div>
7097<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div>
7098<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div>
7099<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, alpha);</div>
7100<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, alpha);</div>
7101<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, alpha);</div>
7102<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, alpha);</div>
7103<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; },</div>
7104<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; in_y, in_u, in_v, out);</div>
7105<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;}</div>
7106<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7107<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
7108<div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml_a0e95dc1e53c361348314873b168ae237"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">arm_compute::ITensor::info</a></div><div class="ttdeci">virtual ITensorInfo * info() const =0</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007109<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007110<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
7111<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a6b14f175bf5281f57b561e2d4e4b1f1f"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">arm_compute::ITensorInfo::strides_in_bytes</a></div><div class="ttdeci">virtual const Strides &amp; strides_in_bytes() const =0</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007112</div><!-- fragment -->
7113</div>
7114</div>
7115<a class="anchor" id="a08e9d88293a5cef787bb324c2dc0a6bf"></a>
7116<div class="memitem">
7117<div class="memproto">
7118 <table class="memname">
7119 <tr>
7120 <td class="memname">void arm_compute::colorconvert_iyuv_to_yuv4 </td>
7121 <td>(</td>
7122 <td class="paramtype">const void *__restrict&#160;</td>
7123 <td class="paramname"><em>input</em>, </td>
7124 </tr>
7125 <tr>
7126 <td class="paramkey"></td>
7127 <td></td>
7128 <td class="paramtype">void *__restrict&#160;</td>
7129 <td class="paramname"><em>output</em>, </td>
7130 </tr>
7131 <tr>
7132 <td class="paramkey"></td>
7133 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007134 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007135 <td class="paramname"><em>win</em>&#160;</td>
7136 </tr>
7137 <tr>
7138 <td></td>
7139 <td>)</td>
7140 <td></td><td></td>
7141 </tr>
7142 </table>
7143</div><div class="memdoc">
7144
7145<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">737</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7146
Kaizen8938bd32017-09-28 14:38:23 +01007147<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7148<div class="fragment"><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;{</div>
7149<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7150<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7151<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; win.validate();</div>
7152<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;</div>
7153<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
7154<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7155<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;</div>
7156<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7157<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; Window win_uv(win);</div>
7158<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7159<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7160<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; win_uv.validate();</div>
7161<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;</div>
7162<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
7163<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div>
7164<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div>
7165<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7166<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div>
7167<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div>
7168<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;</div>
7169<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7170<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; {</div>
7171<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
7172<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7173<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div>
7174<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div>
7175<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7176<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7177<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div>
7178<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div>
7179<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;</div>
7180<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div>
7181<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div>
7182<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div>
7183<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; uint8x16x2_t uvec;</div>
7184<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; uvec.val[0] = ta_u;</div>
7185<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; uvec.val[1] = ta_u;</div>
7186<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div>
7187<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div>
7188<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div>
7189<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; uint8x16x2_t vvec;</div>
7190<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; vvec.val[0] = ta_v;</div>
7191<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; vvec.val[1] = ta_v;</div>
7192<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div>
7193<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div>
7194<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; },</div>
7195<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; in_y, in_u, in_v, out_y, out_u, out_v);</div>
7196<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;}</div>
7197<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7198<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007199</div><!-- fragment -->
7200</div>
7201</div>
7202<a class="anchor" id="a199d36780fbb4a70168f290480673650"></a>
7203<div class="memitem">
7204<div class="memproto">
7205 <table class="memname">
7206 <tr>
7207 <td class="memname">void arm_compute::colorconvert_nv12_to_iyuv </td>
7208 <td>(</td>
7209 <td class="paramtype">const void *__restrict&#160;</td>
7210 <td class="paramname"><em>input</em>, </td>
7211 </tr>
7212 <tr>
7213 <td class="paramkey"></td>
7214 <td></td>
7215 <td class="paramtype">void *__restrict&#160;</td>
7216 <td class="paramname"><em>output</em>, </td>
7217 </tr>
7218 <tr>
7219 <td class="paramkey"></td>
7220 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007221 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007222 <td class="paramname"><em>win</em>&#160;</td>
7223 </tr>
7224 <tr>
7225 <td></td>
7226 <td>)</td>
7227 <td></td><td></td>
7228 </tr>
7229 </table>
7230</div><div class="memdoc">
7231
7232<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">591</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7233
Kaizen8938bd32017-09-28 14:38:23 +01007234<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7235<div class="fragment"><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;{</div>
7236<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7237<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7238<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; win.validate();</div>
7239<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;</div>
7240<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
7241<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7242<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;</div>
7243<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div>
7244<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div>
7245<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7246<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; Window win_uv(win);</div>
7247<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7248<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7249<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; win_uv.validate();</div>
7250<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;</div>
7251<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
7252<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div>
7253<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7254<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div>
7255<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div>
7256<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;</div>
7257<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7258<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; {</div>
7259<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
7260<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7261<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div>
7262<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7263<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7264<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
7265<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
7266<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;</div>
7267<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div>
7268<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div>
7269<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div>
7270<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div>
7271<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; },</div>
7272<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div>
7273<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;}</div>
7274<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7275<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007276</div><!-- fragment -->
7277</div>
7278</div>
7279<a class="anchor" id="ae6a44e412bccc0705a720708b0692218"></a>
7280<div class="memitem">
7281<div class="memproto">
7282 <table class="memname">
7283 <tr>
7284 <td class="memname">void arm_compute::colorconvert_nv12_to_rgb </td>
7285 <td>(</td>
7286 <td class="paramtype">const void *__restrict&#160;</td>
7287 <td class="paramname"><em>input</em>, </td>
7288 </tr>
7289 <tr>
7290 <td class="paramkey"></td>
7291 <td></td>
7292 <td class="paramtype">void *__restrict&#160;</td>
7293 <td class="paramname"><em>output</em>, </td>
7294 </tr>
7295 <tr>
7296 <td class="paramkey"></td>
7297 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007298 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007299 <td class="paramname"><em>win</em>&#160;</td>
7300 </tr>
7301 <tr>
7302 <td></td>
7303 <td>)</td>
7304 <td></td><td></td>
7305 </tr>
7306 </table>
7307</div><div class="memdoc">
7308
7309<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">389</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7310
Kaizen8938bd32017-09-28 14:38:23 +01007311<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7312<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;{</div>
7313<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7314<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7315<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; win.validate();</div>
7316<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;</div>
7317<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
7318<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
7319<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div>
7320<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div>
7321<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;<a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>();</div>
7322<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div>
7323<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;</div>
7324<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7325<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; Window win_uv(win);</div>
7326<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win.x().step() / 2));</div>
7327<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7328<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; win_uv.validate();</div>
7329<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;</div>
7330<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
7331<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div>
7332<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; Iterator out(output_ptr, win);</div>
7333<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div>
7334<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7335<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div>
7336<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
7337<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7338<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div>
7339<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7340<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7341<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
7342<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
7343<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div>
7344<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div>
7345<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div>
7346<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div>
7347<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div>
7348<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div>
7349<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div>
7350<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div>
7351<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div>
7352<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;</div>
7353<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div>
7354<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div>
7355<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div>
7356<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div>
7357<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div>
7358<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, alpha);</div>
7359<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, alpha);</div>
7360<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, alpha);</div>
7361<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, alpha);</div>
7362<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; },</div>
7363<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; in_y, in_uv, out);</div>
7364<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;}</div>
7365<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7366<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
7367<div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml_a0e95dc1e53c361348314873b168ae237"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">arm_compute::ITensor::info</a></div><div class="ttdeci">virtual ITensorInfo * info() const =0</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007368<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007369<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
7370<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a6b14f175bf5281f57b561e2d4e4b1f1f"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">arm_compute::ITensorInfo::strides_in_bytes</a></div><div class="ttdeci">virtual const Strides &amp; strides_in_bytes() const =0</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007371</div><!-- fragment -->
7372</div>
7373</div>
7374<a class="anchor" id="a587a54c85dcc72838b8f4b5575ebafe4"></a>
7375<div class="memitem">
7376<div class="memproto">
7377 <table class="memname">
7378 <tr>
7379 <td class="memname">void arm_compute::colorconvert_nv12_to_yuv4 </td>
7380 <td>(</td>
7381 <td class="paramtype">const void *__restrict&#160;</td>
7382 <td class="paramname"><em>input</em>, </td>
7383 </tr>
7384 <tr>
7385 <td class="paramkey"></td>
7386 <td></td>
7387 <td class="paramtype">void *__restrict&#160;</td>
7388 <td class="paramname"><em>output</em>, </td>
7389 </tr>
7390 <tr>
7391 <td class="paramkey"></td>
7392 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007393 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007394 <td class="paramname"><em>win</em>&#160;</td>
7395 </tr>
7396 <tr>
7397 <td></td>
7398 <td>)</td>
7399 <td></td><td></td>
7400 </tr>
7401 </table>
7402</div><div class="memdoc">
7403
7404<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">686</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7405
Kaizen8938bd32017-09-28 14:38:23 +01007406<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7407<div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;{</div>
7408<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7409<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7410<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; win.validate();</div>
7411<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;</div>
7412<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div>
7413<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7414<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div>
7415<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div>
7416<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div>
7417<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7418<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; Window win_uv(win);</div>
7419<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7420<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7421<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; win_uv.validate();</div>
7422<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;</div>
7423<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div>
7424<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div>
7425<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7426<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div>
7427<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div>
7428<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;</div>
7429<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7430<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div>
7431<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
7432<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div>
7433<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div>
7434<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7435<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
7436<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
7437<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
7438<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;</div>
7439<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div>
7440<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div>
7441<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;</div>
7442<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; uint8x16x2_t uvec;</div>
7443<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; uvec.val[0] = ta_uv.val[0 + shift];</div>
7444<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; uvec.val[1] = ta_uv.val[0 + shift];</div>
7445<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div>
7446<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div>
7447<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;</div>
7448<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; uint8x16x2_t vvec;</div>
7449<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; vvec.val[0] = ta_uv.val[1 - shift];</div>
7450<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; vvec.val[1] = ta_uv.val[1 - shift];</div>
7451<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div>
7452<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div>
7453<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; },</div>
7454<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div>
7455<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;}</div>
7456<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7457<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007458</div><!-- fragment -->
7459</div>
7460</div>
7461<a class="anchor" id="a49b7a8e217ba7aad821fdeaab86bad53"></a>
7462<div class="memitem">
7463<div class="memproto">
7464 <table class="memname">
7465 <tr>
7466 <td class="memname">void arm_compute::colorconvert_rgb_to_iyuv </td>
7467 <td>(</td>
7468 <td class="paramtype">const void *__restrict&#160;</td>
7469 <td class="paramname"><em>input</em>, </td>
7470 </tr>
7471 <tr>
7472 <td class="paramkey"></td>
7473 <td></td>
7474 <td class="paramtype">void *__restrict&#160;</td>
7475 <td class="paramname"><em>output</em>, </td>
7476 </tr>
7477 <tr>
7478 <td class="paramkey"></td>
7479 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007480 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007481 <td class="paramname"><em>win</em>&#160;</td>
7482 </tr>
7483 <tr>
7484 <td></td>
7485 <td>)</td>
7486 <td></td><td></td>
7487 </tr>
7488 </table>
7489</div><div class="memdoc">
7490
7491<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">825</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7492
Kaizen8938bd32017-09-28 14:38:23 +01007493<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7494<div class="fragment"><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;{</div>
7495<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7496<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7497<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; win.validate();</div>
7498<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;</div>
7499<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7500<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7501<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;</div>
7502<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7503<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; Window win_uv(win);</div>
7504<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7505<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7506<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; win_uv.validate();</div>
7507<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;</div>
7508<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; Iterator in(input_ptr, win);</div>
7509<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7510<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div>
7511<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div>
7512<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;</div>
7513<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7514<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; {</div>
7515<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), alpha);</div>
7516<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), alpha);</div>
7517<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div>
7518<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div>
7519<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div>
7520<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;</div>
7521<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; store_rgb_to_iyuv(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div>
7522<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div>
7523<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div>
7524<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; out_u.ptr(), out_v.ptr());</div>
7525<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; },</div>
7526<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; in, out_y, out_u, out_v);</div>
7527<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;}</div>
7528<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7529<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007530<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7531</div><!-- fragment -->
7532</div>
7533</div>
7534<a class="anchor" id="a14fd899b732509e245976b9967b8931d"></a>
7535<div class="memitem">
7536<div class="memproto">
7537 <table class="memname">
7538 <tr>
7539 <td class="memname">void arm_compute::colorconvert_rgb_to_nv12 </td>
7540 <td>(</td>
7541 <td class="paramtype">const void *__restrict&#160;</td>
7542 <td class="paramname"><em>input</em>, </td>
7543 </tr>
7544 <tr>
7545 <td class="paramkey"></td>
7546 <td></td>
7547 <td class="paramtype">void *__restrict&#160;</td>
7548 <td class="paramname"><em>output</em>, </td>
7549 </tr>
7550 <tr>
7551 <td class="paramkey"></td>
7552 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007553 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007554 <td class="paramname"><em>win</em>&#160;</td>
7555 </tr>
7556 <tr>
7557 <td></td>
7558 <td>)</td>
7559 <td></td><td></td>
7560 </tr>
7561 </table>
7562</div><div class="memdoc">
7563
7564<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">789</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7565
Kaizen8938bd32017-09-28 14:38:23 +01007566<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7567<div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;{</div>
7568<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7569<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7570<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; win.validate();</div>
7571<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;</div>
7572<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7573<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7574<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;</div>
7575<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div>
7576<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; Window win_uv(win);</div>
7577<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7578<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7579<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; win_uv.validate();</div>
7580<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;</div>
7581<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; Iterator in(input_ptr, win);</div>
7582<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7583<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div>
7584<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;</div>
7585<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7586<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; {</div>
7587<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), alpha);</div>
7588<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), alpha);</div>
7589<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div>
7590<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div>
7591<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div>
7592<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;</div>
7593<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; store_rgb_to_nv12(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div>
7594<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div>
7595<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div>
7596<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; out_uv.ptr());</div>
7597<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; },</div>
7598<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; in, out_y, out_uv);</div>
7599<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;}</div>
7600<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7601<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007602<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7603</div><!-- fragment -->
7604</div>
7605</div>
7606<a class="anchor" id="a93cc303c8ae098d264f07d37890412de"></a>
7607<div class="memitem">
7608<div class="memproto">
7609 <table class="memname">
7610 <tr>
7611 <td class="memname">void arm_compute::colorconvert_rgb_to_rgbx </td>
7612 <td>(</td>
7613 <td class="paramtype">const void *__restrict&#160;</td>
7614 <td class="paramname"><em>input</em>, </td>
7615 </tr>
7616 <tr>
7617 <td class="paramkey"></td>
7618 <td></td>
7619 <td class="paramtype">void *__restrict&#160;</td>
7620 <td class="paramname"><em>output</em>, </td>
7621 </tr>
7622 <tr>
7623 <td class="paramkey"></td>
7624 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007625 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007626 <td class="paramname"><em>win</em>&#160;</td>
7627 </tr>
7628 <tr>
7629 <td></td>
7630 <td>)</td>
7631 <td></td><td></td>
7632 </tr>
7633 </table>
7634</div><div class="memdoc">
7635
7636<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">303</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7637
Kaizen8938bd32017-09-28 14:38:23 +01007638<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
7639<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;{</div>
7640<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7641<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7642<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div>
7643<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7644<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
7645<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div>
7646<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; Iterator in(input_ptr, win);</div>
7647<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; Iterator out(output_ptr, win);</div>
7648<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div>
7649<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7650<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; {</div>
7651<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(in.ptr());</div>
7652<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; uint8x16x4_t ta2;</div>
7653<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; ta2.val[0] = ta1.val[0];</div>
7654<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; ta2.val[1] = ta1.val[1];</div>
7655<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; ta2.val[2] = ta1.val[2];</div>
7656<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; ta2.val[3] = vdupq_n_u8(255);</div>
7657<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; vst4q_u8(out.ptr(), ta2);</div>
7658<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; },</div>
7659<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; in, out);</div>
7660<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;}</div>
7661<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7662<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007663<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7664</div><!-- fragment -->
7665</div>
7666</div>
7667<a class="anchor" id="ad304c0b0a72ed3f65c24fa69ab3cd53e"></a>
7668<div class="memitem">
7669<div class="memproto">
7670 <table class="memname">
7671 <tr>
7672 <td class="memname">void arm_compute::colorconvert_rgb_to_yuv4 </td>
7673 <td>(</td>
7674 <td class="paramtype">const void *__restrict&#160;</td>
7675 <td class="paramname"><em>input</em>, </td>
7676 </tr>
7677 <tr>
7678 <td class="paramkey"></td>
7679 <td></td>
7680 <td class="paramtype">void *__restrict&#160;</td>
7681 <td class="paramname"><em>output</em>, </td>
7682 </tr>
7683 <tr>
7684 <td class="paramkey"></td>
7685 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007686 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007687 <td class="paramname"><em>win</em>&#160;</td>
7688 </tr>
7689 <tr>
7690 <td></td>
7691 <td>)</td>
7692 <td></td><td></td>
7693 </tr>
7694 </table>
7695</div><div class="memdoc">
7696
7697<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">862</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7698
Kaizen8938bd32017-09-28 14:38:23 +01007699<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>.</p>
7700<div class="fragment"><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;{</div>
7701<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7702<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7703<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; win.validate();</div>
7704<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;</div>
7705<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7706<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7707<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;</div>
7708<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; Iterator in(input_ptr, win);</div>
7709<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7710<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div>
7711<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div>
7712<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;</div>
7713<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7714<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; {</div>
7715<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(in.ptr(), alpha);</div>
7716<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div>
7717<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div>
7718<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div>
7719<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;</div>
7720<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div>
7721<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; out_y.ptr(), out_u.ptr(), out_v.ptr());</div>
7722<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; },</div>
7723<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; in, out_y, out_u, out_v);</div>
7724<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;}</div>
7725<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7726<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007727<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7728</div><!-- fragment -->
7729</div>
7730</div>
7731<a class="anchor" id="acf7451c0d0f8a4b1cfbb60d7531a43aa"></a>
7732<div class="memitem">
7733<div class="memproto">
7734 <table class="memname">
7735 <tr>
7736 <td class="memname">void arm_compute::colorconvert_rgbx_to_rgb </td>
7737 <td>(</td>
7738 <td class="paramtype">const void *&#160;</td>
7739 <td class="paramname"><em>input</em>, </td>
7740 </tr>
7741 <tr>
7742 <td class="paramkey"></td>
7743 <td></td>
7744 <td class="paramtype">void *&#160;</td>
7745 <td class="paramname"><em>output</em>, </td>
7746 </tr>
7747 <tr>
7748 <td class="paramkey"></td>
7749 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007750 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007751 <td class="paramname"><em>win</em>&#160;</td>
7752 </tr>
7753 <tr>
7754 <td></td>
7755 <td>)</td>
7756 <td></td><td></td>
7757 </tr>
7758 </table>
7759</div><div class="memdoc">
7760
7761<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">327</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7762
Kaizen8938bd32017-09-28 14:38:23 +01007763<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
7764<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;{</div>
7765<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7766<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7767<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;</div>
7768<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7769<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
7770<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div>
7771<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; Iterator in(input_ptr, win);</div>
7772<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; Iterator out(output_ptr, win);</div>
7773<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div>
7774<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7775<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div>
7776<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld4q_u8(in.ptr());</div>
7777<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; uint8x16x3_t ta2;</div>
7778<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; ta2.val[0] = ta1.val[0];</div>
7779<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; ta2.val[1] = ta1.val[1];</div>
7780<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; ta2.val[2] = ta1.val[2];</div>
7781<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; vst3q_u8(out.ptr(), ta2);</div>
7782<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; },</div>
7783<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; in, out);</div>
7784<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;}</div>
7785<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7786<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007787<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7788</div><!-- fragment -->
7789</div>
7790</div>
7791<a class="anchor" id="ae43e8f0463c0289169025c3041688d36"></a>
7792<div class="memitem">
7793<div class="memproto">
7794 <table class="memname">
7795 <tr>
7796 <td class="memname">void arm_compute::colorconvert_yuyv_to_iyuv </td>
7797 <td>(</td>
7798 <td class="paramtype">const void *__restrict&#160;</td>
7799 <td class="paramname"><em>input</em>, </td>
7800 </tr>
7801 <tr>
7802 <td class="paramkey"></td>
7803 <td></td>
7804 <td class="paramtype">void *__restrict&#160;</td>
7805 <td class="paramname"><em>output</em>, </td>
7806 </tr>
7807 <tr>
7808 <td class="paramkey"></td>
7809 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007810 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007811 <td class="paramname"><em>win</em>&#160;</td>
7812 </tr>
7813 <tr>
7814 <td></td>
7815 <td>)</td>
7816 <td></td><td></td>
7817 </tr>
7818 </table>
7819</div><div class="memdoc">
7820
7821<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">633</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7822
Kaizen8938bd32017-09-28 14:38:23 +01007823<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7824<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;{</div>
7825<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7826<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7827<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; win.validate();</div>
7828<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div>
7829<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7830<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7831<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;</div>
7832<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div>
7833<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div>
7834<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="comment">// Destination&#39;s UV&#39;s width and height are subsampled</span></div>
7835<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; Window win_uv(win);</div>
7836<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7837<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7838<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; win_uv.validate();</div>
7839<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;</div>
7840<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; Iterator in(input_ptr, win);</div>
7841<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7842<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div>
7843<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div>
7844<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;</div>
7845<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7846<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; {</div>
7847<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div>
7848<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div>
7849<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7850<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div>
7851<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div>
7852<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div>
7853<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;</div>
7854<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; uint8x16x2_t yvec;</div>
7855<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div>
7856<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div>
7857<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; vst2q_u8(out_y.ptr(), yvec);</div>
7858<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;</div>
7859<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; uint8x16x2_t yyvec;</div>
7860<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div>
7861<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div>
7862<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div>
7863<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;</div>
7864<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; uint8x16_t uvec;</div>
7865<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div>
7866<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; vst1q_u8(out_u.ptr(), uvec);</div>
7867<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;</div>
7868<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; uint8x16_t vvec;</div>
7869<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div>
7870<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; vst1q_u8(out_v.ptr(), vvec);</div>
7871<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; },</div>
7872<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; in, out_y, out_u, out_v);</div>
7873<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;}</div>
7874<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7875<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007876<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7877</div><!-- fragment -->
7878</div>
7879</div>
7880<a class="anchor" id="a8ee13904a3f5ba84b28cb53d956021d7"></a>
7881<div class="memitem">
7882<div class="memproto">
7883 <table class="memname">
7884 <tr>
7885 <td class="memname">void arm_compute::colorconvert_yuyv_to_nv12 </td>
7886 <td>(</td>
7887 <td class="paramtype">const void *__restrict&#160;</td>
7888 <td class="paramname"><em>input</em>, </td>
7889 </tr>
7890 <tr>
7891 <td class="paramkey"></td>
7892 <td></td>
7893 <td class="paramtype">void *__restrict&#160;</td>
7894 <td class="paramname"><em>output</em>, </td>
7895 </tr>
7896 <tr>
7897 <td class="paramkey"></td>
7898 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007899 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007900 <td class="paramname"><em>win</em>&#160;</td>
7901 </tr>
7902 <tr>
7903 <td></td>
7904 <td>)</td>
7905 <td></td><td></td>
7906 </tr>
7907 </table>
7908</div><div class="memdoc">
7909
7910<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">502</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7911
Kaizen8938bd32017-09-28 14:38:23 +01007912<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
7913<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;{</div>
7914<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
7915<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
7916<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; win.validate();</div>
7917<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;</div>
7918<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
7919<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div>
7920<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;</div>
7921<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div>
7922<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;</div>
7923<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="comment">// NV12&#39;s UV&#39;s width and height are subsampled</span></div>
7924<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; Window win_uv(win);</div>
7925<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
7926<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
7927<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; win_uv.validate();</div>
7928<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;</div>
7929<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; Iterator in(input_ptr, win);</div>
7930<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div>
7931<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div>
7932<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;</div>
7933<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
7934<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; {</div>
7935<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div>
7936<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div>
7937<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
7938<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div>
7939<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div>
7940<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div>
7941<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;</div>
7942<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; uint8x16x2_t yvec;</div>
7943<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div>
7944<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div>
7945<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; vst2q_u8(out_y.ptr(), yvec);</div>
7946<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div>
7947<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; uint8x16x2_t yyvec;</div>
7948<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div>
7949<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div>
7950<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div>
7951<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div>
7952<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; uint8x16x2_t uvvec;</div>
7953<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div>
7954<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div>
7955<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; vst2q_u8(out_uv.ptr(), uvvec);</div>
7956<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; },</div>
7957<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; in, out_y, out_uv);</div>
7958<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;}</div>
7959<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
7960<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007961<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
7962</div><!-- fragment -->
7963</div>
7964</div>
7965<a class="anchor" id="a3c22c0d3494660b72b4fc04fec76f92d"></a>
7966<div class="memitem">
7967<div class="memproto">
7968 <table class="memname">
7969 <tr>
7970 <td class="memname">void arm_compute::colorconvert_yuyv_to_rgb </td>
7971 <td>(</td>
7972 <td class="paramtype">const void *__restrict&#160;</td>
7973 <td class="paramname"><em>input</em>, </td>
7974 </tr>
7975 <tr>
7976 <td class="paramkey"></td>
7977 <td></td>
7978 <td class="paramtype">void *__restrict&#160;</td>
7979 <td class="paramname"><em>output</em>, </td>
7980 </tr>
7981 <tr>
7982 <td class="paramkey"></td>
7983 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01007984 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007985 <td class="paramname"><em>win</em>&#160;</td>
7986 </tr>
7987 <tr>
7988 <td></td>
7989 <td>)</td>
7990 <td></td><td></td>
7991 </tr>
7992 </table>
7993</div><div class="memdoc">
7994
7995<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">351</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7996
Kaizen8938bd32017-09-28 14:38:23 +01007997<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
7998<div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;{</div>
7999<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
8000<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
8001<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div>
8002<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div>
8003<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div>
8004<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div>
8005<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div>
8006<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div>
8007<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div>
8008<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; Iterator in(input_ptr, win);</div>
8009<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; Iterator out(output_ptr, win);</div>
8010<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;</div>
8011<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div>
8012<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; {</div>
8013<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; float32x4x4_t uvec, yvec, vvec, yyvec;</div>
8014<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta = vld4q_u8(in.ptr());</div>
8015<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
8016<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div>
8017<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div>
8018<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div>
8019<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div>
8020<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div>
8021<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div>
8022<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div>
8023<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div>
8024<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</div>
8025<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
8026<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; yuyv_to_rgb_calculation(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div>
8027<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; yuyv_to_rgb_calculation(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div>
8028<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; yuyv_to_rgb_calculation(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div>
8029<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; yuyv_to_rgb_calculation(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div>
8030<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; },</div>
8031<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; in, out);</div>
8032<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;}</div>
8033<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
8034<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008035<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
8036</div><!-- fragment -->
8037</div>
8038</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008039<a class="anchor" id="a35178800b82e07a49da5a81cdeda9a0c"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00008040<div class="memitem">
8041<div class="memproto">
8042<table class="mlabels">
8043 <tr>
8044 <td class="mlabels-left">
8045 <table class="memname">
8046 <tr>
8047 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
8048 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008049 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008050 <td class="paramname"><em>info</em>, </td>
8051 </tr>
8052 <tr>
8053 <td class="paramkey"></td>
8054 <td></td>
8055 <td class="paramtype">T&#160;</td>
8056 <td class="paramname"><em>stride_x</em>, </td>
8057 </tr>
8058 <tr>
8059 <td class="paramkey"></td>
8060 <td></td>
8061 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
8062 <td class="paramname"><em>fixed_strides</em>&#160;</td>
8063 </tr>
8064 <tr>
8065 <td></td>
8066 <td>)</td>
8067 <td></td><td></td>
8068 </tr>
8069 </table>
8070 </td>
8071 <td class="mlabels-right">
8072<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8073 </tr>
8074</table>
8075</div><div class="memdoc">
8076
8077<p>Create a strides object based on the provided strides and the tensor dimensions. </p>
8078<dl class="params"><dt>Parameters</dt><dd>
8079 <table class="params">
8080 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object providing the shape of the tensor for unspecified strides. </td></tr>
8081 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride to be used in X dimension (in bytes). </td></tr>
8082 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_strides</td><td><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> to be used in higher dimensions starting at Y (in bytes).</td></tr>
8083 </table>
8084 </dd>
8085</dl>
8086<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>
8087
Kaizen8938bd32017-09-28 14:38:23 +01008088<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00435">435</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008089
Kaizen8938bd32017-09-28 14:38:23 +01008090<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>, <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008091
Kaizen8938bd32017-09-28 14:38:23 +01008092<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">compute_strides()</a>.</p>
8093<div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;{</div>
8094<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keyword">const</span> TensorShape &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape();</div>
8095<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;</div>
8096<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="comment">// Create strides object</span></div>
8097<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; Strides strides(stride_x, fixed_strides...);</div>
8098<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;</div>
8099<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_dimensions(); ++i)</div>
8100<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div>
8101<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; strides.set(i, shape[i - 1] * strides[i - 1]);</div>
8102<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; }</div>
8103<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div>
8104<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">return</span> strides;</div>
8105<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;}</div>
8106<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
8107<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
8108</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00008109</div>
8110</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008111<a class="anchor" id="a8c35748731709927597cb5a2c227e682"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00008112<div class="memitem">
8113<div class="memproto">
8114<table class="mlabels">
8115 <tr>
8116 <td class="mlabels-left">
8117 <table class="memname">
8118 <tr>
8119 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
8120 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008121 <td class="paramtype">const ITensorInfo &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008122 <td class="paramname"><em>info</em></td><td>)</td>
8123 <td></td>
8124 </tr>
8125 </table>
8126 </td>
8127 <td class="mlabels-right">
8128<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8129 </tr>
8130</table>
8131</div><div class="memdoc">
8132
8133<p>Create a strides object based on the tensor dimensions. </p>
8134<dl class="params"><dt>Parameters</dt><dd>
8135 <table class="params">
8136 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info object used to compute the strides.</td></tr>
8137 </table>
8138 </dd>
8139</dl>
8140<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>
8141
Kaizen8938bd32017-09-28 14:38:23 +01008142<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">457</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008143
Kaizen8938bd32017-09-28 14:38:23 +01008144<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00435">compute_strides()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aa459796b5489eca8a9160cb5dcf1a103">ITensorInfo::element_size()</a>.</p>
8145<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;{</div>
8146<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">compute_strides</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.element_size());</div>
8147<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;}</div>
8148<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
8149<div class="ttc" id="namespacearm__compute_xhtml_a8c35748731709927597cb5a2c227e682"><div class="ttname"><a href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">arm_compute::compute_strides</a></div><div class="ttdeci">Strides compute_strides(const ITensorInfo &amp;info)</div><div class="ttdoc">Create a strides object based on the tensor dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">Helpers.h:457</a></div></div>
8150</div><!-- fragment -->
8151</div>
8152</div>
8153<a class="anchor" id="ad95e1c14c3007ca18950bf8f4c5a5c93"></a>
8154<div class="memitem">
8155<div class="memproto">
8156<table class="mlabels">
8157 <tr>
8158 <td class="mlabels-left">
8159 <table class="memname">
8160 <tr>
8161 <td class="memname">int coords2index </td>
8162 <td>(</td>
8163 <td class="paramtype">const TensorShape &amp;&#160;</td>
8164 <td class="paramname"><em>shape</em>, </td>
8165 </tr>
8166 <tr>
8167 <td class="paramkey"></td>
8168 <td></td>
8169 <td class="paramtype">const Coordinates &amp;&#160;</td>
8170 <td class="paramname"><em>coord</em>&#160;</td>
8171 </tr>
8172 <tr>
8173 <td></td>
8174 <td>)</td>
8175 <td></td><td></td>
8176 </tr>
8177 </table>
8178 </td>
8179 <td class="mlabels-right">
8180<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8181 </tr>
8182</table>
8183</div><div class="memdoc">
8184
8185<p>Convert n-dimensional coordinates into a linear index. </p>
8186<dl class="params"><dt>Parameters</dt><dd>
8187 <table class="params">
8188 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
8189 <tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>N-dimensional coordinates.</td></tr>
8190 </table>
8191 </dd>
8192</dl>
8193<dl class="section return"><dt>Returns</dt><dd>linead index </dd></dl>
8194
8195<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00307">307</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
8196
8197<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions&lt; T &gt;::num_dimensions()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
8198<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;{</div>
8199<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordtype">int</span> num_elements = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.total_size();</div>
8200<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(num_elements);</div>
8201<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">&quot;Cannot create linear index from empty shape!&quot;</span>);</div>
8202<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div>
8203<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordtype">int</span> index = 0;</div>
8204<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordtype">int</span> stride = 1;</div>
8205<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div>
8206<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 0; d &lt; coord.num_dimensions(); ++d)</div>
8207<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div>
8208<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; index += coord[d] * stride;</div>
8209<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div>
8210<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
8211<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div>
8212<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">return</span> index;</div>
8213<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;}</div>
8214<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
8215<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>
8216<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00115">Error.h:115</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008217</div><!-- fragment -->
8218</div>
8219</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008220<a class="anchor" id="a35fb9d1dde1b976f4b7d361aabcc7c0d"></a>
8221<div class="memitem">
8222<div class="memproto">
8223 <table class="memname">
8224 <tr>
8225 <td class="memname">std::unique_ptr&lt;<a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a>&gt; arm_compute::create_configure_kernel </td>
8226 <td>(</td>
8227 <td class="paramtype">T &amp;&amp;...&#160;</td>
8228 <td class="paramname"><em>args</em></td><td>)</td>
8229 <td></td>
8230 </tr>
8231 </table>
8232</div><div class="memdoc">
8233
8234<p>Helper function to create and return a unique_ptr pointed to a CL kernel object It also calls the kernel's configuration. </p>
8235<dl class="params"><dt>Parameters</dt><dd>
8236 <table class="params">
8237 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>All the arguments that need pass to kernel's configuration.</td></tr>
8238 </table>
8239 </dd>
8240</dl>
8241<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL kernel object </dd></dl>
8242
Kaizen8938bd32017-09-28 14:38:23 +01008243<p>Definition at line <a class="el" href="_c_l_helpers_8h_source.xhtml#l00088">88</a> of file <a class="el" href="_c_l_helpers_8h_source.xhtml">CLHelpers.h</a>.</p>
8244
8245<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor::args</a>.</p>
8246<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;{</div>
8247<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; std::unique_ptr&lt;Kernel&gt; k = arm_compute::support::cpp14::make_unique&lt;Kernel&gt;();</div>
8248<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; k-&gt;configure(std::forward&lt;T&gt;(<a class="code" href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">args</a>)...);</div>
8249<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> k;</div>
8250<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;}</div>
8251<div class="ttc" id="namespacecaffe__data__extractor_xhtml_aad3cdfd6574de97bf37448087aaff11d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">caffe_data_extractor.args</a></div><div class="ttdeci">tuple args</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor.py:21</a></div></div>
8252</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01008253</div>
8254</div>
8255<a class="anchor" id="abc72c95941485d8a068fa38372308574"></a>
8256<div class="memitem">
8257<div class="memproto">
8258 <table class="memname">
8259 <tr>
8260 <td class="memname">std::unique_ptr&lt;<a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a>&gt; arm_compute::create_kernel </td>
8261 <td>(</td>
8262 <td class="paramname"></td><td>)</td>
8263 <td></td>
8264 </tr>
8265 </table>
8266</div><div class="memdoc">
8267
8268<p>Helper function to create and return a unique_ptr pointed to a CL kernel object. </p>
8269<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL kernel object </dd></dl>
8270
Kaizen8938bd32017-09-28 14:38:23 +01008271<p>Definition at line <a class="el" href="_c_l_helpers_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_c_l_helpers_8h_source.xhtml">CLHelpers.h</a>.</p>
8272<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;{</div>
8273<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; std::unique_ptr&lt;Kernel&gt; k = arm_compute::support::cpp14::make_unique&lt;Kernel&gt;();</div>
8274<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> k;</div>
8275<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div>
8276</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01008277</div>
8278</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008279<a class="anchor" id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
8280<div class="memitem">
8281<div class="memproto">
8282<table class="mlabels">
8283 <tr>
8284 <td class="mlabels-left">
8285 <table class="memname">
8286 <tr>
8287 <td class="memname">size_t arm_compute::data_size_from_type </td>
8288 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008289 <td class="paramtype">DataType&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008290 <td class="paramname"><em>data_type</em></td><td>)</td>
8291 <td></td>
8292 </tr>
8293 </table>
8294 </td>
8295 <td class="mlabels-right">
8296<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8297 </tr>
8298</table>
8299</div><div class="memdoc">
8300
8301<p>The size in bytes of the data type. </p>
8302<dl class="params"><dt>Parameters</dt><dd>
8303 <table class="params">
8304 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Input data type</td></tr>
8305 </table>
8306 </dd>
8307</dl>
8308<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
8309
Kaizenbf8b01d2017-10-12 14:26:51 +01008310<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00088">88</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008311
Kaizen8938bd32017-09-28 14:38:23 +01008312<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008313
Kaizen8938bd32017-09-28 14:38:23 +01008314<p>Referenced by <a class="el" href="_tensor_info_8h_source.xhtml#l00227">TensorInfo::element_size()</a>, and <a class="el" href="_alex_net_network_8h_source.xhtml#l00057">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::init()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +01008315<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;{</div>
8316<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div>
8317<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
8318<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div>
8319<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div>
8320<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div>
8321<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> 1;</div>
8322<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div>
8323<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div>
8324<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div>
8325<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div>
8326<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> 2;</div>
8327<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div>
8328<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div>
8329<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div>
8330<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div>
8331<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> 4;</div>
8332<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div>
8333<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div>
8334<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div>
8335<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> 8;</div>
8336<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div>
8337<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div>
8338<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">default</span>:</div>
8339<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Invalid data type&quot;</span>);</div>
8340<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> 0;</div>
8341<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
8342<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +01008343<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
8344<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008345</div><!-- fragment -->
8346</div>
8347</div>
8348<a class="anchor" id="a01adc12d8e07c06cdb0f03c56a455bf3"></a>
8349<div class="memitem">
8350<div class="memproto">
8351<table class="mlabels">
8352 <tr>
8353 <td class="mlabels-left">
8354 <table class="memname">
8355 <tr>
8356 <td class="memname">std::pair&lt;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&gt; arm_compute::data_type_for_convolution </td>
8357 <td>(</td>
8358 <td class="paramtype">const int16_t *&#160;</td>
8359 <td class="paramname"><em>conv_col</em>, </td>
8360 </tr>
8361 <tr>
8362 <td class="paramkey"></td>
8363 <td></td>
8364 <td class="paramtype">const int16_t *&#160;</td>
8365 <td class="paramname"><em>conv_row</em>, </td>
8366 </tr>
8367 <tr>
8368 <td class="paramkey"></td>
8369 <td></td>
8370 <td class="paramtype">size_t&#160;</td>
8371 <td class="paramname"><em>size</em>&#160;</td>
8372 </tr>
8373 <tr>
8374 <td></td>
8375 <td>)</td>
8376 <td></td><td></td>
8377 </tr>
8378 </table>
8379 </td>
8380 <td class="mlabels-right">
8381<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8382 </tr>
8383</table>
8384</div><div class="memdoc">
8385
8386<p>Calculate accurary required by the horizontal and vertical convolution computations. </p>
8387<dl class="params"><dt>Parameters</dt><dd>
8388 <table class="params">
8389 <tr><td class="paramdir">[in]</td><td class="paramname">conv_col</td><td>Pointer to the vertical vector of the separated convolution filter </td></tr>
8390 <tr><td class="paramdir">[in]</td><td class="paramname">conv_row</td><td>Pointer to the horizontal vector of the convolution filter </td></tr>
8391 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of elements per vector of the separated matrix</td></tr>
8392 </table>
8393 </dd>
8394</dl>
8395<dl class="section return"><dt>Returns</dt><dd>The return type is a pair. The first element of the pair is the biggest data type needed for the first stage. The second element of the pair is the biggest data type needed for the second stage. </dd></dl>
8396
Kaizenbf8b01d2017-10-12 14:26:51 +01008397<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00463">463</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008398
Kaizen8938bd32017-09-28 14:38:23 +01008399<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +01008400<div class="fragment"><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;{</div>
8401<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div>
8402<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div>
8403<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div>
8404<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &amp;v)</div>
8405<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; {</div>
8406<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</div>
8407<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; };</div>
Kaizen8938bd32017-09-28 14:38:23 +01008408<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;</div>
Kaizenbf8b01d2017-10-12 14:26:51 +01008409<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keyword">auto</span> accu_neg = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &amp;first, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;second)</div>
8410<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div>
8411<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">return</span> first + (second &lt; 0 ? second : 0);</div>
8412<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; };</div>
8413<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div>
8414<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keyword">auto</span> accu_pos = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &amp;first, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;second)</div>
8415<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
8416<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> first + (second &gt; 0 ? second : 0);</div>
8417<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; };</div>
8418<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div>
8419<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez) &amp;&amp; std::all_of(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez);</div>
8420<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div>
8421<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div>
8422<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; {</div>
8423<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * UINT8_MAX;</div>
8424<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * max_row_value;</div>
8425<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;</div>
8426<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; first_stage = (max_row_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div>
8427<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;</div>
8428<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; second_stage = (max_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div>
8429<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; }</div>
8430<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">else</span></div>
8431<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; {</div>
8432<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> min_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_neg) * UINT8_MAX;</div>
8433<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_pos) * UINT8_MAX;</div>
8434<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> neg_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_neg);</div>
8435<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> pos_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_pos);</div>
8436<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = neg_coeffs_sum * max_row_value + pos_coeffs_sum * min_row_value;</div>
8437<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = neg_coeffs_sum * min_row_value + pos_coeffs_sum * max_row_value;</div>
8438<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div>
8439<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; first_stage = ((INT16_MIN &lt;= min_row_value) &amp;&amp; (max_row_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div>
8440<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;</div>
8441<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; second_stage = ((INT16_MIN &lt;= min_value) &amp;&amp; (max_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div>
8442<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div>
8443<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;</div>
8444<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div>
8445<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +01008446<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
8447<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>
8448<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008449</div><!-- fragment -->
8450</div>
8451</div>
8452<a class="anchor" id="a3992df9e8723140a53e49dc194d89ef5"></a>
8453<div class="memitem">
8454<div class="memproto">
8455<table class="mlabels">
8456 <tr>
8457 <td class="mlabels-left">
8458 <table class="memname">
8459 <tr>
8460 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_for_convolution_matrix </td>
8461 <td>(</td>
8462 <td class="paramtype">const int16_t *&#160;</td>
8463 <td class="paramname"><em>conv</em>, </td>
8464 </tr>
8465 <tr>
8466 <td class="paramkey"></td>
8467 <td></td>
8468 <td class="paramtype">size_t&#160;</td>
8469 <td class="paramname"><em>size</em>&#160;</td>
8470 </tr>
8471 <tr>
8472 <td></td>
8473 <td>)</td>
8474 <td></td><td></td>
8475 </tr>
8476 </table>
8477 </td>
8478 <td class="mlabels-right">
8479<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8480 </tr>
8481</table>
8482</div><div class="memdoc">
8483
8484<p>Calculate the accuracy required by the squared convolution calculation. </p>
8485<dl class="params"><dt>Parameters</dt><dd>
8486 <table class="params">
8487 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>Pointer to the squared convolution matrix </td></tr>
8488 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The total size of the convolution matrix</td></tr>
8489 </table>
8490 </dd>
8491</dl>
8492<dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
8493
Kaizenbf8b01d2017-10-12 14:26:51 +01008494<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00519">519</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008495
Kaizen8938bd32017-09-28 14:38:23 +01008496<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>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +01008497<div class="fragment"><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;{</div>
8498<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</div>
8499<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div>
8500<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</div>
8501<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; };</div>
8502<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;</div>
8503<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez);</div>
8504<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;</div>
8505<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div>
8506<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; {</div>
8507<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * UINT8_MAX;</div>
8508<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">if</span>(max_conv_value &lt;= UINT16_MAX)</div>
8509<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; {</div>
8510<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div>
8511<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; }</div>
8512<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">else</span></div>
8513<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; {</div>
8514<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div>
8515<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; }</div>
8516<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; }</div>
8517<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">else</span></div>
8518<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div>
8519<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div>
8520<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; {</div>
8521<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> b &lt; 0 ? a + b : a;</div>
8522<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; })</div>
8523<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; * UINT8_MAX;</div>
8524<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;</div>
8525<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div>
8526<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; {</div>
8527<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">return</span> b &gt; 0 ? a + b : a;</div>
8528<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; })</div>
8529<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; * UINT8_MAX;</div>
8530<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;</div>
8531<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">if</span>((INT16_MIN &lt;= min_value) &amp;&amp; (INT16_MAX &gt;= max_value))</div>
8532<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div>
8533<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div>
8534<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; }</div>
8535<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">else</span></div>
8536<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; {</div>
8537<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div>
8538<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div>
8539<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; }</div>
8540<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +01008541<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
8542<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00008543</div><!-- fragment -->
8544</div>
8545</div>
8546<a class="anchor" id="a59846ef5ca75cd81cdb7e8a1ce08f9db"></a>
8547<div class="memitem">
8548<div class="memproto">
8549<table class="mlabels">
8550 <tr>
8551 <td class="mlabels-left">
8552 <table class="memname">
8553 <tr>
8554 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_from_format </td>
8555 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008556 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008557 <td class="paramname"><em>format</em></td><td>)</td>
8558 <td></td>
8559 </tr>
8560 </table>
8561 </td>
8562 <td class="mlabels-right">
8563<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8564 </tr>
8565</table>
8566</div><div class="memdoc">
8567
8568<p>Return the data type used by a given single-planar pixel format. </p>
8569<dl class="params"><dt>Parameters</dt><dd>
8570 <table class="params">
8571 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
8572 </table>
8573 </dd>
8574</dl>
8575<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
8576
Kaizenbf8b01d2017-10-12 14:26:51 +01008577<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00192">192</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008578
Kaizen8938bd32017-09-28 14:38:23 +01008579<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008580
Kaizen8938bd32017-09-28 14:38:23 +01008581<p>Referenced by <a class="el" href="_c_l_2_harris_corners_8cpp_source.xhtml#l00057">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00265">SimpleTensor&lt; T &gt;::data_type()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +01008582<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;{</div>
8583<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">switch</span>(format)</div>
8584<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div>
8585<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
8586<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div>
8587<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
8588<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
8589<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
8590<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
8591<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">return</span> DataType::U8;</div>
8592<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
8593<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div>
8594<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
8595<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div>
8596<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
8597<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> DataType::U32;</div>
8598<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
8599<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div>
8600<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
8601<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> DataType::F16;</div>
8602<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
8603<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">return</span> DataType::F32;</div>
8604<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div>
8605<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
8606<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
8607<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
8608<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
8609<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">default</span>:</div>
8610<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported data_type for given format&quot;</span>);</div>
8611<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> DataType::UNKNOWN;</div>
8612<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div>
8613<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +01008614<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008615</div><!-- fragment -->
8616</div>
8617</div>
8618<a class="anchor" id="a5930b66fce0674d707fbf4f2dfcacc8f"></a>
8619<div class="memitem">
8620<div class="memproto">
8621 <table class="memname">
8622 <tr>
8623 <td class="memname">void arm_compute::debug </td>
8624 <td>(</td>
8625 <td class="paramtype">const char *&#160;</td>
8626 <td class="paramname"><em>function</em>, </td>
8627 </tr>
8628 <tr>
8629 <td class="paramkey"></td>
8630 <td></td>
8631 <td class="paramtype">const char *&#160;</td>
8632 <td class="paramname"><em>file</em>, </td>
8633 </tr>
8634 <tr>
8635 <td class="paramkey"></td>
8636 <td></td>
8637 <td class="paramtype">const int&#160;</td>
8638 <td class="paramname"><em>line</em>, </td>
8639 </tr>
8640 <tr>
8641 <td class="paramkey"></td>
8642 <td></td>
8643 <td class="paramtype">const char *&#160;</td>
8644 <td class="paramname"><em>msg</em>, </td>
8645 </tr>
8646 <tr>
8647 <td class="paramkey"></td>
8648 <td></td>
8649 <td class="paramtype">&#160;</td>
8650 <td class="paramname"><em>...</em>&#160;</td>
8651 </tr>
8652 <tr>
8653 <td></td>
8654 <td>)</td>
8655 <td></td><td></td>
8656 </tr>
8657 </table>
8658</div><div class="memdoc">
8659
8660<p>Print a debug message. </p>
8661<dl class="params"><dt>Parameters</dt><dd>
8662 <table class="params">
8663 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
8664 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
8665 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
8666 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
8667 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
8668 </table>
8669 </dd>
8670</dl>
8671
8672</div>
8673</div>
Kaizen8938bd32017-09-28 14:38:23 +01008674<a class="anchor" id="ad656a27ce8a507e31096ca45683ba9a5"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008675<div class="memitem">
8676<div class="memproto">
8677<table class="mlabels">
8678 <tr>
8679 <td class="mlabels-left">
8680 <table class="memname">
8681 <tr>
Kaizen8938bd32017-09-28 14:38:23 +01008682 <td class="memname">T arm_compute::delta_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008683 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008684 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008685 <td class="paramname"><em>pixel_ptr</em>, </td>
8686 </tr>
8687 <tr>
8688 <td class="paramkey"></td>
8689 <td></td>
8690 <td class="paramtype">size_t&#160;</td>
8691 <td class="paramname"><em>stride</em>, </td>
8692 </tr>
8693 <tr>
8694 <td class="paramkey"></td>
8695 <td></td>
8696 <td class="paramtype">float&#160;</td>
8697 <td class="paramname"><em>dx</em>, </td>
8698 </tr>
8699 <tr>
8700 <td class="paramkey"></td>
8701 <td></td>
8702 <td class="paramtype">float&#160;</td>
8703 <td class="paramname"><em>dy</em>&#160;</td>
8704 </tr>
8705 <tr>
8706 <td></td>
8707 <td>)</td>
8708 <td></td><td></td>
8709 </tr>
8710 </table>
8711 </td>
8712 <td class="mlabels-right">
8713<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8714 </tr>
8715</table>
8716</div><div class="memdoc">
8717
8718<p>Computes bilinear interpolation using the pointer to the top-left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. </p>
Kaizen8938bd32017-09-28 14:38:23 +01008719<p>Input must be in single channel format.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008720<dl class="params"><dt>Parameters</dt><dd>
8721 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +01008722 <tr><td class="paramdir">[in]</td><td class="paramname">pixel_ptr</td><td>Pointer to the top-left pixel value of a single channel input. </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008723 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride to access the bottom-left and bottom-right pixel values </td></tr>
8724 <tr><td class="paramdir">[in]</td><td class="paramname">dx</td><td>Pixel's distance between the X real coordinate and the smallest X following integer </td></tr>
8725 <tr><td class="paramdir">[in]</td><td class="paramname">dy</td><td>Pixel's distance between the Y real coordinate and the smallest Y following integer</td></tr>
8726 </table>
8727 </dd>
8728</dl>
8729<dl class="section note"><dt>Note</dt><dd>dx and dy must be in the range [0, 1.0]</dd></dl>
8730<dl class="section return"><dt>Returns</dt><dd>The bilinear interpolated pixel value </dd></dl>
8731
Kaizen8938bd32017-09-28 14:38:23 +01008732<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">99</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008733
8734<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>.</p>
8735
Kaizen8938bd32017-09-28 14:38:23 +01008736<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00131">pixel_bilinear_c1()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00158">pixel_bilinear_c1_clamp()</a>.</p>
8737<div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;{</div>
8738<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div>
8739<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
8740<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div>
8741<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</div>
8742<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
8743<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">const</span> T a00 = *pixel_ptr;</div>
8744<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div>
8745<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div>
8746<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">const</span> T a11 = *(pixel_ptr + stride + 1);</div>
8747<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
8748<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1 * dy1;</div>
8749<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx * dy1;</div>
8750<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dx1 * dy;</div>
8751<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = dx * dy;</div>
8752<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
8753<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a01 * w2 + a10 * w3 + a11 * w4);</div>
8754<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;}</div>
8755<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008756</div><!-- fragment -->
8757</div>
8758</div>
8759<a class="anchor" id="a12705a88669cb9fb90451ebe0db53c41"></a>
8760<div class="memitem">
8761<div class="memproto">
8762 <table class="memname">
8763 <tr>
8764 <td class="memname">constexpr auto arm_compute::DIV_CEIL </td>
8765 <td>(</td>
8766 <td class="paramtype">S&#160;</td>
8767 <td class="paramname"><em>val</em>, </td>
8768 </tr>
8769 <tr>
8770 <td class="paramkey"></td>
8771 <td></td>
8772 <td class="paramtype">T&#160;</td>
8773 <td class="paramname"><em>m</em>&#160;</td>
8774 </tr>
8775 <tr>
8776 <td></td>
8777 <td>)</td>
8778 <td></td><td> -&gt; decltype((val + m - 1) / m)
8779</td>
8780 </tr>
8781 </table>
8782</div><div class="memdoc">
8783
8784<p>Calculate the rounded up quotient of val / m. </p>
8785
Kaizenbf8b01d2017-10-12 14:26:51 +01008786<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00060">60</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
8787<div class="fragment"><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;{</div>
8788<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> (val + m - 1) / m;</div>
8789<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +01008790</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00008791</div>
8792</div>
8793<a class="anchor" id="a34b06c0cd94808a77b697e79880b84b0"></a>
8794<div class="memitem">
8795<div class="memproto">
8796<table class="mlabels">
8797 <tr>
8798 <td class="mlabels-left">
8799 <table class="memname">
8800 <tr>
8801 <td class="memname">size_t arm_compute::element_size_from_data_type </td>
8802 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01008803 <td class="paramtype">DataType&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008804 <td class="paramname"><em>dt</em></td><td>)</td>
8805 <td></td>
8806 </tr>
8807 </table>
8808 </td>
8809 <td class="mlabels-right">
8810<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8811 </tr>
8812</table>
8813</div><div class="memdoc">
8814
8815<p>The size in bytes of the data type. </p>
8816<dl class="params"><dt>Parameters</dt><dd>
8817 <table class="params">
8818 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type</td></tr>
8819 </table>
8820 </dd>
8821</dl>
8822<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
8823
Kaizenbf8b01d2017-10-12 14:26:51 +01008824<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00162">162</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008825
Kaizen8938bd32017-09-28 14:38:23 +01008826<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008827
Kaizen8938bd32017-09-28 14:38:23 +01008828<p>Referenced by <a class="el" href="_simple_tensor_8h_source.xhtml#l00240">SimpleTensor&lt; T &gt;::element_size()</a>, <a class="el" href="_validate_8h_source.xhtml#l00565">error_on_value_not_representable_in_fixed_point()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00173">arm_compute::test::validation::validate()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +01008829<div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;{</div>
8830<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">switch</span>(dt)</div>
8831<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div>
8832<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div>
8833<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div>
8834<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div>
8835<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> 1;</div>
8836<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div>
8837<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div>
8838<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div>
8839<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div>
8840<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> 2;</div>
8841<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div>
8842<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div>
8843<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div>
8844<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div>
8845<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> 4;</div>
8846<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">default</span>:</div>
8847<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined element size for given data type&quot;</span>);</div>
8848<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> 0;</div>
8849<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
8850<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +01008851<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008852</div><!-- fragment -->
8853</div>
8854</div>
Kaizen8938bd32017-09-28 14:38:23 +01008855<a class="anchor" id="a0f68015f649819f1102aa73d7b88b29e"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00008856<div class="memitem">
8857<div class="memproto">
8858 <table class="memname">
8859 <tr>
8860 <td class="memname">void arm_compute::enqueue </td>
8861 <td>(</td>
8862 <td class="paramtype">cl::CommandQueue &amp;&#160;</td>
8863 <td class="paramname"><em>queue</em>, </td>
8864 </tr>
8865 <tr>
8866 <td class="paramkey"></td>
8867 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01008868 <td class="paramtype">ICLKernel &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008869 <td class="paramname"><em>kernel</em>, </td>
8870 </tr>
8871 <tr>
8872 <td class="paramkey"></td>
8873 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01008874 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008875 <td class="paramname"><em>window</em>, </td>
8876 </tr>
8877 <tr>
8878 <td class="paramkey"></td>
8879 <td></td>
8880 <td class="paramtype">const cl::NDRange &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +01008881 <td class="paramname"><em>lws_hint</em> = <code>CLKernelLibrary::get().default_ndrange()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008882 </tr>
8883 <tr>
8884 <td></td>
8885 <td>)</td>
8886 <td></td><td></td>
8887 </tr>
8888 </table>
8889</div><div class="memdoc">
8890
8891<p>Add the kernel to the command queue with the given window. </p>
8892<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
8893<dd>
8894If kernel-&gt;kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
8895<dl class="params"><dt>Parameters</dt><dd>
8896 <table class="params">
8897 <tr><td class="paramdir">[in,out]</td><td class="paramname">queue</td><td>OpenCL command queue. </td></tr>
8898 <tr><td class="paramdir">[in]</td><td class="paramname">kernel</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to enqueue </td></tr>
8899 <tr><td class="paramdir">[in]</td><td class="paramname">window</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> the kernel has to process. </td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01008900 <tr><td class="paramdir">[in]</td><td class="paramname">lws_hint</td><td>Local workgroup size requested, by default (128,1).</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00008901 </table>
8902 </dd>
8903</dl>
8904<dl class="section note"><dt>Note</dt><dd>If any dimension of the lws is greater than the global workgroup size then no lws will be passed. </dd></dl>
8905
Anthony Barbier871448e2017-03-24 14:54:29 +00008906</div>
8907</div>
8908<a class="anchor" id="a568b0fbfa3d903099d9c9f7b6acf188d"></a>
8909<div class="memitem">
8910<div class="memproto">
8911 <table class="memname">
8912 <tr>
8913 <td class="memname">void arm_compute::error </td>
8914 <td>(</td>
8915 <td class="paramtype">const char *&#160;</td>
8916 <td class="paramname"><em>function</em>, </td>
8917 </tr>
8918 <tr>
8919 <td class="paramkey"></td>
8920 <td></td>
8921 <td class="paramtype">const char *&#160;</td>
8922 <td class="paramname"><em>file</em>, </td>
8923 </tr>
8924 <tr>
8925 <td class="paramkey"></td>
8926 <td></td>
8927 <td class="paramtype">const int&#160;</td>
8928 <td class="paramname"><em>line</em>, </td>
8929 </tr>
8930 <tr>
8931 <td class="paramkey"></td>
8932 <td></td>
8933 <td class="paramtype">const char *&#160;</td>
8934 <td class="paramname"><em>msg</em>, </td>
8935 </tr>
8936 <tr>
8937 <td class="paramkey"></td>
8938 <td></td>
8939 <td class="paramtype">&#160;</td>
8940 <td class="paramname"><em>...</em>&#160;</td>
8941 </tr>
8942 <tr>
8943 <td></td>
8944 <td>)</td>
8945 <td></td><td></td>
8946 </tr>
8947 </table>
8948</div><div class="memdoc">
8949
8950<p>Print an error message then throw an std::runtime_error. </p>
8951<dl class="params"><dt>Parameters</dt><dd>
8952 <table class="params">
8953 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
8954 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
8955 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
8956 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
8957 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
8958 </table>
8959 </dd>
8960</dl>
8961
Kaizenbf8b01d2017-10-12 14:26:51 +01008962<p>Referenced by <a class="el" href="main_8cpp_source.xhtml#l00059">main()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01008963
Anthony Barbier871448e2017-03-24 14:54:29 +00008964</div>
8965</div>
8966<a class="anchor" id="a593d972357b3bcfeecb87207dc925417"></a>
8967<div class="memitem">
8968<div class="memproto">
8969 <table class="memname">
8970 <tr>
8971 <td class="memname">void arm_compute::error_on_channel_not_in </td>
8972 <td>(</td>
8973 <td class="paramtype">const char *&#160;</td>
8974 <td class="paramname"><em>function</em>, </td>
8975 </tr>
8976 <tr>
8977 <td class="paramkey"></td>
8978 <td></td>
8979 <td class="paramtype">const char *&#160;</td>
8980 <td class="paramname"><em>file</em>, </td>
8981 </tr>
8982 <tr>
8983 <td class="paramkey"></td>
8984 <td></td>
8985 <td class="paramtype">const int&#160;</td>
8986 <td class="paramname"><em>line</em>, </td>
8987 </tr>
8988 <tr>
8989 <td class="paramkey"></td>
8990 <td></td>
8991 <td class="paramtype">T&#160;</td>
8992 <td class="paramname"><em>cn</em>, </td>
8993 </tr>
8994 <tr>
8995 <td class="paramkey"></td>
8996 <td></td>
8997 <td class="paramtype">T &amp;&amp;&#160;</td>
8998 <td class="paramname"><em>channel</em>, </td>
8999 </tr>
9000 <tr>
9001 <td class="paramkey"></td>
9002 <td></td>
9003 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9004 <td class="paramname"><em>channels</em>&#160;</td>
9005 </tr>
9006 <tr>
9007 <td></td>
9008 <td>)</td>
9009 <td></td><td></td>
9010 </tr>
9011 </table>
9012</div><div class="memdoc">
9013
9014<p>Throw an error if the channel is not in channels. </p>
9015<dl class="params"><dt>Parameters</dt><dd>
9016 <table class="params">
9017 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9018 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9019 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9020 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>Input channel </td></tr>
9021 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>First channel allowed. </td></tr>
9022 <tr><td class="paramdir">[in]</td><td class="paramname">channels</td><td>(Optional) Further allowed channels. </td></tr>
9023 </table>
9024 </dd>
9025</dl>
9026
Kaizen8938bd32017-09-28 14:38:23 +01009027<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00452">452</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009028
Kaizen8938bd32017-09-28 14:38:23 +01009029<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
9030<div class="fragment"><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;{</div>
9031<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(cn == Channel::UNKNOWN, <span class="keyword">function</span>, file, line);</div>
9032<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div>
9033<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keyword">const</span> std::array&lt;T, <span class="keyword">sizeof</span>...(Ts)&gt; channels_array{ { std::forward&lt;Ts&gt;(channels)... } };</div>
9034<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(channels_array);</div>
9035<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(channel != cn &amp;&amp; std::none_of(channels_array.begin(), channels_array.end(), [&amp;](<span class="keyword">const</span> T &amp; f)</div>
9036<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
9037<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> f == cn;</div>
9038<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }),</div>
9039<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keyword">function</span>, file, line);</div>
9040<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;}</div>
9041<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009042<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#l00134">Error.h:134</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009043</div><!-- fragment -->
9044</div>
9045</div>
9046<a class="anchor" id="ad0d001a84424d440f9a11fc1b80ed2ff"></a>
9047<div class="memitem">
9048<div class="memproto">
9049 <table class="memname">
9050 <tr>
9051 <td class="memname">void arm_compute::error_on_channel_not_in_known_format </td>
9052 <td>(</td>
9053 <td class="paramtype">const char *&#160;</td>
9054 <td class="paramname"><em>function</em>, </td>
9055 </tr>
9056 <tr>
9057 <td class="paramkey"></td>
9058 <td></td>
9059 <td class="paramtype">const char *&#160;</td>
9060 <td class="paramname"><em>file</em>, </td>
9061 </tr>
9062 <tr>
9063 <td class="paramkey"></td>
9064 <td></td>
9065 <td class="paramtype">const int&#160;</td>
9066 <td class="paramname"><em>line</em>, </td>
9067 </tr>
9068 <tr>
9069 <td class="paramkey"></td>
9070 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009071 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009072 <td class="paramname"><em>fmt</em>, </td>
9073 </tr>
9074 <tr>
9075 <td class="paramkey"></td>
9076 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009077 <td class="paramtype">Channel&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009078 <td class="paramname"><em>cn</em>&#160;</td>
9079 </tr>
9080 <tr>
9081 <td></td>
9082 <td>)</td>
9083 <td></td><td></td>
9084 </tr>
9085 </table>
9086</div><div class="memdoc">
9087
9088<p>Throw an error if the channel is not in format. </p>
9089<dl class="params"><dt>Parameters</dt><dd>
9090 <table class="params">
9091 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9092 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9093 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9094 <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Input channel </td></tr>
9095 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>First channel allowed. </td></tr>
9096 </table>
9097 </dd>
9098</dl>
9099
9100</div>
9101</div>
9102<a class="anchor" id="a130822528598f21a48f7ee0e6d8438a0"></a>
9103<div class="memitem">
9104<div class="memproto">
9105 <table class="memname">
9106 <tr>
9107 <td class="memname">void arm_compute::error_on_coordinates_dimensions_gte </td>
9108 <td>(</td>
9109 <td class="paramtype">const char *&#160;</td>
9110 <td class="paramname"><em>function</em>, </td>
9111 </tr>
9112 <tr>
9113 <td class="paramkey"></td>
9114 <td></td>
9115 <td class="paramtype">const char *&#160;</td>
9116 <td class="paramname"><em>file</em>, </td>
9117 </tr>
9118 <tr>
9119 <td class="paramkey"></td>
9120 <td></td>
9121 <td class="paramtype">const int&#160;</td>
9122 <td class="paramname"><em>line</em>, </td>
9123 </tr>
9124 <tr>
9125 <td class="paramkey"></td>
9126 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009127 <td class="paramtype">const Coordinates &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009128 <td class="paramname"><em>pos</em>, </td>
9129 </tr>
9130 <tr>
9131 <td class="paramkey"></td>
9132 <td></td>
9133 <td class="paramtype">unsigned int&#160;</td>
9134 <td class="paramname"><em>max_dim</em>&#160;</td>
9135 </tr>
9136 <tr>
9137 <td></td>
9138 <td>)</td>
9139 <td></td><td></td>
9140 </tr>
9141 </table>
9142</div><div class="memdoc">
9143
9144<p>Throw an error if the passed coordinates have too many dimensions. </p>
9145<p>The coordinates have too many dimensions if any of the dimensions greater or equal to max_dim is different from 0.</p>
9146<dl class="params"><dt>Parameters</dt><dd>
9147 <table class="params">
9148 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9149 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9150 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9151 <tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> to validate </td></tr>
9152 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
9153 </table>
9154 </dd>
9155</dl>
9156
9157</div>
9158</div>
9159<a class="anchor" id="a690ce072b4480f4a5bad433f23c9fe05"></a>
9160<div class="memitem">
9161<div class="memproto">
9162 <table class="memname">
9163 <tr>
9164 <td class="memname">void arm_compute::error_on_data_type_channel_not_in </td>
9165 <td>(</td>
9166 <td class="paramtype">const char *&#160;</td>
9167 <td class="paramname"><em>function</em>, </td>
9168 </tr>
9169 <tr>
9170 <td class="paramkey"></td>
9171 <td></td>
9172 <td class="paramtype">const char *&#160;</td>
9173 <td class="paramname"><em>file</em>, </td>
9174 </tr>
9175 <tr>
9176 <td class="paramkey"></td>
9177 <td></td>
9178 <td class="paramtype">const int&#160;</td>
9179 <td class="paramname"><em>line</em>, </td>
9180 </tr>
9181 <tr>
9182 <td class="paramkey"></td>
9183 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009184 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009185 <td class="paramname"><em>tensor</em>, </td>
9186 </tr>
9187 <tr>
9188 <td class="paramkey"></td>
9189 <td></td>
9190 <td class="paramtype">size_t&#160;</td>
9191 <td class="paramname"><em>num_channels</em>, </td>
9192 </tr>
9193 <tr>
9194 <td class="paramkey"></td>
9195 <td></td>
9196 <td class="paramtype">T &amp;&amp;&#160;</td>
9197 <td class="paramname"><em>dt</em>, </td>
9198 </tr>
9199 <tr>
9200 <td class="paramkey"></td>
9201 <td></td>
9202 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9203 <td class="paramname"><em>dts</em>&#160;</td>
9204 </tr>
9205 <tr>
9206 <td></td>
9207 <td>)</td>
9208 <td></td><td></td>
9209 </tr>
9210 </table>
9211</div><div class="memdoc">
9212
9213<p>Throw an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. </p>
9214<dl class="params"><dt>Parameters</dt><dd>
9215 <table class="params">
9216 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9217 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9218 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9219 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to validate. </td></tr>
9220 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
9221 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
9222 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
9223 </table>
9224 </dd>
9225</dl>
9226
Kaizen8938bd32017-09-28 14:38:23 +01009227<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00419">419</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009228
Kaizen8938bd32017-09-28 14:38:23 +01009229<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_validate_8h_source.xhtml#l00387">error_on_data_type_not_in()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ad7829ae79223ab87f9da4c0bd7d229ba">ITensorInfo::num_channels()</a>.</p>
9230<div class="fragment"><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;{</div>
9231<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...);</div>
9232<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;</div>
9233<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor-&gt;info()-&gt;num_channels();</div>
9234<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_nc);</div>
9235<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;</div>
9236<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_nc != num_channels, <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Number of channels %d. Required number of channels %d&quot;</span>, tensor_nc, num_channels);</div>
9237<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;}</div>
9238<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009239<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>
Kaizen8938bd32017-09-28 14:38:23 +01009240<div class="ttc" id="namespacearm__compute_xhtml_a0c52339d3cb372d145deeafb5a313807"><div class="ttname"><a href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">void error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensor *tensor, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Throw an error if the data type of the passed tensor does not match any of the data types provided...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00387">Validate.h:387</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009241</div><!-- fragment -->
9242</div>
9243</div>
9244<a class="anchor" id="a0c52339d3cb372d145deeafb5a313807"></a>
9245<div class="memitem">
9246<div class="memproto">
9247 <table class="memname">
9248 <tr>
9249 <td class="memname">void arm_compute::error_on_data_type_not_in </td>
9250 <td>(</td>
9251 <td class="paramtype">const char *&#160;</td>
9252 <td class="paramname"><em>function</em>, </td>
9253 </tr>
9254 <tr>
9255 <td class="paramkey"></td>
9256 <td></td>
9257 <td class="paramtype">const char *&#160;</td>
9258 <td class="paramname"><em>file</em>, </td>
9259 </tr>
9260 <tr>
9261 <td class="paramkey"></td>
9262 <td></td>
9263 <td class="paramtype">const int&#160;</td>
9264 <td class="paramname"><em>line</em>, </td>
9265 </tr>
9266 <tr>
9267 <td class="paramkey"></td>
9268 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009269 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009270 <td class="paramname"><em>tensor</em>, </td>
9271 </tr>
9272 <tr>
9273 <td class="paramkey"></td>
9274 <td></td>
9275 <td class="paramtype">T &amp;&amp;&#160;</td>
9276 <td class="paramname"><em>dt</em>, </td>
9277 </tr>
9278 <tr>
9279 <td class="paramkey"></td>
9280 <td></td>
9281 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9282 <td class="paramname"><em>dts</em>&#160;</td>
9283 </tr>
9284 <tr>
9285 <td></td>
9286 <td>)</td>
9287 <td></td><td></td>
9288 </tr>
9289 </table>
9290</div><div class="memdoc">
9291
9292<p>Throw an error if the data type of the passed tensor does not match any of the data types provided. </p>
9293<dl class="params"><dt>Parameters</dt><dd>
9294 <table class="params">
9295 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9296 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9297 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9298 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to validate. </td></tr>
9299 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
9300 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
9301 </table>
9302 </dd>
9303</dl>
9304
Kaizen8938bd32017-09-28 14:38:23 +01009305<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00387">387</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009306
Kaizen8938bd32017-09-28 14:38:23 +01009307<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009308
Kaizen8938bd32017-09-28 14:38:23 +01009309<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00419">error_on_data_type_channel_not_in()</a>.</p>
9310<div class="fragment"><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;{</div>
9311<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
9312<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div>
9313<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;tensor_dt = tensor-&gt;info()-&gt;data_type(); <span class="comment">//NOLINT</span></div>
9314<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_dt);</div>
9315<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;</div>
9316<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor_dt == DataType::UNKNOWN, <span class="keyword">function</span>, file, line);</div>
9317<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div>
9318<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keyword">const</span> std::array&lt;T, <span class="keyword">sizeof</span>...(Ts)&gt; dts_array{ { std::forward&lt;Ts&gt;(dts)... } };</div>
9319<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(dts_array);</div>
9320<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div>
9321<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_dt != dt &amp;&amp; std::none_of(dts_array.begin(), dts_array.end(), [&amp;](<span class="keyword">const</span> T &amp; d)</div>
9322<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; {</div>
9323<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> d == tensor_dt;</div>
9324<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }),</div>
9325<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;ITensor data type %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(tensor_dt).c_str());</div>
9326<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;}</div>
9327<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009328<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>
9329<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string &amp; string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009330<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#l00134">Error.h:134</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01009331<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009332</div><!-- fragment -->
9333</div>
9334</div>
9335<a class="anchor" id="a0b360558b516e256f0af005a164c674e"></a>
9336<div class="memitem">
9337<div class="memproto">
9338 <table class="memname">
9339 <tr>
9340 <td class="memname">void arm_compute::error_on_format_not_in </td>
9341 <td>(</td>
9342 <td class="paramtype">const char *&#160;</td>
9343 <td class="paramname"><em>function</em>, </td>
9344 </tr>
9345 <tr>
9346 <td class="paramkey"></td>
9347 <td></td>
9348 <td class="paramtype">const char *&#160;</td>
9349 <td class="paramname"><em>file</em>, </td>
9350 </tr>
9351 <tr>
9352 <td class="paramkey"></td>
9353 <td></td>
9354 <td class="paramtype">const int&#160;</td>
9355 <td class="paramname"><em>line</em>, </td>
9356 </tr>
9357 <tr>
9358 <td class="paramkey"></td>
9359 <td></td>
9360 <td class="paramtype">const T *&#160;</td>
9361 <td class="paramname"><em>object</em>, </td>
9362 </tr>
9363 <tr>
9364 <td class="paramkey"></td>
9365 <td></td>
9366 <td class="paramtype">F &amp;&amp;&#160;</td>
9367 <td class="paramname"><em>format</em>, </td>
9368 </tr>
9369 <tr>
9370 <td class="paramkey"></td>
9371 <td></td>
9372 <td class="paramtype">Fs &amp;&amp;...&#160;</td>
9373 <td class="paramname"><em>formats</em>&#160;</td>
9374 </tr>
9375 <tr>
9376 <td></td>
9377 <td>)</td>
9378 <td></td><td></td>
9379 </tr>
9380 </table>
9381</div><div class="memdoc">
9382
9383<p>Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. </p>
9384<dl class="params"><dt>Parameters</dt><dd>
9385 <table class="params">
9386 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9387 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9388 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9389 <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>Tensor/multi-image to validate. </td></tr>
9390 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>First format allowed. </td></tr>
9391 <tr><td class="paramdir">[in]</td><td class="paramname">formats</td><td>(Optional) Further allowed formats. </td></tr>
9392 </table>
9393 </dd>
9394</dl>
9395
Kaizen8938bd32017-09-28 14:38:23 +01009396<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00356">356</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009397
Kaizen8938bd32017-09-28 14:38:23 +01009398<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">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#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
9399<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;{</div>
9400<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(<span class="keywordtype">object</span> == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
9401<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
9402<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&amp;object_format = <span class="keywordtype">object</span>-&gt;info()-&gt;format();</div>
9403<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(object_format);</div>
9404<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div>
9405<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(object_format == Format::UNKNOWN, <span class="keyword">function</span>, file, line);</div>
9406<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div>
9407<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keyword">const</span> std::array&lt;F, <span class="keyword">sizeof</span>...(Fs)&gt; formats_array{ { std::forward&lt;Fs&gt;(formats)... } };</div>
9408<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(formats_array);</div>
9409<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;</div>
9410<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(object_format != format &amp;&amp; std::none_of(formats_array.begin(), formats_array.end(), [&amp;](<span class="keyword">const</span> F &amp; f)</div>
9411<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div>
9412<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">return</span> f == object_format;</div>
9413<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; }),</div>
9414<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Format %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a>(object_format).c_str());</div>
9415<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;}</div>
9416<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009417<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>
Kaizen8938bd32017-09-28 14:38:23 +01009418<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a></div><div class="ttdeci">Format</div><div class="ttdoc">Image colour formats. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00042">Types.h:42</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009419<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#l00134">Error.h:134</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009420<div class="ttc" id="namespacearm__compute_xhtml_a9c92c867fc64454545668d87b20979eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">arm_compute::string_from_format</a></div><div class="ttdeci">const std::string &amp; string_from_format(Format format)</div><div class="ttdoc">Convert a tensor format into a string. </div></div>
9421</div><!-- fragment -->
9422</div>
9423</div>
9424<a class="anchor" id="a307666ca482a84d5a64251d78889a818"></a>
9425<div class="memitem">
9426<div class="memproto">
9427 <table class="memname">
9428 <tr>
9429 <td class="memname">void arm_compute::error_on_invalid_multi_hog </td>
9430 <td>(</td>
9431 <td class="paramtype">const char *&#160;</td>
9432 <td class="paramname"><em>function</em>, </td>
9433 </tr>
9434 <tr>
9435 <td class="paramkey"></td>
9436 <td></td>
9437 <td class="paramtype">const char *&#160;</td>
9438 <td class="paramname"><em>file</em>, </td>
9439 </tr>
9440 <tr>
9441 <td class="paramkey"></td>
9442 <td></td>
9443 <td class="paramtype">const int&#160;</td>
9444 <td class="paramname"><em>line</em>, </td>
9445 </tr>
9446 <tr>
9447 <td class="paramkey"></td>
9448 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009449 <td class="paramtype">const IMultiHOG *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009450 <td class="paramname"><em>multi_hog</em>&#160;</td>
9451 </tr>
9452 <tr>
9453 <td></td>
9454 <td>)</td>
9455 <td></td><td></td>
9456 </tr>
9457 </table>
9458</div><div class="memdoc">
9459
9460<p>Throw an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. </p>
9461<p>An <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid if:</p>
9462<ol type="1">
9463<li>it is a nullptr</li>
9464<li>it doesn't contain models</li>
9465<li><p class="startli">it doesn't have the <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data objects with the same phase_type, normalization_type and l2_hyst_threshold (if normalization_type == L2HYS_NORM)</p>
9466<dl class="params"><dt>Parameters</dt><dd>
9467 <table class="params">
9468 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9469 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9470 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9471 <tr><td class="paramdir">[in]</td><td class="paramname">multi_hog</td><td><a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml" title="Interface for storing multiple HOG data-objects. ">IMultiHOG</a> container to validate </td></tr>
9472 </table>
9473 </dd>
9474</dl>
9475</li>
9476</ol>
9477
9478</div>
9479</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009480<a class="anchor" id="a36ffb104aed50deb360db6f3afa4c394"></a>
9481<div class="memitem">
9482<div class="memproto">
9483 <table class="memname">
9484 <tr>
9485 <td class="memname">void arm_compute::error_on_invalid_subtensor </td>
9486 <td>(</td>
9487 <td class="paramtype">const char *&#160;</td>
9488 <td class="paramname"><em>function</em>, </td>
9489 </tr>
9490 <tr>
9491 <td class="paramkey"></td>
9492 <td></td>
9493 <td class="paramtype">const char *&#160;</td>
9494 <td class="paramname"><em>file</em>, </td>
9495 </tr>
9496 <tr>
9497 <td class="paramkey"></td>
9498 <td></td>
9499 <td class="paramtype">const int&#160;</td>
9500 <td class="paramname"><em>line</em>, </td>
9501 </tr>
9502 <tr>
9503 <td class="paramkey"></td>
9504 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009505 <td class="paramtype">const TensorShape &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009506 <td class="paramname"><em>parent_shape</em>, </td>
9507 </tr>
9508 <tr>
9509 <td class="paramkey"></td>
9510 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009511 <td class="paramtype">const Coordinates &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009512 <td class="paramname"><em>coords</em>, </td>
9513 </tr>
9514 <tr>
9515 <td class="paramkey"></td>
9516 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009517 <td class="paramtype">const TensorShape &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009518 <td class="paramname"><em>shape</em>&#160;</td>
9519 </tr>
9520 <tr>
9521 <td></td>
9522 <td>)</td>
9523 <td></td><td></td>
9524 </tr>
9525 </table>
9526</div><div class="memdoc">
9527
9528<p>Throw an error if if the coordinates and shape of the subtensor are within the parent tensor. </p>
9529<dl class="params"><dt>Parameters</dt><dd>
9530 <table class="params">
9531 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9532 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9533 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9534 <tr><td class="paramdir">[in]</td><td class="paramname">parent_shape</td><td>Parent tensor shape </td></tr>
9535 <tr><td class="paramdir">[in]</td><td class="paramname">coords</td><td><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> inside the parent tensor where the first element of the subtensor is </td></tr>
9536 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the subtensor </td></tr>
9537 </table>
9538 </dd>
9539</dl>
9540
9541</div>
9542</div>
9543<a class="anchor" id="a858e835f22c359080a09709c6dd950b1"></a>
9544<div class="memitem">
9545<div class="memproto">
9546 <table class="memname">
9547 <tr>
9548 <td class="memname">void arm_compute::error_on_invalid_subtensor_valid_region </td>
9549 <td>(</td>
9550 <td class="paramtype">const char *&#160;</td>
9551 <td class="paramname"><em>function</em>, </td>
9552 </tr>
9553 <tr>
9554 <td class="paramkey"></td>
9555 <td></td>
9556 <td class="paramtype">const char *&#160;</td>
9557 <td class="paramname"><em>file</em>, </td>
9558 </tr>
9559 <tr>
9560 <td class="paramkey"></td>
9561 <td></td>
9562 <td class="paramtype">const int&#160;</td>
9563 <td class="paramname"><em>line</em>, </td>
9564 </tr>
9565 <tr>
9566 <td class="paramkey"></td>
9567 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009568 <td class="paramtype">const ValidRegion &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009569 <td class="paramname"><em>parent_valid_region</em>, </td>
9570 </tr>
9571 <tr>
9572 <td class="paramkey"></td>
9573 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009574 <td class="paramtype">const ValidRegion &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009575 <td class="paramname"><em>valid_region</em>&#160;</td>
9576 </tr>
9577 <tr>
9578 <td></td>
9579 <td>)</td>
9580 <td></td><td></td>
9581 </tr>
9582 </table>
9583</div><div class="memdoc">
9584
9585<p>Throw an error if the valid region of a subtensor is not inside the valid region of the parent tensor. </p>
9586<dl class="params"><dt>Parameters</dt><dd>
9587 <table class="params">
9588 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9589 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9590 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9591 <tr><td class="paramdir">[in]</td><td class="paramname">parent_valid_region</td><td>Parent valid region. </td></tr>
9592 <tr><td class="paramdir">[in]</td><td class="paramname">valid_region</td><td>Valid region of subtensor. </td></tr>
9593 </table>
9594 </dd>
9595</dl>
9596
9597</div>
9598</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009599<a class="anchor" id="a0916477887763c20822b43be144963eb"></a>
9600<div class="memitem">
9601<div class="memproto">
9602 <table class="memname">
9603 <tr>
9604 <td class="memname">void arm_compute::error_on_invalid_subwindow </td>
9605 <td>(</td>
9606 <td class="paramtype">const char *&#160;</td>
9607 <td class="paramname"><em>function</em>, </td>
9608 </tr>
9609 <tr>
9610 <td class="paramkey"></td>
9611 <td></td>
9612 <td class="paramtype">const char *&#160;</td>
9613 <td class="paramname"><em>file</em>, </td>
9614 </tr>
9615 <tr>
9616 <td class="paramkey"></td>
9617 <td></td>
9618 <td class="paramtype">const int&#160;</td>
9619 <td class="paramname"><em>line</em>, </td>
9620 </tr>
9621 <tr>
9622 <td class="paramkey"></td>
9623 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009624 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009625 <td class="paramname"><em>full</em>, </td>
9626 </tr>
9627 <tr>
9628 <td class="paramkey"></td>
9629 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009630 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009631 <td class="paramname"><em>sub</em>&#160;</td>
9632 </tr>
9633 <tr>
9634 <td></td>
9635 <td>)</td>
9636 <td></td><td></td>
9637 </tr>
9638 </table>
9639</div><div class="memdoc">
9640
9641<p>Throw an error if the passed subwindow is invalid. </p>
Kaizen8938bd32017-09-28 14:38:23 +01009642<p>The subwindow is invalid if:</p>
9643<ul>
Anthony Barbier871448e2017-03-24 14:54:29 +00009644<li>It is not a valid window.</li>
9645<li>It is not fully contained inside the full window</li>
9646<li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
9647<dl class="params"><dt>Parameters</dt><dd>
9648 <table class="params">
9649 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9650 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9651 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9652 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
9653 <tr><td class="paramdir">[in]</td><td class="paramname">sub</td><td>Sub-window to validate. </td></tr>
9654 </table>
9655 </dd>
9656</dl>
9657</li>
9658</ul>
9659
9660</div>
9661</div>
Kaizen8938bd32017-09-28 14:38:23 +01009662<a class="anchor" id="a464883e1c23b02d47d8db21956a8f117"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00009663<div class="memitem">
9664<div class="memproto">
9665 <table class="memname">
9666 <tr>
9667 <td class="memname">void arm_compute::error_on_mismatching_data_types </td>
9668 <td>(</td>
9669 <td class="paramtype">const char *&#160;</td>
9670 <td class="paramname"><em>function</em>, </td>
9671 </tr>
9672 <tr>
9673 <td class="paramkey"></td>
9674 <td></td>
9675 <td class="paramtype">const char *&#160;</td>
9676 <td class="paramname"><em>file</em>, </td>
9677 </tr>
9678 <tr>
9679 <td class="paramkey"></td>
9680 <td></td>
9681 <td class="paramtype">const int&#160;</td>
9682 <td class="paramname"><em>line</em>, </td>
9683 </tr>
9684 <tr>
9685 <td class="paramkey"></td>
9686 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009687 <td class="paramtype">const ITensor *&#160;</td>
9688 <td class="paramname"><em>tensor</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009689 </tr>
9690 <tr>
9691 <td class="paramkey"></td>
9692 <td></td>
9693 <td class="paramtype">Ts...&#160;</td>
9694 <td class="paramname"><em>tensors</em>&#160;</td>
9695 </tr>
9696 <tr>
9697 <td></td>
9698 <td>)</td>
9699 <td></td><td></td>
9700 </tr>
9701 </table>
9702</div><div class="memdoc">
9703
9704<p>Throw an error if the passed two tensors have different data types. </p>
9705<dl class="params"><dt>Parameters</dt><dd>
9706 <table class="params">
9707 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9708 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9709 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01009710 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>The first tensor to be compared. </td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00009711 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
9712 </table>
9713 </dd>
9714</dl>
9715
Kaizen8938bd32017-09-28 14:38:23 +01009716<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00271">271</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009717
Kaizen8938bd32017-09-28 14:38:23 +01009718<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
9719<div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;{</div>
9720<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
9721<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
9722<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
9723<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor);</div>
9724<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div>
9725<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
9726<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div>
9727<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;tensor_data_type = tensor-&gt;info()-&gt;data_type();</div>
9728<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_data_type);</div>
9729<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;</div>
9730<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensor *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_array{ { std::forward&lt;Ts&gt;(tensors)... } };</div>
9731<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
9732<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div>
9733<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&amp;](<span class="keyword">const</span> ITensor * tensor_obj)</div>
9734<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div>
9735<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor_obj == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
9736<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">return</span> tensor_obj-&gt;info()-&gt;data_type() != tensor_data_type;</div>
9737<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }),</div>
9738<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data types&quot;</span>);</div>
9739<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;}</div>
9740<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009741<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>
Kaizen8938bd32017-09-28 14:38:23 +01009742<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#l00134">Error.h:134</a></div></div>
9743<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009744</div><!-- fragment -->
9745</div>
9746</div>
9747<a class="anchor" id="aff062b84c57c614a2de4d54db2cbc31c"></a>
9748<div class="memitem">
9749<div class="memproto">
9750 <table class="memname">
9751 <tr>
9752 <td class="memname">void arm_compute::error_on_mismatching_dimensions </td>
9753 <td>(</td>
9754 <td class="paramtype">const char *&#160;</td>
9755 <td class="paramname"><em>function</em>, </td>
9756 </tr>
9757 <tr>
9758 <td class="paramkey"></td>
9759 <td></td>
9760 <td class="paramtype">const char *&#160;</td>
9761 <td class="paramname"><em>file</em>, </td>
9762 </tr>
9763 <tr>
9764 <td class="paramkey"></td>
9765 <td></td>
9766 <td class="paramtype">int&#160;</td>
9767 <td class="paramname"><em>line</em>, </td>
9768 </tr>
9769 <tr>
9770 <td class="paramkey"></td>
9771 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009772 <td class="paramtype">const Dimensions&lt; T &gt; &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009773 <td class="paramname"><em>dim1</em>, </td>
9774 </tr>
9775 <tr>
9776 <td class="paramkey"></td>
9777 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009778 <td class="paramtype">const Dimensions&lt; T &gt; &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009779 <td class="paramname"><em>dim2</em>, </td>
9780 </tr>
9781 <tr>
9782 <td class="paramkey"></td>
9783 <td></td>
9784 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9785 <td class="paramname"><em>dims</em>&#160;</td>
9786 </tr>
9787 <tr>
9788 <td></td>
9789 <td>)</td>
9790 <td></td><td></td>
9791 </tr>
9792 </table>
9793</div><div class="memdoc">
9794
9795<p>Throw an error if the passed dimension objects differ. </p>
9796<dl class="params"><dt>Parameters</dt><dd>
9797 <table class="params">
9798 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9799 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9800 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9801 <tr><td class="paramdir">[in]</td><td class="paramname">dim1</td><td>The first object to be compared. </td></tr>
9802 <tr><td class="paramdir">[in]</td><td class="paramname">dim2</td><td>The second object to be compared. </td></tr>
9803 <tr><td class="paramdir">[in]</td><td class="paramname">dims</td><td>(Optional) Further allowed objects. </td></tr>
9804 </table>
9805 </dd>
9806</dl>
9807
Kaizen8938bd32017-09-28 14:38:23 +01009808<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00203">203</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009809
Kaizen8938bd32017-09-28 14:38:23 +01009810<p>References <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>.</p>
9811<div class="fragment"><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;{</div>
9812<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
9813<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
9814<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
9815<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div>
9816<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">for_each</a>(detail::compare_dimension&lt;T&gt;(dim1, <span class="keyword">function</span>, file, line), dim2, std::forward&lt;Ts&gt;(dims)...);</div>
9817<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;}</div>
9818<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>
9819<div class="ttc" id="namespacearm__compute_xhtml_a76e58198af8e930a851637e7e3eccbd2"><div class="ttname"><a href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &amp;&amp;)</div><div class="ttdoc">Base case of for_each. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">Helpers.h:208</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009820</div><!-- fragment -->
9821</div>
9822</div>
9823<a class="anchor" id="a526ed43a37ba0faf2c1789175ec1a350"></a>
9824<div class="memitem">
9825<div class="memproto">
9826 <table class="memname">
9827 <tr>
9828 <td class="memname">void arm_compute::error_on_mismatching_fixed_point </td>
9829 <td>(</td>
9830 <td class="paramtype">const char *&#160;</td>
9831 <td class="paramname"><em>function</em>, </td>
9832 </tr>
9833 <tr>
9834 <td class="paramkey"></td>
9835 <td></td>
9836 <td class="paramtype">const char *&#160;</td>
9837 <td class="paramname"><em>file</em>, </td>
9838 </tr>
9839 <tr>
9840 <td class="paramkey"></td>
9841 <td></td>
9842 <td class="paramtype">const int&#160;</td>
9843 <td class="paramname"><em>line</em>, </td>
9844 </tr>
9845 <tr>
9846 <td class="paramkey"></td>
9847 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009848 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009849 <td class="paramname"><em>tensor_1</em>, </td>
9850 </tr>
9851 <tr>
9852 <td class="paramkey"></td>
9853 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009854 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009855 <td class="paramname"><em>tensor_2</em>, </td>
9856 </tr>
9857 <tr>
9858 <td class="paramkey"></td>
9859 <td></td>
9860 <td class="paramtype">Ts...&#160;</td>
9861 <td class="paramname"><em>tensors</em>&#160;</td>
9862 </tr>
9863 <tr>
9864 <td></td>
9865 <td>)</td>
9866 <td></td><td></td>
9867 </tr>
9868 </table>
9869</div><div class="memdoc">
9870
9871<p>Throw an error if the passed tensors have different fixed point data types or different fixed point positions. </p>
9872<dl class="section note"><dt>Note</dt><dd>: If the first tensor doesn't have fixed point data type, the function returns without throwing an error</dd></dl>
9873<dl class="params"><dt>Parameters</dt><dd>
9874 <table class="params">
9875 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9876 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9877 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9878 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
9879 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
9880 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
9881 </table>
9882 </dd>
9883</dl>
9884
Kaizen8938bd32017-09-28 14:38:23 +01009885<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00309">309</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009886
9887<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01009888<div class="fragment"><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;{</div>
9889<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
9890<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
9891<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
9892<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_1);</div>
9893<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_2);</div>
9894<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div>
9895<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;first_data_type = tensor_1-&gt;info()-&gt;data_type();</div>
9896<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> first_fixed_point_position = tensor_1-&gt;info()-&gt;fixed_point_position();</div>
9897<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(first_data_type);</div>
9898<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(first_fixed_point_position);</div>
9899<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div>
9900<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">if</span>((first_data_type != DataType::QS8) &amp;&amp; (first_data_type != DataType::QS16))</div>
9901<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; {</div>
9902<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span>;</div>
9903<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
9904<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div>
9905<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_array{ { tensor_2, std::forward&lt;Ts&gt;(tensors)... } };</div>
9906<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
9907<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div>
9908<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div>
9909<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; {</div>
9910<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">return</span> tensor-&gt;info()-&gt;data_type() != first_data_type;</div>
9911<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; }),</div>
9912<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed point data types&quot;</span>);</div>
9913<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;</div>
9914<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div>
9915<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div>
9916<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">return</span> tensor-&gt;info()-&gt;fixed_point_position() != first_fixed_point_position;</div>
9917<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }),</div>
9918<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed point positions&quot;</span>);</div>
9919<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;}</div>
9920<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#l00116">Error.h:116</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009921<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>
Kaizen8938bd32017-09-28 14:38:23 +01009922<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009923</div><!-- fragment -->
9924</div>
9925</div>
9926<a class="anchor" id="a064db352a2f4153e6237054343d5fe7a"></a>
9927<div class="memitem">
9928<div class="memproto">
9929 <table class="memname">
9930 <tr>
9931 <td class="memname">void arm_compute::error_on_mismatching_fixed_point_position </td>
9932 <td>(</td>
9933 <td class="paramtype">const char *&#160;</td>
9934 <td class="paramname"><em>function</em>, </td>
9935 </tr>
9936 <tr>
9937 <td class="paramkey"></td>
9938 <td></td>
9939 <td class="paramtype">const char *&#160;</td>
9940 <td class="paramname"><em>file</em>, </td>
9941 </tr>
9942 <tr>
9943 <td class="paramkey"></td>
9944 <td></td>
9945 <td class="paramtype">const int&#160;</td>
9946 <td class="paramname"><em>line</em>, </td>
9947 </tr>
9948 <tr>
9949 <td class="paramkey"></td>
9950 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009951 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009952 <td class="paramname"><em>tensor_1</em>, </td>
9953 </tr>
9954 <tr>
9955 <td class="paramkey"></td>
9956 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +01009957 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009958 <td class="paramname"><em>tensor_2</em>, </td>
9959 </tr>
9960 <tr>
9961 <td class="paramkey"></td>
9962 <td></td>
9963 <td class="paramtype">Ts...&#160;</td>
9964 <td class="paramname"><em>tensors</em>&#160;</td>
9965 </tr>
9966 <tr>
9967 <td></td>
9968 <td>)</td>
9969 <td></td><td></td>
9970 </tr>
9971 </table>
9972</div><div class="memdoc">
9973
9974<p>Throw an error if the input fixed-point positions are different. </p>
9975<dl class="params"><dt>Parameters</dt><dd>
9976 <table class="params">
9977 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9978 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9979 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9980 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
9981 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
9982 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
9983 </table>
9984 </dd>
9985</dl>
9986
Kaizen8938bd32017-09-28 14:38:23 +01009987<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00542">542</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009988
9989<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01009990<div class="fragment"><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;{</div>
9991<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_array{ { tensor_2, std::forward&lt;Ts&gt;(tensors)... } };</div>
9992<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
9993<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;</div>
9994<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div>
9995<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; {</div>
9996<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">return</span> tensor-&gt;info()-&gt;fixed_point_position() != tensor_1-&gt;info()-&gt;fixed_point_position();</div>
9997<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; }),</div>
9998<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different fixed-point positions&quot;</span>);</div>
9999<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;}</div>
10000<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#l00116">Error.h:116</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010001<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>
Anthony Barbier871448e2017-03-24 14:54:29 +000010002</div><!-- fragment -->
10003</div>
10004</div>
10005<a class="anchor" id="a7b689868b627ba9e22c8473c5f985512"></a>
10006<div class="memitem">
10007<div class="memproto">
10008 <table class="memname">
10009 <tr>
10010 <td class="memname">void arm_compute::error_on_mismatching_shapes </td>
10011 <td>(</td>
10012 <td class="paramtype">const char *&#160;</td>
10013 <td class="paramname"><em>function</em>, </td>
10014 </tr>
10015 <tr>
10016 <td class="paramkey"></td>
10017 <td></td>
10018 <td class="paramtype">const char *&#160;</td>
10019 <td class="paramname"><em>file</em>, </td>
10020 </tr>
10021 <tr>
10022 <td class="paramkey"></td>
10023 <td></td>
10024 <td class="paramtype">const int&#160;</td>
10025 <td class="paramname"><em>line</em>, </td>
10026 </tr>
10027 <tr>
10028 <td class="paramkey"></td>
10029 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010030 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010031 <td class="paramname"><em>tensor_1</em>, </td>
10032 </tr>
10033 <tr>
10034 <td class="paramkey"></td>
10035 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010036 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010037 <td class="paramname"><em>tensor_2</em>, </td>
10038 </tr>
10039 <tr>
10040 <td class="paramkey"></td>
10041 <td></td>
10042 <td class="paramtype">Ts...&#160;</td>
10043 <td class="paramname"><em>tensors</em>&#160;</td>
10044 </tr>
10045 <tr>
10046 <td></td>
10047 <td>)</td>
10048 <td></td><td></td>
10049 </tr>
10050 </table>
10051</div><div class="memdoc">
10052
Anthony Barbierdbdab852017-06-23 15:42:00 +010010053<p>Throw an error if the passed two tensors have different shapes from the given dimension. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010054<dl class="params"><dt>Parameters</dt><dd>
10055 <table class="params">
10056 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10057 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10058 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10059 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
10060 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
10061 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
10062 </table>
10063 </dd>
10064</dl>
10065
Kaizen8938bd32017-09-28 14:38:23 +010010066<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00224">224</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010067
Anthony Barbierdbdab852017-06-23 15:42:00 +010010068<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010010069<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div>
10070<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a496e03102bca40f666c12a575d4a6157">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0U, tensor_1, tensor_2, std::forward&lt;Ts&gt;(tensors)...);</div>
10071<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;}</div>
10072<div class="ttc" id="namespacearm__compute_xhtml_a496e03102bca40f666c12a575d4a6157"><div class="ttname"><a href="namespacearm__compute.xhtml#a496e03102bca40f666c12a575d4a6157">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">void error_on_mismatching_shapes(const char *function, const char *file, const int line, unsigned int upper_dim, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors)</div><div class="ttdoc">Throw an error if the passed two tensors have different shapes from the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00241">Validate.h:241</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010073</div><!-- fragment -->
10074</div>
10075</div>
10076<a class="anchor" id="a496e03102bca40f666c12a575d4a6157"></a>
10077<div class="memitem">
10078<div class="memproto">
10079 <table class="memname">
10080 <tr>
10081 <td class="memname">void arm_compute::error_on_mismatching_shapes </td>
10082 <td>(</td>
10083 <td class="paramtype">const char *&#160;</td>
10084 <td class="paramname"><em>function</em>, </td>
10085 </tr>
10086 <tr>
10087 <td class="paramkey"></td>
10088 <td></td>
10089 <td class="paramtype">const char *&#160;</td>
10090 <td class="paramname"><em>file</em>, </td>
10091 </tr>
10092 <tr>
10093 <td class="paramkey"></td>
10094 <td></td>
10095 <td class="paramtype">const int&#160;</td>
10096 <td class="paramname"><em>line</em>, </td>
10097 </tr>
10098 <tr>
10099 <td class="paramkey"></td>
10100 <td></td>
10101 <td class="paramtype">unsigned int&#160;</td>
10102 <td class="paramname"><em>upper_dim</em>, </td>
10103 </tr>
10104 <tr>
10105 <td class="paramkey"></td>
10106 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010107 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010108 <td class="paramname"><em>tensor_1</em>, </td>
10109 </tr>
10110 <tr>
10111 <td class="paramkey"></td>
10112 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010113 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010114 <td class="paramname"><em>tensor_2</em>, </td>
10115 </tr>
10116 <tr>
10117 <td class="paramkey"></td>
10118 <td></td>
10119 <td class="paramtype">Ts...&#160;</td>
10120 <td class="paramname"><em>tensors</em>&#160;</td>
10121 </tr>
10122 <tr>
10123 <td></td>
10124 <td>)</td>
10125 <td></td><td></td>
10126 </tr>
10127 </table>
10128</div><div class="memdoc">
10129
10130<p>Throw an error if the passed two tensors have different shapes from the given dimension. </p>
10131<dl class="params"><dt>Parameters</dt><dd>
10132 <table class="params">
10133 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10134 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10135 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10136 <tr><td class="paramdir">[in]</td><td class="paramname">upper_dim</td><td>The dimension from which to check. </td></tr>
10137 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
10138 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
10139 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
10140 </table>
10141 </dd>
10142</dl>
10143
Kaizen8938bd32017-09-28 14:38:23 +010010144<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00241">241</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010145
Kaizen8938bd32017-09-28 14:38:23 +010010146<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>, and <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
10147<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;{</div>
10148<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
10149<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
10150<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
10151<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div>
10152<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 2 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_array{ { tensor_1, tensor_2, std::forward&lt;Ts&gt;(tensors)... } };</div>
10153<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
10154<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;</div>
10155<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensors_array.cbegin() == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
10156<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
10157<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(std::next(tensors_array.cbegin()), tensors_array.cend(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div>
10158<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; {</div>
10159<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
10160<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>((*tensors_array.cbegin())-&gt;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>()-&gt;tensor_shape(), tensor-&gt;info()-&gt;tensor_shape(), upper_dim);</div>
10161<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }),</div>
10162<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different shapes&quot;</span>);</div>
10163<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div>
10164<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#l00116">Error.h:116</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010165<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>
Kaizen8938bd32017-09-28 14:38:23 +010010166<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010167<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a45d610a8bc262f7007c934293361e888"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">arm_compute::detail::have_different_dimensions</a></div><div class="ttdeci">bool have_different_dimensions(const Dimensions&lt; T &gt; &amp;dim1, const Dimensions&lt; T &gt; &amp;dim2, unsigned int upper_dim)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00051">Validate.h:51</a></div></div>
10168<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#l00134">Error.h:134</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010169</div><!-- fragment -->
10170</div>
10171</div>
10172<a class="anchor" id="a26a9847c05c48bd1470f22f898ee254d"></a>
10173<div class="memitem">
10174<div class="memproto">
10175 <table class="memname">
10176 <tr>
10177 <td class="memname">void arm_compute::error_on_mismatching_windows </td>
10178 <td>(</td>
10179 <td class="paramtype">const char *&#160;</td>
10180 <td class="paramname"><em>function</em>, </td>
10181 </tr>
10182 <tr>
10183 <td class="paramkey"></td>
10184 <td></td>
10185 <td class="paramtype">const char *&#160;</td>
10186 <td class="paramname"><em>file</em>, </td>
10187 </tr>
10188 <tr>
10189 <td class="paramkey"></td>
10190 <td></td>
10191 <td class="paramtype">const int&#160;</td>
10192 <td class="paramname"><em>line</em>, </td>
10193 </tr>
10194 <tr>
10195 <td class="paramkey"></td>
10196 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010197 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010198 <td class="paramname"><em>full</em>, </td>
10199 </tr>
10200 <tr>
10201 <td class="paramkey"></td>
10202 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010203 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010204 <td class="paramname"><em>win</em>&#160;</td>
10205 </tr>
10206 <tr>
10207 <td></td>
10208 <td>)</td>
10209 <td></td><td></td>
10210 </tr>
10211 </table>
10212</div><div class="memdoc">
10213
10214<p>Throw an error if the passed window is invalid. </p>
Kaizen8938bd32017-09-28 14:38:23 +010010215<p>The subwindow is invalid if:</p>
10216<ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000010217<li>It is not a valid window.</li>
10218<li>Its dimensions don't match the full window's ones</li>
10219<li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
10220<dl class="params"><dt>Parameters</dt><dd>
10221 <table class="params">
10222 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10223 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10224 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10225 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
10226 <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to validate. </td></tr>
10227 </table>
10228 </dd>
10229</dl>
10230</li>
10231</ul>
10232
10233</div>
10234</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010235<a class="anchor" id="a078507835115009a81ee2974d6073bb9"></a>
10236<div class="memitem">
10237<div class="memproto">
10238 <table class="memname">
10239 <tr>
10240 <td class="memname">void arm_compute::error_on_nullptr </td>
10241 <td>(</td>
10242 <td class="paramtype">const char *&#160;</td>
10243 <td class="paramname"><em>function</em>, </td>
10244 </tr>
10245 <tr>
10246 <td class="paramkey"></td>
10247 <td></td>
10248 <td class="paramtype">const char *&#160;</td>
10249 <td class="paramname"><em>file</em>, </td>
10250 </tr>
10251 <tr>
10252 <td class="paramkey"></td>
10253 <td></td>
10254 <td class="paramtype">const int&#160;</td>
10255 <td class="paramname"><em>line</em>, </td>
10256 </tr>
10257 <tr>
10258 <td class="paramkey"></td>
10259 <td></td>
10260 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10261 <td class="paramname"><em>pointers</em>&#160;</td>
10262 </tr>
10263 <tr>
10264 <td></td>
10265 <td>)</td>
10266 <td></td><td></td>
10267 </tr>
10268 </table>
10269</div><div class="memdoc">
10270
10271<p>Throw an error if one of the pointers is a nullptr. </p>
10272<dl class="params"><dt>Parameters</dt><dd>
10273 <table class="params">
10274 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10275 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10276 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10277 <tr><td class="paramdir">[in]</td><td class="paramname">pointers</td><td>Pointers to check against nullptr. </td></tr>
10278 </table>
10279 </dd>
10280</dl>
10281
10282<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00105">105</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
10283
Kaizen8938bd32017-09-28 14:38:23 +010010284<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>.</p>
10285<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;{</div>
10286<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">auto</span> is_nullptr = [&amp;](<span class="keyword">const</span> <span class="keywordtype">void</span> *ptr)</div>
10287<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
10288<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(ptr == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
10289<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; };</div>
10290<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div>
10291<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">for_each</a>(is_nullptr, std::forward&lt;Ts&gt;(pointers)...);</div>
10292<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;}</div>
10293<div class="ttc" id="namespacearm__compute_xhtml_a76e58198af8e930a851637e7e3eccbd2"><div class="ttname"><a href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &amp;&amp;)</div><div class="ttdoc">Base case of for_each. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">Helpers.h:208</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010294<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#l00134">Error.h:134</a></div></div>
10295</div><!-- fragment -->
10296</div>
10297</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010298<a class="anchor" id="a65c8e0610dff27ecf1ef30214f08d19e"></a>
10299<div class="memitem">
10300<div class="memproto">
10301 <table class="memname">
10302 <tr>
10303 <td class="memname">void arm_compute::error_on_tensor_not_2d </td>
10304 <td>(</td>
10305 <td class="paramtype">const char *&#160;</td>
10306 <td class="paramname"><em>function</em>, </td>
10307 </tr>
10308 <tr>
10309 <td class="paramkey"></td>
10310 <td></td>
10311 <td class="paramtype">const char *&#160;</td>
10312 <td class="paramname"><em>file</em>, </td>
10313 </tr>
10314 <tr>
10315 <td class="paramkey"></td>
10316 <td></td>
10317 <td class="paramtype">const int&#160;</td>
10318 <td class="paramname"><em>line</em>, </td>
10319 </tr>
10320 <tr>
10321 <td class="paramkey"></td>
10322 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010323 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010324 <td class="paramname"><em>tensor</em>&#160;</td>
10325 </tr>
10326 <tr>
10327 <td></td>
10328 <td>)</td>
10329 <td></td><td></td>
10330 </tr>
10331 </table>
10332</div><div class="memdoc">
10333
10334<p>Throw an error if the tensor is not 2D. </p>
10335<dl class="params"><dt>Parameters</dt><dd>
10336 <table class="params">
10337 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10338 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10339 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10340 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to validate. </td></tr>
10341 </table>
10342 </dd>
10343</dl>
10344
10345</div>
10346</div>
10347<a class="anchor" id="a21a4884cd1dbfa83351b8efa265f526a"></a>
10348<div class="memitem">
10349<div class="memproto">
10350 <table class="memname">
10351 <tr>
10352 <td class="memname">void arm_compute::error_on_unconfigured_kernel </td>
10353 <td>(</td>
10354 <td class="paramtype">const char *&#160;</td>
10355 <td class="paramname"><em>function</em>, </td>
10356 </tr>
10357 <tr>
10358 <td class="paramkey"></td>
10359 <td></td>
10360 <td class="paramtype">const char *&#160;</td>
10361 <td class="paramname"><em>file</em>, </td>
10362 </tr>
10363 <tr>
10364 <td class="paramkey"></td>
10365 <td></td>
10366 <td class="paramtype">const int&#160;</td>
10367 <td class="paramname"><em>line</em>, </td>
10368 </tr>
10369 <tr>
10370 <td class="paramkey"></td>
10371 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010372 <td class="paramtype">const IKernel *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010373 <td class="paramname"><em>kernel</em>&#160;</td>
10374 </tr>
10375 <tr>
10376 <td></td>
10377 <td>)</td>
10378 <td></td><td></td>
10379 </tr>
10380 </table>
10381</div><div class="memdoc">
10382
10383<p>Throw an error if the kernel is not configured. </p>
10384<dl class="params"><dt>Parameters</dt><dd>
10385 <table class="params">
10386 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10387 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10388 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10389 <tr><td class="paramdir">[in]</td><td class="paramname">kernel</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to validate. </td></tr>
10390 </table>
10391 </dd>
10392</dl>
10393
10394</div>
10395</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010396<a class="anchor" id="a9afdaa4d8bbb78938110ada1daf87f8b"></a>
10397<div class="memitem">
10398<div class="memproto">
10399 <table class="memname">
10400 <tr>
10401 <td class="memname">void arm_compute::error_on_value_not_representable_in_fixed_point </td>
10402 <td>(</td>
10403 <td class="paramtype">const char *&#160;</td>
10404 <td class="paramname"><em>function</em>, </td>
10405 </tr>
10406 <tr>
10407 <td class="paramkey"></td>
10408 <td></td>
10409 <td class="paramtype">const char *&#160;</td>
10410 <td class="paramname"><em>file</em>, </td>
10411 </tr>
10412 <tr>
10413 <td class="paramkey"></td>
10414 <td></td>
10415 <td class="paramtype">int&#160;</td>
10416 <td class="paramname"><em>line</em>, </td>
10417 </tr>
10418 <tr>
10419 <td class="paramkey"></td>
10420 <td></td>
10421 <td class="paramtype">float&#160;</td>
10422 <td class="paramname"><em>value</em>, </td>
10423 </tr>
10424 <tr>
10425 <td class="paramkey"></td>
10426 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010427 <td class="paramtype">const ITensor *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010428 <td class="paramname"><em>tensor</em>&#160;</td>
10429 </tr>
10430 <tr>
10431 <td></td>
10432 <td>)</td>
10433 <td></td><td></td>
10434 </tr>
10435 </table>
10436</div><div class="memdoc">
10437
10438<p>Throw an error if the fixed-point value is not representable in the specified Q format. </p>
10439<dl class="params"><dt>Parameters</dt><dd>
10440 <table class="params">
10441 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10442 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10443 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10444 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The floating point value to be checked. </td></tr>
10445 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Input tensor that has information on data type and fixed-point position. </td></tr>
10446 </table>
10447 </dd>
10448</dl>
10449
Kaizen8938bd32017-09-28 14:38:23 +010010450<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00565">565</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010451
Kaizenbf8b01d2017-10-12 14:26:51 +010010452<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00162">element_size_from_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010010453<div class="fragment"><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;{</div>
10454<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> fixed_point_position = tensor-&gt;info()-&gt;fixed_point_position();</div>
10455<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt = tensor-&gt;info()-&gt;data_type();</div>
10456<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> q_max_range = 0xFFFFFFFFu &gt;&gt; (((<span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> int) - <a class="code" href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">element_size_from_data_type</a>(dt)) * 8) + 1);</div>
10457<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> max_range = q_max_range / (<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(1 &lt;&lt; fixed_point_position));</div>
10458<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(max_range);</div>
10459<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div>
10460<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> &gt; max_range, <span class="keyword">function</span>, file, line,</div>
10461<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="stringliteral">&quot;Value %f is not representable in %s with fixed-point position %d&quot;</span>, <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(dt).c_str(), fixed_point_position);</div>
10462<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;}</div>
10463<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#l00116">Error.h:116</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010010464<div class="ttc" id="namespacearm__compute_xhtml_a34b06c0cd94808a77b697e79880b84b0"><div class="ttname"><a href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">arm_compute::element_size_from_data_type</a></div><div class="ttdeci">size_t element_size_from_data_type(DataType dt)</div><div class="ttdoc">The size in bytes of the data type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00162">Utils.h:162</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010465<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>
10466<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string &amp; string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +010010467<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
10468<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010469</div><!-- fragment -->
10470</div>
10471</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010472<a class="anchor" id="a6fed5543ae383442a51362e6607c4e65"></a>
10473<div class="memitem">
10474<div class="memproto">
10475 <table class="memname">
10476 <tr>
10477 <td class="memname">void arm_compute::error_on_window_dimensions_gte </td>
10478 <td>(</td>
10479 <td class="paramtype">const char *&#160;</td>
10480 <td class="paramname"><em>function</em>, </td>
10481 </tr>
10482 <tr>
10483 <td class="paramkey"></td>
10484 <td></td>
10485 <td class="paramtype">const char *&#160;</td>
10486 <td class="paramname"><em>file</em>, </td>
10487 </tr>
10488 <tr>
10489 <td class="paramkey"></td>
10490 <td></td>
10491 <td class="paramtype">const int&#160;</td>
10492 <td class="paramname"><em>line</em>, </td>
10493 </tr>
10494 <tr>
10495 <td class="paramkey"></td>
10496 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010010497 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010498 <td class="paramname"><em>win</em>, </td>
10499 </tr>
10500 <tr>
10501 <td class="paramkey"></td>
10502 <td></td>
10503 <td class="paramtype">unsigned int&#160;</td>
10504 <td class="paramname"><em>max_dim</em>&#160;</td>
10505 </tr>
10506 <tr>
10507 <td></td>
10508 <td>)</td>
10509 <td></td><td></td>
10510 </tr>
10511 </table>
10512</div><div class="memdoc">
10513
10514<p>Throw an error if the passed window has too many dimensions. </p>
10515<p>The window has too many dimensions if any of the dimension greater or equal to max_dim is different from 0.</p>
10516<dl class="params"><dt>Parameters</dt><dd>
10517 <table class="params">
10518 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10519 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10520 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10521 <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to validate </td></tr>
10522 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
10523 </table>
10524 </dd>
10525</dl>
10526
10527</div>
10528</div>
Kaizen8938bd32017-09-28 14:38:23 +010010529<a class="anchor" id="ade618d7802413e82df0d9c1dbb049138"></a>
10530<div class="memitem">
10531<div class="memproto">
10532 <table class="memname">
10533 <tr>
10534 <td class="memname">void arm_compute::error_on_window_not_collapsable_at_dimension </td>
10535 <td>(</td>
10536 <td class="paramtype">const char *&#160;</td>
10537 <td class="paramname"><em>function</em>, </td>
10538 </tr>
10539 <tr>
10540 <td class="paramkey"></td>
10541 <td></td>
10542 <td class="paramtype">const char *&#160;</td>
10543 <td class="paramname"><em>file</em>, </td>
10544 </tr>
10545 <tr>
10546 <td class="paramkey"></td>
10547 <td></td>
10548 <td class="paramtype">const int&#160;</td>
10549 <td class="paramname"><em>line</em>, </td>
10550 </tr>
10551 <tr>
10552 <td class="paramkey"></td>
10553 <td></td>
10554 <td class="paramtype">const Window &amp;&#160;</td>
10555 <td class="paramname"><em>full</em>, </td>
10556 </tr>
10557 <tr>
10558 <td class="paramkey"></td>
10559 <td></td>
10560 <td class="paramtype">const Window &amp;&#160;</td>
10561 <td class="paramname"><em>window</em>, </td>
10562 </tr>
10563 <tr>
10564 <td class="paramkey"></td>
10565 <td></td>
10566 <td class="paramtype">const int&#160;</td>
10567 <td class="paramname"><em>dim</em>&#160;</td>
10568 </tr>
10569 <tr>
10570 <td></td>
10571 <td>)</td>
10572 <td></td><td></td>
10573 </tr>
10574 </table>
10575</div><div class="memdoc">
10576
10577<p>Throw an error if the window can't be collapsed at the given dimension. </p>
10578<p>The window cannot be collapsed if the given dimension not equal to the full window's dimension or not start from 0.</p>
10579<dl class="params"><dt>Parameters</dt><dd>
10580 <table class="params">
10581 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10582 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10583 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10584 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
10585 <tr><td class="paramdir">[in]</td><td class="paramname">window</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to be collapsed. </td></tr>
10586 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Dimension need to be checked. </td></tr>
10587 </table>
10588 </dd>
10589</dl>
10590
10591</div>
10592</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010593<a class="anchor" id="a6c0dcc38187027dcb89cd9724bc5a823"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010594<div class="memitem">
10595<div class="memproto">
10596<table class="mlabels">
10597 <tr>
10598 <td class="mlabels-left">
10599 <table class="memname">
10600 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010601 <td class="memname">void execute_window_loop </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010602 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010010603 <td class="paramtype">const Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010604 <td class="paramname"><em>w</em>, </td>
10605 </tr>
10606 <tr>
10607 <td class="paramkey"></td>
10608 <td></td>
10609 <td class="paramtype">L &amp;&amp;&#160;</td>
10610 <td class="paramname"><em>lambda_function</em>, </td>
10611 </tr>
10612 <tr>
10613 <td class="paramkey"></td>
10614 <td></td>
10615 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10616 <td class="paramname"><em>iterators</em>&#160;</td>
10617 </tr>
10618 <tr>
10619 <td></td>
10620 <td>)</td>
10621 <td></td><td></td>
10622 </tr>
10623 </table>
10624 </td>
10625 <td class="mlabels-right">
10626<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10627 </tr>
10628</table>
10629</div><div class="memdoc">
10630
10631<p>Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. </p>
10632<p>It passes the x and y positions to the lambda_function for each iteration</p>
10633<dl class="params"><dt>Parameters</dt><dd>
10634 <table class="params">
10635 <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to iterate through. </td></tr>
10636 <tr><td class="paramdir">[in]</td><td class="paramname">lambda_function</td><td>The function of type void(function)( const <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> &amp; id ) to call at each iteration. Where id represents the absolute coordinates of the item to process. </td></tr>
10637 <tr><td class="paramdir">[in,out]</td><td class="paramname">iterators</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> iterators which will be updated by this function before calling lambda_function. </td></tr>
10638 </table>
10639 </dd>
10640</dl>
10641
Kaizen8938bd32017-09-28 14:38:23 +010010642<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00127">127</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010643
Kaizen8938bd32017-09-28 14:38:23 +010010644<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00252">id</a>, and <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010645
Kaizenbf8b01d2017-10-12 14:26:51 +010010646<p>Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00205">NumPyBinLoader::access_tensor()</a>, <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="_assets_library_8h_source.xhtml#l00403">AssetsLibrary::fill()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00377">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00187">PPMLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00656">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="_le_net5_network_8h_source.xhtml#l00161">LeNet5Network&lt; TensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, FullyConnectedLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="_alex_net_network_8h_source.xhtml#l00422">AlexNetNetwork&lt; ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction &gt;::get_classifications()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00357">arm_compute::utils::load_trained_data()</a>, <a class="el" href="neon__copy__objects_8cpp_source.xhtml#l00035">main_neon_copy_objects()</a>, and <a class="el" href="utils_2_utils_8h_source.xhtml#l00281">arm_compute::utils::save_to_ppm()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010010647<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div>
10648<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; w.validate();</div>
10649<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
10650<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; Coordinates <a class="code" href="hwc_8hpp.xhtml#abaabdc509cdaba7df9f56c6c76f3ae19">id</a>;</div>
10651<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; ForEachDimension&lt;Coordinates::num_max_dimensions&gt;::unroll(w, <span class="keywordtype">id</span>, std::forward&lt;L&gt;(lambda_function), std::forward&lt;Ts&gt;(iterators)...);</div>
10652<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;}</div>
10653<div class="ttc" id="hwc_8hpp_xhtml_abaabdc509cdaba7df9f56c6c76f3ae19"><div class="ttname"><a href="hwc_8hpp.xhtml#abaabdc509cdaba7df9f56c6c76f3ae19">id</a></div><div class="ttdeci">uint32_t id</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00252">hwc.hpp:252</a></div></div>
10654</div><!-- fragment -->
10655</div>
10656</div>
10657<a class="anchor" id="a9cd394c15b73f79ca1d98f5328064be2"></a>
10658<div class="memitem">
10659<div class="memproto">
10660<table class="mlabels">
10661 <tr>
10662 <td class="mlabels-left">
10663 <table class="memname">
10664 <tr>
10665 <td class="memname">std::string arm_compute::float_to_string_with_full_precision </td>
10666 <td>(</td>
10667 <td class="paramtype">float&#160;</td>
10668 <td class="paramname"><em>val</em></td><td>)</td>
10669 <td></td>
10670 </tr>
10671 </table>
10672 </td>
10673 <td class="mlabels-right">
10674<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10675 </tr>
10676</table>
10677</div><div class="memdoc">
10678
10679<p>Create a string with the float in full precision. </p>
10680<dl class="params"><dt>Parameters</dt><dd>
10681 <table class="params">
10682 <tr><td class="paramname">val</td><td>Floating point value</td></tr>
10683 </table>
10684 </dd>
10685</dl>
10686<dl class="section return"><dt>Returns</dt><dd>String with the floating point value. </dd></dl>
10687
Kaizenbf8b01d2017-10-12 14:26:51 +010010688<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00702">702</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
10689<div class="fragment"><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;{</div>
10690<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; std::stringstream ss;</div>
10691<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; ss.precision(std::numeric_limits&lt;float&gt;::digits10 + 1);</div>
10692<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; ss &lt;&lt; val;</div>
10693<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">return</span> ss.str();</div>
10694<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010010695</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000010696</div>
10697</div>
10698<a class="anchor" id="a6959e681668a37a9242d2aae4e8b4375"></a>
10699<div class="memitem">
10700<div class="memproto">
10701<table class="mlabels">
10702 <tr>
10703 <td class="mlabels-left">
10704 <table class="memname">
10705 <tr>
10706 <td class="memname">auto arm_compute::floor_to_multiple </td>
10707 <td>(</td>
10708 <td class="paramtype">S&#160;</td>
10709 <td class="paramname"><em>value</em>, </td>
10710 </tr>
10711 <tr>
10712 <td class="paramkey"></td>
10713 <td></td>
10714 <td class="paramtype">T&#160;</td>
10715 <td class="paramname"><em>divisor</em>&#160;</td>
10716 </tr>
10717 <tr>
10718 <td></td>
10719 <td>)</td>
Kaizen8938bd32017-09-28 14:38:23 +010010720 <td></td><td> -&gt; decltype((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +000010721</td>
10722 </tr>
10723 </table>
10724 </td>
10725 <td class="mlabels-right">
10726<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10727 </tr>
10728</table>
10729</div><div class="memdoc">
10730
10731<p>Computes the largest number smaller or equal to value that is a multiple of divisor. </p>
10732
Kaizenbf8b01d2017-10-12 14:26:51 +010010733<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00052">52</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010734
Kaizen8938bd32017-09-28 14:38:23 +010010735<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010010736<div class="fragment"><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;{</div>
10737<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> &lt; 0 || divisor &lt;= 0);</div>
10738<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> / divisor) * divisor;</div>
10739<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010010740<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
10741<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010742</div><!-- fragment -->
10743</div>
10744</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010745<a class="anchor" id="a6905c41fd996c479e46791ef58e440aa"></a>
10746<div class="memitem">
10747<div class="memproto">
10748<table class="mlabels">
10749 <tr>
10750 <td class="mlabels-left">
10751 <table class="memname">
10752 <tr>
10753 <td class="memname">T arm_compute::foldl </td>
10754 <td>(</td>
10755 <td class="paramtype">F &amp;&amp;&#160;</td>
10756 <td class="paramname">, </td>
10757 </tr>
10758 <tr>
10759 <td class="paramkey"></td>
10760 <td></td>
10761 <td class="paramtype">const T &amp;&#160;</td>
10762 <td class="paramname"><em>value</em>&#160;</td>
10763 </tr>
10764 <tr>
10765 <td></td>
10766 <td>)</td>
10767 <td></td><td></td>
10768 </tr>
10769 </table>
10770 </td>
10771 <td class="mlabels-right">
10772<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10773 </tr>
10774</table>
10775</div><div class="memdoc">
10776
10777<p>Base case of foldl. </p>
10778<dl class="section return"><dt>Returns</dt><dd>value. </dd></dl>
10779
Kaizen8938bd32017-09-28 14:38:23 +010010780<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00230">230</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010781
Kaizen8938bd32017-09-28 14:38:23 +010010782<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
10783
10784<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">foldl()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00403">intersect_valid_regions()</a>.</p>
10785<div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;{</div>
10786<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div>
10787<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;}</div>
10788<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
10789</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010010790</div>
10791</div>
10792<a class="anchor" id="a7f8e5c5fc77465cf3ac58b3d15305a5f"></a>
10793<div class="memitem">
10794<div class="memproto">
10795<table class="mlabels">
10796 <tr>
10797 <td class="mlabels-left">
10798 <table class="memname">
10799 <tr>
10800 <td class="memname">auto arm_compute::foldl </td>
10801 <td>(</td>
10802 <td class="paramtype">F &amp;&amp;&#160;</td>
10803 <td class="paramname"><em>func</em>, </td>
10804 </tr>
10805 <tr>
10806 <td class="paramkey"></td>
10807 <td></td>
10808 <td class="paramtype">T &amp;&amp;&#160;</td>
10809 <td class="paramname"><em>value1</em>, </td>
10810 </tr>
10811 <tr>
10812 <td class="paramkey"></td>
10813 <td></td>
10814 <td class="paramtype">U &amp;&amp;&#160;</td>
10815 <td class="paramname"><em>value2</em>&#160;</td>
10816 </tr>
10817 <tr>
10818 <td></td>
10819 <td>)</td>
10820 <td></td><td> -&gt; decltype(func(value1, value2))
10821</td>
10822 </tr>
10823 </table>
10824 </td>
10825 <td class="mlabels-right">
10826<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10827 </tr>
10828</table>
10829</div><div class="memdoc">
10830
10831<p>Base case of foldl. </p>
10832<dl class="section return"><dt>Returns</dt><dd>Function evaluation for value1 and value2 </dd></dl>
10833
Kaizen8938bd32017-09-28 14:38:23 +010010834<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00240">240</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
10835<div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;{</div>
10836<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> func(value1, value2);</div>
10837<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div>
10838</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010010839</div>
10840</div>
10841<a class="anchor" id="a05d0de315da2ecf1fa7d22ffad49b254"></a>
10842<div class="memitem">
10843<div class="memproto">
10844<table class="mlabels">
10845 <tr>
10846 <td class="mlabels-left">
10847 <table class="memname">
10848 <tr>
10849 <td class="memname">I arm_compute::foldl </td>
10850 <td>(</td>
10851 <td class="paramtype">F &amp;&amp;&#160;</td>
10852 <td class="paramname"><em>func</em>, </td>
10853 </tr>
10854 <tr>
10855 <td class="paramkey"></td>
10856 <td></td>
10857 <td class="paramtype">I &amp;&amp;&#160;</td>
10858 <td class="paramname"><em>initial</em>, </td>
10859 </tr>
10860 <tr>
10861 <td class="paramkey"></td>
10862 <td></td>
10863 <td class="paramtype">T &amp;&amp;&#160;</td>
10864 <td class="paramname"><em>value</em>, </td>
10865 </tr>
10866 <tr>
10867 <td class="paramkey"></td>
10868 <td></td>
10869 <td class="paramtype">Vs &amp;&amp;...&#160;</td>
10870 <td class="paramname"><em>values</em>&#160;</td>
10871 </tr>
10872 <tr>
10873 <td></td>
10874 <td>)</td>
10875 <td></td><td></td>
10876 </tr>
10877 </table>
10878 </td>
10879 <td class="mlabels-right">
10880<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10881 </tr>
10882</table>
10883</div><div class="memdoc">
10884
10885<p>Fold left. </p>
10886<dl class="params"><dt>Parameters</dt><dd>
10887 <table class="params">
10888 <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>Function to be called </td></tr>
10889 <tr><td class="paramdir">[in]</td><td class="paramname">initial</td><td>Initial value </td></tr>
10890 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Argument passed to the function </td></tr>
10891 <tr><td class="paramdir">[in]</td><td class="paramname">values</td><td>Remaining arguments </td></tr>
10892 </table>
10893 </dd>
10894</dl>
10895
Kaizen8938bd32017-09-28 14:38:23 +010010896<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">253</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010897
Kaizen8938bd32017-09-28 14:38:23 +010010898<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00230">foldl()</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
10899<div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;{</div>
10900<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a>(std::forward&lt;F&gt;(func), func(std::forward&lt;I&gt;(initial), std::forward&lt;T&gt;(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)), std::forward&lt;Vs&gt;(values)...);</div>
10901<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;}</div>
10902<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
10903<div class="ttc" id="namespacearm__compute_xhtml_a05d0de315da2ecf1fa7d22ffad49b254"><div class="ttname"><a href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">arm_compute::foldl</a></div><div class="ttdeci">I foldl(F &amp;&amp;func, I &amp;&amp;initial, T &amp;&amp;value, Vs &amp;&amp;...values)</div><div class="ttdoc">Fold left. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">Helpers.h:253</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010904</div><!-- fragment -->
10905</div>
10906</div>
10907<a class="anchor" id="a76e58198af8e930a851637e7e3eccbd2"></a>
10908<div class="memitem">
10909<div class="memproto">
10910<table class="mlabels">
10911 <tr>
10912 <td class="mlabels-left">
10913 <table class="memname">
10914 <tr>
10915 <td class="memname">void arm_compute::for_each </td>
10916 <td>(</td>
10917 <td class="paramtype">F &amp;&amp;&#160;</td>
10918 <td class="paramname"></td><td>)</td>
10919 <td></td>
10920 </tr>
10921 </table>
10922 </td>
10923 <td class="mlabels-right">
10924<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10925 </tr>
10926</table>
10927</div><div class="memdoc">
10928
10929<p>Base case of for_each. </p>
10930<p>Does nothing. </p>
10931
Kaizen8938bd32017-09-28 14:38:23 +010010932<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">208</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010933
Kaizen8938bd32017-09-28 14:38:23 +010010934<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00203">error_on_mismatching_dimensions()</a>, <a class="el" href="_validate_8h_source.xhtml#l00105">error_on_nullptr()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">for_each()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00343">update_window_and_padding()</a>.</p>
10935<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;{</div>
10936<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div>
10937</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010010938</div>
10939</div>
10940<a class="anchor" id="ab951ff3c9484cd4b243344b3a0f12d95"></a>
10941<div class="memitem">
10942<div class="memproto">
10943<table class="mlabels">
10944 <tr>
10945 <td class="mlabels-left">
10946 <table class="memname">
10947 <tr>
10948 <td class="memname">void arm_compute::for_each </td>
10949 <td>(</td>
10950 <td class="paramtype">F &amp;&amp;&#160;</td>
10951 <td class="paramname"><em>func</em>, </td>
10952 </tr>
10953 <tr>
10954 <td class="paramkey"></td>
10955 <td></td>
10956 <td class="paramtype">T &amp;&amp;&#160;</td>
10957 <td class="paramname"><em>arg</em>, </td>
10958 </tr>
10959 <tr>
10960 <td class="paramkey"></td>
10961 <td></td>
10962 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10963 <td class="paramname"><em>args</em>&#160;</td>
10964 </tr>
10965 <tr>
10966 <td></td>
10967 <td>)</td>
10968 <td></td><td></td>
10969 </tr>
10970 </table>
10971 </td>
10972 <td class="mlabels-right">
10973<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10974 </tr>
10975</table>
10976</div><div class="memdoc">
10977
10978<p>Call the function for each of the arguments. </p>
10979<dl class="params"><dt>Parameters</dt><dd>
10980 <table class="params">
10981 <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>Function to be called </td></tr>
10982 <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Argument passed to the function </td></tr>
10983 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>Remaining arguments </td></tr>
10984 </table>
10985 </dd>
10986</dl>
10987
Kaizen8938bd32017-09-28 14:38:23 +010010988<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">219</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010989
Kaizen8938bd32017-09-28 14:38:23 +010010990<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor::args</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>.</p>
10991<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;{</div>
10992<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; func(arg);</div>
10993<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>(func, <a class="code" href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">args</a>...);</div>
10994<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div>
10995<div class="ttc" id="namespacearm__compute_xhtml_ab951ff3c9484cd4b243344b3a0f12d95"><div class="ttname"><a href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &amp;&amp;func, T &amp;&amp;arg, Ts &amp;&amp;...args)</div><div class="ttdoc">Call the function for each of the arguments. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">Helpers.h:219</a></div></div>
10996<div class="ttc" id="namespacecaffe__data__extractor_xhtml_aad3cdfd6574de97bf37448087aaff11d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">caffe_data_extractor.args</a></div><div class="ttdeci">tuple args</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor.py:21</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010997</div><!-- fragment -->
10998</div>
10999</div>
11000<a class="anchor" id="a4a351d5c39dec88af98a671da1c43fd6"></a>
11001<div class="memitem">
11002<div class="memproto">
11003 <table class="memname">
11004 <tr>
11005 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_arch_from_target </td>
11006 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011007 <td class="paramtype">GPUTarget&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011008 <td class="paramname"><em>target</em></td><td>)</td>
11009 <td></td>
11010 </tr>
11011 </table>
11012</div><div class="memdoc">
11013
11014<p>Helper function to get the GPU arch. </p>
11015<dl class="params"><dt>Parameters</dt><dd>
11016 <table class="params">
11017 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>GPU target</td></tr>
11018 </table>
11019 </dd>
11020</dl>
11021<dl class="section return"><dt>Returns</dt><dd>the GPU target which shows the arch </dd></dl>
11022
Anthony Barbierdbdab852017-06-23 15:42:00 +010011023</div>
11024</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011025<a class="anchor" id="ab04905b0c6c0e4091160561eae870101"></a>
11026<div class="memitem">
11027<div class="memproto">
11028 <table class="memname">
11029 <tr>
11030 <td class="memname">std::string arm_compute::get_cl_type_from_data_type </td>
11031 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011032 <td class="paramtype">const DataType &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011033 <td class="paramname"><em>dt</em></td><td>)</td>
11034 <td></td>
11035 </tr>
11036 </table>
11037</div><div class="memdoc">
11038
11039<p>Translates a tensor data type to the appropriate OpenCL type. </p>
11040<dl class="params"><dt>Parameters</dt><dd>
11041 <table class="params">
11042 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> to be translated to OpenCL type.</td></tr>
11043 </table>
11044 </dd>
11045</dl>
11046<dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL type to be used. </dd></dl>
11047
11048</div>
11049</div>
Kaizen8938bd32017-09-28 14:38:23 +010011050<a class="anchor" id="a54c9b94a266f8065b64f001c47815b68"></a>
11051<div class="memitem">
11052<div class="memproto">
11053 <table class="memname">
11054 <tr>
11055 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> arm_compute::get_cl_version </td>
11056 <td>(</td>
11057 <td class="paramtype">const cl::Device &amp;&#160;</td>
11058 <td class="paramname"><em>device</em></td><td>)</td>
11059 <td></td>
11060 </tr>
11061 </table>
11062</div><div class="memdoc">
11063
11064<p>Helper function to get the highest OpenCL version supported. </p>
11065<dl class="params"><dt>Parameters</dt><dd>
11066 <table class="params">
11067 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
11068 </table>
11069 </dd>
11070</dl>
11071<dl class="section return"><dt>Returns</dt><dd>the highest OpenCL version supported </dd></dl>
11072
11073</div>
11074</div>
11075<a class="anchor" id="ae5f4dd9f672832f7dce02fc14487f544"></a>
11076<div class="memitem">
11077<div class="memproto">
11078 <table class="memname">
11079 <tr>
11080 <td class="memname">std::string arm_compute::get_data_size_from_data_type </td>
11081 <td>(</td>
11082 <td class="paramtype">const DataType &amp;&#160;</td>
11083 <td class="paramname"><em>dt</em></td><td>)</td>
11084 <td></td>
11085 </tr>
11086 </table>
11087</div><div class="memdoc">
11088
11089<p>Get the size of a data type in number of bits. </p>
11090<dl class="params"><dt>Parameters</dt><dd>
11091 <table class="params">
11092 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>.</td></tr>
11093 </table>
11094 </dd>
11095</dl>
11096<dl class="section return"><dt>Returns</dt><dd>Number of bits in the data type specified. </dd></dl>
11097
11098</div>
11099</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011100<a class="anchor" id="a9d0143bdde8255313aae6ac020dd629c"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000011101<div class="memitem">
11102<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000011103 <table class="memname">
11104 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011105 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_target_from_device </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011106 <td>(</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011107 <td class="paramtype">cl::Device &amp;&#160;</td>
11108 <td class="paramname"><em>device</em></td><td>)</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011109 <td></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011110 </tr>
11111 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000011112</div><div class="memdoc">
11113
Anthony Barbierdbdab852017-06-23 15:42:00 +010011114<p>Helper function to get the GPU target from CL device. </p>
11115<dl class="params"><dt>Parameters</dt><dd>
11116 <table class="params">
11117 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
11118 </table>
11119 </dd>
11120</dl>
11121<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000011122
Kaizenbf8b01d2017-10-12 14:26:51 +010011123<p>Referenced by <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00107">CLScheduler::init()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011124
Anthony Barbier871448e2017-03-24 14:54:29 +000011125</div>
11126</div>
Kaizen8938bd32017-09-28 14:38:23 +010011127<a class="anchor" id="afc95473636a442507fda7ad48f3414c0"></a>
11128<div class="memitem">
11129<div class="memproto">
11130 <table class="memname">
11131 <tr>
11132 <td class="memname">std::string arm_compute::get_underlying_cl_type_from_data_type </td>
11133 <td>(</td>
11134 <td class="paramtype">const DataType &amp;&#160;</td>
11135 <td class="paramname"><em>dt</em></td><td>)</td>
11136 <td></td>
11137 </tr>
11138 </table>
11139</div><div class="memdoc">
11140
11141<p>Translates fixed point tensor data type to the underlying OpenCL type. </p>
11142<dl class="params"><dt>Parameters</dt><dd>
11143 <table class="params">
11144 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> to be translated to OpenCL type.</td></tr>
11145 </table>
11146 </dd>
11147</dl>
11148<dl class="section return"><dt>Returns</dt><dd>The string specifying the underlying OpenCL type to be used. </dd></dl>
11149
11150</div>
11151</div>
11152<a class="anchor" id="ad34f2150f1c9f8a3ecb7298162124e5d"></a>
11153<div class="memitem">
11154<div class="memproto">
11155<table class="mlabels">
11156 <tr>
11157 <td class="mlabels-left">
11158 <table class="memname">
11159 <tr>
11160 <td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> index2coords </td>
11161 <td>(</td>
11162 <td class="paramtype">const TensorShape &amp;&#160;</td>
11163 <td class="paramname"><em>shape</em>, </td>
11164 </tr>
11165 <tr>
11166 <td class="paramkey"></td>
11167 <td></td>
11168 <td class="paramtype">int&#160;</td>
11169 <td class="paramname"><em>index</em>&#160;</td>
11170 </tr>
11171 <tr>
11172 <td></td>
11173 <td>)</td>
11174 <td></td><td></td>
11175 </tr>
11176 </table>
11177 </td>
11178 <td class="mlabels-right">
11179<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11180 </tr>
11181</table>
11182</div><div class="memdoc">
11183
11184<p>Convert a linear index into n-dimensional coordinates. </p>
11185<dl class="params"><dt>Parameters</dt><dd>
11186 <table class="params">
11187 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
11188 <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Linear index specifying the i-th element.</td></tr>
11189 </table>
11190 </dd>
11191</dl>
11192<dl class="section return"><dt>Returns</dt><dd>n-dimensional coordinates. </dd></dl>
11193
11194<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00288">288</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
11195
11196<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
11197<div class="fragment"><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;{</div>
11198<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordtype">int</span> num_elements = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.total_size();</div>
11199<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div>
11200<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(index &lt; 0 || index &gt;= num_elements, <span class="stringliteral">&quot;Index has to be in [0, num_elements]!&quot;</span>);</div>
11201<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">&quot;Cannot create coordinate from empty shape!&quot;</span>);</div>
11202<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div>
11203<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; Coordinates coord{ 0 };</div>
11204<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div>
11205<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> d = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.num_dimensions() - 1; d &gt;= 0; --d)</div>
11206<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
11207<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; num_elements /= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div>
11208<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; coord.set(d, index / num_elements);</div>
11209<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; index %= num_elements;</div>
11210<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
11211<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div>
11212<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">return</span> coord;</div>
11213<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;}</div>
11214<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
11215<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00115">Error.h:115</a></div></div>
11216</div><!-- fragment -->
11217</div>
11218</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011219<a class="anchor" id="a3bb1b3d01f14dbc0beb1e826eefeddc6"></a>
11220<div class="memitem">
11221<div class="memproto">
11222 <table class="memname">
11223 <tr>
11224 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> arm_compute::intersect_valid_regions </td>
11225 <td>(</td>
11226 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11227 <td class="paramname"><em>regions</em></td><td>)</td>
11228 <td></td>
11229 </tr>
11230 </table>
11231</div><div class="memdoc">
11232
11233<p>Intersect multiple valid regions. </p>
11234<dl class="params"><dt>Parameters</dt><dd>
11235 <table class="params">
11236 <tr><td class="paramdir">[in]</td><td class="paramname">regions</td><td>Valid regions.</td></tr>
11237 </table>
11238 </dd>
11239</dl>
11240<dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
11241
Kaizen8938bd32017-09-28 14:38:23 +010011242<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00403">403</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011243
Kaizen8938bd32017-09-28 14:38:23 +010011244<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00123">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00230">foldl()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00124">ValidRegion::shape</a>.</p>
11245<div class="fragment"><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;{</div>
11246<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keyword">auto</span> intersect = [](<span class="keyword">const</span> ValidRegion &amp; r1, <span class="keyword">const</span> ValidRegion &amp; r2) -&gt; ValidRegion</div>
11247<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div>
11248<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; ValidRegion region;</div>
11249<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;</div>
11250<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d &lt; <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div>
11251<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div>
11252<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; region.anchor.set(d, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(r1.anchor[d], r2.anchor[d]));</div>
11253<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div>
11254<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;</div>
11255<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d &lt; <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div>
11256<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; {</div>
11257<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; region.shape.set(d, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape[d], r2.shape[d]));</div>
11258<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div>
11259<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;</div>
11260<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">return</span> region;</div>
11261<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; };</div>
11262<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div>
11263<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a>(intersect, std::forward&lt;Ts&gt;(regions)...);</div>
11264<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;}</div>
11265<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
11266<div class="ttc" id="namespacearm__compute_xhtml_a05d0de315da2ecf1fa7d22ffad49b254"><div class="ttname"><a href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">arm_compute::foldl</a></div><div class="ttdeci">I foldl(F &amp;&amp;func, I &amp;&amp;initial, T &amp;&amp;value, Vs &amp;&amp;...values)</div><div class="ttdoc">Fold left. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">Helpers.h:253</a></div></div>
11267<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011268</div><!-- fragment -->
11269</div>
11270</div>
11271<a class="anchor" id="ab6bb62694ae8369d18a9c9687040975e"></a>
11272<div class="memitem">
11273<div class="memproto">
11274<table class="mlabels">
11275 <tr>
11276 <td class="mlabels-left">
11277 <table class="memname">
11278 <tr>
11279 <td class="memname">bool arm_compute::is_data_type_fixed_point </td>
11280 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011281 <td class="paramtype">DataType&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011282 <td class="paramname"><em>dt</em></td><td>)</td>
11283 <td></td>
11284 </tr>
11285 </table>
11286 </td>
11287 <td class="mlabels-right">
11288<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11289 </tr>
11290</table>
11291</div><div class="memdoc">
11292
11293<p>Check if a given data type is of fixed point type. </p>
11294<dl class="params"><dt>Parameters</dt><dd>
11295 <table class="params">
11296 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
11297 </table>
11298 </dd>
11299</dl>
11300<dl class="section return"><dt>Returns</dt><dd>True if data type is of fixed point type, else false. </dd></dl>
11301
Kaizenbf8b01d2017-10-12 14:26:51 +010011302<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00683">683</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011303
Kaizen8938bd32017-09-28 14:38:23 +010011304<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
11305
11306<p>Referenced by <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00064">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_flatten_layer_fixture_8h_source.xhtml#l00051">FlattenLayerValidationFixture&lt; TensorType, AccessorType, FunctionType, T &gt;::setup()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011307<div class="fragment"><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;{</div>
11308<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">switch</span>(dt)</div>
11309<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; {</div>
11310<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div>
11311<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div>
11312<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">case</span> DataType::QS32:</div>
11313<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
11314<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">default</span>:</div>
11315<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
11316<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; }</div>
11317<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010011318</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011319</div>
11320</div>
11321<a class="anchor" id="af5982a092e9eb743fce2d6392bdd8897"></a>
11322<div class="memitem">
11323<div class="memproto">
11324<table class="mlabels">
11325 <tr>
11326 <td class="mlabels-left">
11327 <table class="memname">
11328 <tr>
11329 <td class="memname">bool arm_compute::is_data_type_float </td>
11330 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011331 <td class="paramtype">DataType&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011332 <td class="paramname"><em>dt</em></td><td>)</td>
11333 <td></td>
11334 </tr>
11335 </table>
11336 </td>
11337 <td class="mlabels-right">
11338<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11339 </tr>
11340</table>
11341</div><div class="memdoc">
11342
Anthony Barbierdbdab852017-06-23 15:42:00 +010011343<p>Check if a given data type is of floating point type. </p>
11344<dl class="params"><dt>Parameters</dt><dd>
11345 <table class="params">
11346 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
11347 </table>
11348 </dd>
11349</dl>
11350<dl class="section return"><dt>Returns</dt><dd>True if data type is of floating point type, else false. </dd></dl>
11351
Kaizenbf8b01d2017-10-12 14:26:51 +010011352<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00665">665</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011353
11354<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011355<div class="fragment"><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;{</div>
11356<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">switch</span>(dt)</div>
11357<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; {</div>
11358<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div>
11359<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div>
11360<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
11361<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">default</span>:</div>
11362<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
11363<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; }</div>
11364<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010011365</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011366</div>
11367</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011368<a class="anchor" id="a532fb45c0261724a4c2e755cfd3a44e6"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000011369<div class="memitem">
11370<div class="memproto">
11371 <table class="memname">
11372 <tr>
11373 <td class="memname">std::string arm_compute::lower_string </td>
11374 <td>(</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011375 <td class="paramtype">const std::string &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011376 <td class="paramname"><em>val</em></td><td>)</td>
11377 <td></td>
11378 </tr>
11379 </table>
11380</div><div class="memdoc">
11381
11382<p>Lower a given string. </p>
11383<dl class="params"><dt>Parameters</dt><dd>
11384 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010011385 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Given string to lower.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000011386 </table>
11387 </dd>
11388</dl>
11389<dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
11390
Anthony Barbier871448e2017-03-24 14:54:29 +000011391</div>
11392</div>
Anthony Barbiera4376382017-04-12 15:12:46 +010011393<a class="anchor" id="ac3f2de3a35ff8d9a47b5b793637784e7"></a>
11394<div class="memitem">
11395<div class="memproto">
11396 <table class="memname">
11397 <tr>
11398 <td class="memname">int arm_compute::max_consecutive_elements_display_width </td>
11399 <td>(</td>
11400 <td class="paramtype">std::ostream &amp;&#160;</td>
11401 <td class="paramname"><em>s</em>, </td>
11402 </tr>
11403 <tr>
11404 <td class="paramkey"></td>
11405 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011406 <td class="paramtype">DataType&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010011407 <td class="paramname"><em>dt</em>, </td>
11408 </tr>
11409 <tr>
11410 <td class="paramkey"></td>
11411 <td></td>
11412 <td class="paramtype">const uint8_t *&#160;</td>
11413 <td class="paramname"><em>ptr</em>, </td>
11414 </tr>
11415 <tr>
11416 <td class="paramkey"></td>
11417 <td></td>
11418 <td class="paramtype">unsigned int&#160;</td>
11419 <td class="paramname"><em>n</em>&#160;</td>
11420 </tr>
11421 <tr>
11422 <td></td>
11423 <td>)</td>
11424 <td></td><td></td>
11425 </tr>
11426 </table>
11427</div><div class="memdoc">
11428
11429<p>Identify the maximum width of n consecutive elements. </p>
11430<dl class="params"><dt>Parameters</dt><dd>
11431 <table class="params">
11432 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
11433 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
11434 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
11435 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print.</td></tr>
11436 </table>
11437 </dd>
11438</dl>
11439<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
11440
Anthony Barbiera4376382017-04-12 15:12:46 +010011441</div>
11442</div>
11443<a class="anchor" id="aaecee617b967dd96f27d2f36732fb68e"></a>
11444<div class="memitem">
11445<div class="memproto">
11446 <table class="memname">
11447 <tr>
11448 <td class="memname">int arm_compute::max_consecutive_elements_display_width_impl </td>
11449 <td>(</td>
11450 <td class="paramtype">std::ostream &amp;&#160;</td>
11451 <td class="paramname"><em>s</em>, </td>
11452 </tr>
11453 <tr>
11454 <td class="paramkey"></td>
11455 <td></td>
11456 <td class="paramtype">const T *&#160;</td>
11457 <td class="paramname"><em>ptr</em>, </td>
11458 </tr>
11459 <tr>
11460 <td class="paramkey"></td>
11461 <td></td>
11462 <td class="paramtype">unsigned int&#160;</td>
11463 <td class="paramname"><em>n</em>&#160;</td>
11464 </tr>
11465 <tr>
11466 <td></td>
11467 <td>)</td>
11468 <td></td><td></td>
11469 </tr>
11470 </table>
11471</div><div class="memdoc">
11472
11473<p>Identify the maximum width of n consecutive elements. </p>
11474<dl class="params"><dt>Parameters</dt><dd>
11475 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010011476 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The output stream which will be used to print the elements. Used to extract the stream format. </td></tr>
11477 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the elements. </td></tr>
11478 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements.</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +010011479 </table>
11480 </dd>
11481</dl>
11482<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
11483
Kaizenbf8b01d2017-10-12 14:26:51 +010011484<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00743">743</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbiera4376382017-04-12 15:12:46 +010011485
Kaizen8938bd32017-09-28 14:38:23 +010011486<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011487<div class="fragment"><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;{</div>
11488<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keyword">using</span> print_type = <span class="keyword">typename</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">std::conditional&lt;std::is_floating_point&lt;T&gt;::value</a>, T, <span class="keywordtype">int</span>&gt;<a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">::type</a>;</div>
11489<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;</div>
11490<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordtype">int</span> max_width = -1;</div>
11491<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div>
11492<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; {</div>
11493<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; std::stringstream ss;</div>
11494<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; ss.copyfmt(s);</div>
11495<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; ss &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]);</div>
11496<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; max_width = std::max&lt;int&gt;(max_width, ss.str().size());</div>
11497<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div>
11498<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">return</span> max_width;</div>
11499<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010011500<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
11501<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
11502</div><!-- fragment -->
11503</div>
11504</div>
11505<a class="anchor" id="aa2499c7ccf5b1636360a9ac6cc52a67b"></a>
11506<div class="memitem">
11507<div class="memproto">
11508 <table class="memname">
11509 <tr>
11510 <td class="memname">bool arm_compute::non_uniform_workgroup_support </td>
11511 <td>(</td>
11512 <td class="paramtype">const cl::Device &amp;&#160;</td>
11513 <td class="paramname"><em>device</em></td><td>)</td>
11514 <td></td>
11515 </tr>
11516 </table>
11517</div><div class="memdoc">
11518
11519<p>Helper function to check whether the arm_non_uniform_work_group_size extension is supported. </p>
11520<dl class="params"><dt>Parameters</dt><dd>
11521 <table class="params">
11522 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
11523 </table>
11524 </dd>
11525</dl>
11526<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
11527
Anthony Barbiera4376382017-04-12 15:12:46 +010011528</div>
11529</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011530<a class="anchor" id="ab14153fb809c18823af3c9c8bc4286cb"></a>
11531<div class="memitem">
11532<div class="memproto">
11533<table class="mlabels">
11534 <tr>
11535 <td class="mlabels-left">
11536 <table class="memname">
11537 <tr>
11538 <td class="memname">size_t arm_compute::num_channels_from_format </td>
11539 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011540 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011541 <td class="paramname"><em>format</em></td><td>)</td>
11542 <td></td>
11543 </tr>
11544 </table>
11545 </td>
11546 <td class="mlabels-right">
11547<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11548 </tr>
11549</table>
11550</div><div class="memdoc">
11551
11552<p>Return the number of channels for a given single-planar pixel format. </p>
11553<dl class="params"><dt>Parameters</dt><dd>
11554 <table class="params">
11555 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
11556 </table>
11557 </dd>
11558</dl>
11559<dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
11560
Kaizenbf8b01d2017-10-12 14:26:51 +010011561<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00314">314</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011562
11563<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011564<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;{</div>
11565<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">switch</span>(format)</div>
11566<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div>
11567<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
11568<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
11569<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
11570<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
11571<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
11572<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
11573<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
11574<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span> 1;</div>
11575<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="comment">// Because the U and V channels are subsampled</span></div>
11576<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="comment">// these formats appear like having only 2 channels:</span></div>
11577<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
11578<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
11579<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">return</span> 2;</div>
11580<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div>
11581<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">return</span> 2;</div>
11582<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
11583<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> 3;</div>
11584<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
11585<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> 4;</div>
11586<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div>
11587<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
11588<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
11589<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
11590<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
11591<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">default</span>:</div>
11592<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">return</span> 0;</div>
11593<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; }</div>
11594<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010011595</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000011596</div>
11597</div>
11598<a class="anchor" id="a2a71659def659c8b1c164023a99a25a9"></a>
11599<div class="memitem">
11600<div class="memproto">
11601<table class="mlabels">
11602 <tr>
11603 <td class="mlabels-left">
11604 <table class="memname">
11605 <tr>
11606 <td class="memname">size_t arm_compute::num_planes_from_format </td>
11607 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010011608 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011609 <td class="paramname"><em>format</em></td><td>)</td>
11610 <td></td>
11611 </tr>
11612 </table>
11613 </td>
11614 <td class="mlabels-right">
11615<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11616 </tr>
11617</table>
11618</div><div class="memdoc">
11619
11620<p>Return the number of planes for a given format. </p>
11621<dl class="params"><dt>Parameters</dt><dd>
11622 <table class="params">
11623 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
11624 </table>
11625 </dd>
11626</dl>
11627<dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
11628
Kaizenbf8b01d2017-10-12 14:26:51 +010011629<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00280">280</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011630
11631<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011632<div class="fragment"><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;{</div>
11633<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">switch</span>(format)</div>
11634<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; {</div>
11635<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
11636<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
11637<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
11638<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
11639<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
11640<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
11641<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
11642<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
11643<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
11644<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
11645<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
11646<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> 1;</div>
11647<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
11648<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
11649<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">return</span> 2;</div>
11650<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
11651<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
11652<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> 3;</div>
11653<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">default</span>:</div>
11654<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div>
11655<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">return</span> 0;</div>
11656<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div>
11657<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010011658<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011659</div><!-- fragment -->
11660</div>
11661</div>
Anthony Barbier46d59272017-05-04 09:15:15 +010011662<a class="anchor" id="aa4f4d7a58287017588fc338965873f14"></a>
11663<div class="memitem">
11664<div class="memproto">
11665 <table class="memname">
11666 <tr>
11667 <td class="memname">bool arm_compute::opencl_is_available </td>
11668 <td>(</td>
11669 <td class="paramname"></td><td>)</td>
11670 <td></td>
11671 </tr>
11672 </table>
11673</div><div class="memdoc">
11674
Kaizenbf8b01d2017-10-12 14:26:51 +010011675<p>Referenced by <a class="el" href="graph__alexnet_8cpp_source.xhtml#l00071">main_graph_alexnet()</a>, and <a class="el" href="graph__lenet_8cpp_source.xhtml#l00070">main_graph_lenet()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010011676
Anthony Barbier46d59272017-05-04 09:15:15 +010011677</div>
11678</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011679<a class="anchor" id="adfe7525e3cd542da6c043a98f93a8d3c"></a>
11680<div class="memitem">
11681<div class="memproto">
11682 <table class="memname">
11683 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010011684 <td class="memname">std::enable_if&lt;<a class="el" href="structarm__compute_1_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a>&lt;T&gt;::<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T&gt;::type arm_compute::operator&amp; </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011685 <td>(</td>
11686 <td class="paramtype">T&#160;</td>
11687 <td class="paramname"><em>lhs</em>, </td>
11688 </tr>
11689 <tr>
11690 <td class="paramkey"></td>
11691 <td></td>
11692 <td class="paramtype">T&#160;</td>
11693 <td class="paramname"><em>rhs</em>&#160;</td>
11694 </tr>
11695 <tr>
11696 <td></td>
11697 <td>)</td>
11698 <td></td><td></td>
11699 </tr>
11700 </table>
11701</div><div class="memdoc">
11702
Kaizen8938bd32017-09-28 14:38:23 +010011703<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00058">58</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
11704
11705<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>.</p>
11706<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
11707<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">using</span> underlying_type = <span class="keyword">typename</span> <a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">std::underlying_type&lt;T&gt;::type</a>;</div>
11708<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span>underlying_type<span class="keyword">&gt;</span>(lhs) &amp; static_cast&lt;underlying_type&gt;(rhs));</div>
11709<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}</div>
11710<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
11711</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010011712</div>
11713</div>
11714<a class="anchor" id="a18d43401e8f84ed020429b41ec4e99f5"></a>
11715<div class="memitem">
11716<div class="memproto">
11717 <table class="memname">
11718 <tr>
11719 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11720 <td>(</td>
11721 <td class="paramtype">::std::ostream &amp;&#160;</td>
11722 <td class="paramname"><em>os</em>, </td>
11723 </tr>
11724 <tr>
11725 <td class="paramkey"></td>
11726 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011727 <td class="paramtype">const Dimensions&lt; T &gt; &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011728 <td class="paramname"><em>dimensions</em>&#160;</td>
11729 </tr>
11730 <tr>
11731 <td></td>
11732 <td>)</td>
11733 <td></td><td></td>
11734 </tr>
11735 </table>
11736</div><div class="memdoc">
11737
11738<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. </p>
11739
Kaizenbf8b01d2017-10-12 14:26:51 +010011740<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
11741<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
11742<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">if</span>(dimensions.num_dimensions() &gt; 0)</div>
11743<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; {</div>
11744<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; os &lt;&lt; dimensions[0];</div>
11745<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
11746<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 1; d &lt; dimensions.num_dimensions(); ++d)</div>
11747<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
11748<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; dimensions[d];</div>
11749<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
11750<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; }</div>
11751<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
11752<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> os;</div>
11753<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011754</div><!-- fragment -->
11755</div>
11756</div>
Kaizen8938bd32017-09-28 14:38:23 +010011757<a class="anchor" id="ae8c2a3451bcf739a75aa7438e7a78d45"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011758<div class="memitem">
11759<div class="memproto">
11760 <table class="memname">
11761 <tr>
11762 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11763 <td>(</td>
11764 <td class="paramtype">::std::ostream &amp;&#160;</td>
11765 <td class="paramname"><em>os</em>, </td>
11766 </tr>
11767 <tr>
11768 <td class="paramkey"></td>
11769 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011770 <td class="paramtype">const NonLinearFilterFunction &amp;&#160;</td>
11771 <td class="paramname"><em>function</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011772 </tr>
11773 <tr>
11774 <td></td>
11775 <td>)</td>
11776 <td></td><td></td>
11777 </tr>
11778 </table>
11779</div><div class="memdoc">
11780
Kaizen8938bd32017-09-28 14:38:23 +010011781<p>Formatted output of the NonLinearFilterFunction type. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011782
Kaizenbf8b01d2017-10-12 14:26:51 +010011783<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00058">58</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011784
Kaizen8938bd32017-09-28 14:38:23 +010011785<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011786<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
11787<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">switch</span>(<span class="keyword">function</span>)</div>
11788<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
11789<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MAX:</div>
11790<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div>
Kaizen8938bd32017-09-28 14:38:23 +010011791<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">break</span>;</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010011792<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MEDIAN:</div>
11793<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MEDIAN&quot;</span>;</div>
Kaizen8938bd32017-09-28 14:38:23 +010011794<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">break</span>;</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010011795<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MIN:</div>
11796<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MIN&quot;</span>;</div>
11797<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">break</span>;</div>
11798<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">default</span>:</div>
11799<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
11800<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div>
11801<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
11802<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> os;</div>
11803<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010011804<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011805</div><!-- fragment -->
11806</div>
11807</div>
Kaizen8938bd32017-09-28 14:38:23 +010011808<a class="anchor" id="acec416ec5af175a7aad47a518fefb770"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011809<div class="memitem">
11810<div class="memproto">
11811 <table class="memname">
11812 <tr>
11813 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11814 <td>(</td>
11815 <td class="paramtype">::std::ostream &amp;&#160;</td>
11816 <td class="paramname"><em>os</em>, </td>
11817 </tr>
11818 <tr>
11819 <td class="paramkey"></td>
11820 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011821 <td class="paramtype">const MatrixPattern &amp;&#160;</td>
11822 <td class="paramname"><em>pattern</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011823 </tr>
11824 <tr>
11825 <td></td>
11826 <td>)</td>
11827 <td></td><td></td>
11828 </tr>
11829 </table>
11830</div><div class="memdoc">
11831
Kaizen8938bd32017-09-28 14:38:23 +010011832<p>Formatted output of the MatrixPattern type. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011833
Kaizenbf8b01d2017-10-12 14:26:51 +010011834<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00086">86</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011835
Kaizen8938bd32017-09-28 14:38:23 +010011836<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, and <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011837<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{</div>
11838<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">switch</span>(pattern)</div>
11839<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
11840<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">case</span> MatrixPattern::BOX:</div>
11841<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BOX&quot;</span>;</div>
Kaizen8938bd32017-09-28 14:38:23 +010011842<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">break</span>;</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010011843<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">case</span> MatrixPattern::CROSS:</div>
11844<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CROSS&quot;</span>;</div>
Kaizen8938bd32017-09-28 14:38:23 +010011845<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">break</span>;</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010011846<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">case</span> MatrixPattern::DISK:</div>
11847<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;DISK&quot;</span>;</div>
Kaizen8938bd32017-09-28 14:38:23 +010011848<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">break</span>;</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010011849<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">case</span> MatrixPattern::OTHER:</div>
11850<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;OTHER&quot;</span>;</div>
11851<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">break</span>;</div>
11852<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">default</span>:</div>
11853<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
11854<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div>
11855<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
11856<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> os;</div>
11857<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010011858<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011859</div><!-- fragment -->
11860</div>
11861</div>
11862<a class="anchor" id="a295edc9f8caf95838db2c5e251153514"></a>
11863<div class="memitem">
11864<div class="memproto">
11865 <table class="memname">
11866 <tr>
11867 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11868 <td>(</td>
11869 <td class="paramtype">::std::ostream &amp;&#160;</td>
11870 <td class="paramname"><em>os</em>, </td>
11871 </tr>
11872 <tr>
11873 <td class="paramkey"></td>
11874 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010011875 <td class="paramtype">const RoundingPolicy &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011876 <td class="paramname"><em>rounding_policy</em>&#160;</td>
11877 </tr>
11878 <tr>
11879 <td></td>
11880 <td>)</td>
11881 <td></td><td></td>
11882 </tr>
11883 </table>
11884</div><div class="memdoc">
11885
11886<p>Formatted output of the RoundingPolicy type. </p>
11887
Kaizenbf8b01d2017-10-12 14:26:51 +010011888<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00117">117</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011889
11890<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, and <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011891<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;{</div>
11892<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">switch</span>(rounding_policy)</div>
11893<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
11894<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div>
11895<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_ZERO&quot;</span>;</div>
Kaizen8938bd32017-09-28 14:38:23 +010011896<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">break</span>;</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010011897<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</div>
11898<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_UP&quot;</span>;</div>
Kaizen8938bd32017-09-28 14:38:23 +010011899<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">break</span>;</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010011900<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_EVEN:</div>
11901<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_EVEN&quot;</span>;</div>
11902<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">break</span>;</div>
11903<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">default</span>:</div>
11904<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
11905<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div>
11906<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div>
11907<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> os;</div>
11908<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010011909<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
11910</div><!-- fragment -->
11911</div>
11912</div>
11913<a class="anchor" id="a5972c7131d378f567af9c2961f088a0b"></a>
11914<div class="memitem">
11915<div class="memproto">
11916 <table class="memname">
11917 <tr>
11918 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11919 <td>(</td>
11920 <td class="paramtype">::std::ostream &amp;&#160;</td>
11921 <td class="paramname"><em>os</em>, </td>
11922 </tr>
11923 <tr>
11924 <td class="paramkey"></td>
11925 <td></td>
11926 <td class="paramtype">const WeightsInfo &amp;&#160;</td>
11927 <td class="paramname"><em>weights_info</em>&#160;</td>
11928 </tr>
11929 <tr>
11930 <td></td>
11931 <td>)</td>
11932 <td></td><td></td>
11933 </tr>
11934 </table>
11935</div><div class="memdoc">
11936
11937<p>Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. </p>
11938
Kaizenbf8b01d2017-10-12 14:26:51 +010011939<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00138">138</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010011940
11941<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00641">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00657">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00649">WeightsInfo::num_kernels()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011942<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;{</div>
11943<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; os &lt;&lt; weights_info.are_reshaped() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div>
11944<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; os &lt;&lt; weights_info.num_kernels() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span> &lt;&lt; weights_info.kernel_size().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; weights_info.kernel_size().second;</div>
11945<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
11946<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> os;</div>
11947<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010011948</div><!-- fragment -->
11949</div>
11950</div>
11951<a class="anchor" id="a352b805b77fde4f32f44af271580677b"></a>
11952<div class="memitem">
11953<div class="memproto">
11954 <table class="memname">
11955 <tr>
11956 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11957 <td>(</td>
11958 <td class="paramtype">::std::ostream &amp;&#160;</td>
11959 <td class="paramname"><em>os</em>, </td>
11960 </tr>
11961 <tr>
11962 <td class="paramkey"></td>
11963 <td></td>
11964 <td class="paramtype">const ROIPoolingLayerInfo &amp;&#160;</td>
11965 <td class="paramname"><em>pool_info</em>&#160;</td>
11966 </tr>
11967 <tr>
11968 <td></td>
11969 <td>)</td>
11970 <td></td><td></td>
11971 </tr>
11972 </table>
11973</div><div class="memdoc">
11974
11975<p>Formatted output of the ROIPoolingInfo type. </p>
11976
Kaizenbf8b01d2017-10-12 14:26:51 +010011977<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00147">147</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010011978
11979<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00495">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00491">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00499">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010011980<div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;{</div>
11981<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; os &lt;&lt; pool_info.pooled_width() &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; pool_info.pooled_height() &lt;&lt; <span class="stringliteral">&quot;~&quot;</span> &lt;&lt; pool_info.spatial_scale();</div>
11982<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> os;</div>
11983<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div>
11984</div><!-- fragment -->
11985</div>
11986</div>
11987<a class="anchor" id="a2abb76fe917828983d666628badab08d"></a>
11988<div class="memitem">
11989<div class="memproto">
11990 <table class="memname">
11991 <tr>
11992 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
11993 <td>(</td>
11994 <td class="paramtype">::std::ostream &amp;&#160;</td>
11995 <td class="paramname"><em>os</em>, </td>
11996 </tr>
11997 <tr>
11998 <td class="paramkey"></td>
11999 <td></td>
12000 <td class="paramtype">const FixedPointOp &amp;&#160;</td>
12001 <td class="paramname"><em>op</em>&#160;</td>
12002 </tr>
12003 <tr>
12004 <td></td>
12005 <td>)</td>
12006 <td></td><td></td>
12007 </tr>
12008 </table>
12009</div><div class="memdoc">
12010
12011<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00153">153</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12012
12013<p>References <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d">ADD</a>, <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>, and <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb">SUB</a>.</p>
12014<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;{</div>
12015<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">switch</span>(op)</div>
12016<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; {</div>
12017<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">FixedPointOp::ADD</a>:</div>
12018<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;ADD&quot;</span>;</div>
12019<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">break</span>;</div>
12020<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">FixedPointOp::SUB</a>:</div>
12021<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SUB&quot;</span>;</div>
12022<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">break</span>;</div>
12023<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">case</span> FixedPointOp::MUL:</div>
12024<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MUL&quot;</span>;</div>
12025<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">break</span>;</div>
12026<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">case</span> FixedPointOp::EXP:</div>
12027<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;EXP&quot;</span>;</div>
12028<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">break</span>;</div>
12029<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">case</span> FixedPointOp::LOG:</div>
12030<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LOG&quot;</span>;</div>
12031<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">break</span>;</div>
12032<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">case</span> FixedPointOp::INV_SQRT:</div>
12033<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;INV_SQRT&quot;</span>;</div>
12034<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">break</span>;</div>
12035<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">case</span> FixedPointOp::RECIPROCAL:</div>
12036<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RECIPROCAL&quot;</span>;</div>
12037<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">break</span>;</div>
12038<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">default</span>:</div>
12039<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12040<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
12041<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div>
12042<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> os;</div>
12043<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div>
12044<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12045<div class="ttc" id="arithmetic__op_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00034">arithmetic_op.cl:34</a></div></div>
12046<div class="ttc" id="arithmetic__op_8cl_xhtml_aafc2c4f262a0686c07f86c7d2e1d8d14"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a></div><div class="ttdeci">#define SUB(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00035">arithmetic_op.cl:35</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010012047</div><!-- fragment -->
12048</div>
12049</div>
12050<a class="anchor" id="a9d79efe2673aeb3f9a9160b6a78de50c"></a>
12051<div class="memitem">
12052<div class="memproto">
12053 <table class="memname">
12054 <tr>
12055 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12056 <td>(</td>
12057 <td class="paramtype">::std::ostream &amp;&#160;</td>
12058 <td class="paramname"><em>os</em>, </td>
12059 </tr>
12060 <tr>
12061 <td class="paramkey"></td>
12062 <td></td>
12063 <td class="paramtype">const ActivationLayerInfo::ActivationFunction &amp;&#160;</td>
12064 <td class="paramname"><em>act_function</em>&#160;</td>
12065 </tr>
12066 <tr>
12067 <td></td>
12068 <td>)</td>
12069 <td></td><td></td>
12070 </tr>
12071 </table>
12072</div><div class="memdoc">
12073
12074<p>Formatted output of the activation function type. </p>
12075
Kaizenbf8b01d2017-10-12 14:26:51 +010012076<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00193">193</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012077
12078<p>References <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa7d8a220d2262f9d6c658d549ee12cf2c">ActivationLayerInfo::ABS</a>, <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaacc516ab03b98f1c908ddf6ed4a7c45e9">ActivationLayerInfo::BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaac7e80a3de04936f4e423e1b564fdca10">ActivationLayerInfo::LEAKY_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaaac544aacc3615aada24897a215f5046">ActivationLayerInfo::LINEAR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa72ee60fba0509af07cbbd91398d8db9d">ActivationLayerInfo::LOGISTIC</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaab1d4411a9e7f5e82002512cddfdc33a">ActivationLayerInfo::LU_BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaad346bb4679d29be241279f15d7795c1c">ActivationLayerInfo::RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaadcc44a50c791a591c74e00ecdda7c58d">ActivationLayerInfo::SOFT_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa36875f2500a09ee35d0bb7eb8c0b91b0">ActivationLayerInfo::SQRT</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa12dec4e1f7ec620651b2b95c440ffac0">ActivationLayerInfo::SQUARE</a>, and <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa143c8c6f51b9bb893ce71e38702e3cc1">ActivationLayerInfo::TANH</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012079<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;{</div>
12080<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">switch</span>(act_function)</div>
12081<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
12082<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div>
12083<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;ABS&quot;</span>;</div>
12084<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">break</span>;</div>
12085<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div>
12086<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LINEAR&quot;</span>;</div>
12087<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">break</span>;</div>
12088<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div>
12089<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LOGISTIC&quot;</span>;</div>
12090<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">break</span>;</div>
12091<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div>
12092<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RELU&quot;</span>;</div>
12093<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">break</span>;</div>
12094<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div>
12095<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BOUNDED_RELU&quot;</span>;</div>
12096<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">break</span>;</div>
12097<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div>
12098<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LEAKY_RELU&quot;</span>;</div>
12099<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">break</span>;</div>
12100<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div>
12101<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SOFT_RELU&quot;</span>;</div>
12102<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">break</span>;</div>
12103<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div>
12104<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQRT&quot;</span>;</div>
12105<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">break</span>;</div>
12106<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div>
12107<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LU_BOUNDED_RELU&quot;</span>;</div>
12108<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div>
12109<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQUARE&quot;</span>;</div>
12110<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">break</span>;</div>
12111<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div>
12112<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TANH&quot;</span>;</div>
12113<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">break</span>;</div>
12114<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">default</span>:</div>
12115<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12116<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div>
12117<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div>
12118<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> os;</div>
12119<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012120<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12121</div><!-- fragment -->
12122</div>
12123</div>
12124<a class="anchor" id="a2ab7370aab6e5698990c50c8871fa6fb"></a>
12125<div class="memitem">
12126<div class="memproto">
12127 <table class="memname">
12128 <tr>
12129 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12130 <td>(</td>
12131 <td class="paramtype">::std::ostream &amp;&#160;</td>
12132 <td class="paramname"><em>os</em>, </td>
12133 </tr>
12134 <tr>
12135 <td class="paramkey"></td>
12136 <td></td>
12137 <td class="paramtype">const NormType &amp;&#160;</td>
12138 <td class="paramname"><em>norm_type</em>&#160;</td>
12139 </tr>
12140 <tr>
12141 <td></td>
12142 <td>)</td>
12143 <td></td><td></td>
12144 </tr>
12145 </table>
12146</div><div class="memdoc">
12147
12148<p>Formatted output of the NormType type. </p>
12149
Kaizenbf8b01d2017-10-12 14:26:51 +010012150<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00251">251</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012151
12152<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, and <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012153<div class="fragment"><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;{</div>
12154<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">switch</span>(norm_type)</div>
12155<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; {</div>
12156<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">case</span> NormType::CROSS_MAP:</div>
12157<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CROSS_MAP&quot;</span>;</div>
12158<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">break</span>;</div>
12159<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div>
12160<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_1D&quot;</span>;</div>
12161<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">break</span>;</div>
12162<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div>
12163<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_2D&quot;</span>;</div>
12164<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">break</span>;</div>
12165<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">default</span>:</div>
12166<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12167<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div>
12168<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div>
12169<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> os;</div>
12170<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012171<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12172</div><!-- fragment -->
12173</div>
12174</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010012175<a class="anchor" id="a6e422c610c91f611590173cd595c94c5"></a>
12176<div class="memitem">
12177<div class="memproto">
12178 <table class="memname">
12179 <tr>
12180 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12181 <td>(</td>
12182 <td class="paramtype">::std::ostream &amp;&#160;</td>
12183 <td class="paramname"><em>os</em>, </td>
12184 </tr>
12185 <tr>
12186 <td class="paramkey"></td>
12187 <td></td>
12188 <td class="paramtype">const NormalizationLayerInfo &amp;&#160;</td>
12189 <td class="paramname"><em>info</em>&#160;</td>
12190 </tr>
12191 <tr>
12192 <td></td>
12193 <td>)</td>
12194 <td></td><td></td>
12195 </tr>
12196 </table>
12197</div><div class="memdoc">
12198
12199<p>Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. </p>
12200
12201<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00279">279</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
12202
12203<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00576">NormalizationLayerInfo::type()</a>.</p>
12204<div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;{</div>
12205<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.type();</div>
12206<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> os;</div>
12207<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;}</div>
12208<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
12209</div><!-- fragment -->
12210</div>
12211</div>
Kaizen8938bd32017-09-28 14:38:23 +010012212<a class="anchor" id="a336cf1e870f467e44c184587a13feeec"></a>
12213<div class="memitem">
12214<div class="memproto">
12215 <table class="memname">
12216 <tr>
12217 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12218 <td>(</td>
12219 <td class="paramtype">::std::ostream &amp;&#160;</td>
12220 <td class="paramname"><em>os</em>, </td>
12221 </tr>
12222 <tr>
12223 <td class="paramkey"></td>
12224 <td></td>
12225 <td class="paramtype">const PoolingType &amp;&#160;</td>
12226 <td class="paramname"><em>pool_type</em>&#160;</td>
12227 </tr>
12228 <tr>
12229 <td></td>
12230 <td>)</td>
12231 <td></td><td></td>
12232 </tr>
12233 </table>
12234</div><div class="memdoc">
12235
12236<p>Formatted output of the PoolingType type. </p>
12237
Kaizenbf8b01d2017-10-12 14:26:51 +010012238<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00286">286</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012239
12240<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012241<div class="fragment"><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;{</div>
12242<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">switch</span>(pool_type)</div>
12243<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div>
12244<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">case</span> PoolingType::AVG:</div>
12245<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AVG&quot;</span>;</div>
12246<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">break</span>;</div>
12247<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">case</span> PoolingType::MAX:</div>
12248<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div>
12249<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">break</span>;</div>
12250<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">case</span> PoolingType::L2:</div>
12251<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2&quot;</span>;</div>
12252<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">break</span>;</div>
12253<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">default</span>:</div>
12254<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12255<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div>
12256<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div>
12257<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> os;</div>
12258<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012259<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12260</div><!-- fragment -->
12261</div>
12262</div>
12263<a class="anchor" id="ae72a61a2ca5c962ab1d37065e5598060"></a>
12264<div class="memitem">
12265<div class="memproto">
12266 <table class="memname">
12267 <tr>
12268 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12269 <td>(</td>
12270 <td class="paramtype">::std::ostream &amp;&#160;</td>
12271 <td class="paramname"><em>os</em>, </td>
12272 </tr>
12273 <tr>
12274 <td class="paramkey"></td>
12275 <td></td>
12276 <td class="paramtype">const PoolingLayerInfo &amp;&#160;</td>
12277 <td class="paramname"><em>info</em>&#160;</td>
12278 </tr>
12279 <tr>
12280 <td></td>
12281 <td>)</td>
12282 <td></td><td></td>
12283 </tr>
12284 </table>
12285</div><div class="memdoc">
12286
12287<p>Formatted output of <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a>. </p>
12288
Kaizenbf8b01d2017-10-12 14:26:51 +010012289<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00307">307</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012290
12291<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00458">PoolingLayerInfo::pool_type()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012292<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;{</div>
12293<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div>
12294<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div>
12295<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">return</span> os;</div>
12296<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012297<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012298</div><!-- fragment -->
12299</div>
12300</div>
12301<a class="anchor" id="a685af15532d70b8682bcc52f06f034f9"></a>
12302<div class="memitem">
12303<div class="memproto">
12304 <table class="memname">
12305 <tr>
12306 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12307 <td>(</td>
12308 <td class="paramtype">::std::ostream &amp;&#160;</td>
12309 <td class="paramname"><em>os</em>, </td>
12310 </tr>
12311 <tr>
12312 <td class="paramkey"></td>
12313 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012314 <td class="paramtype">const DataType &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012315 <td class="paramname"><em>data_type</em>&#160;</td>
12316 </tr>
12317 <tr>
12318 <td></td>
12319 <td>)</td>
12320 <td></td><td></td>
12321 </tr>
12322 </table>
12323</div><div class="memdoc">
12324
12325<p>Formatted output of the DataType type. </p>
12326
Kaizenbf8b01d2017-10-12 14:26:51 +010012327<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00315">315</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012328
Kaizen8938bd32017-09-28 14:38:23 +010012329<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012330<div class="fragment"><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;{</div>
12331<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div>
12332<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div>
12333<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">case</span> DataType::UNKNOWN:</div>
12334<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div>
12335<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">break</span>;</div>
12336<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div>
12337<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div>
12338<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">break</span>;</div>
12339<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">case</span> DataType::QS8:</div>
12340<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;QS8&quot;</span>;</div>
12341<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">break</span>;</div>
12342<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div>
12343<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S8&quot;</span>;</div>
12344<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">break</span>;</div>
12345<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div>
12346<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div>
12347<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">break</span>;</div>
12348<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div>
12349<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div>
12350<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">break</span>;</div>
12351<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">case</span> DataType::QS16:</div>
12352<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;QS16&quot;</span>;</div>
12353<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">break</span>;</div>
12354<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div>
12355<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div>
12356<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">break</span>;</div>
12357<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div>
12358<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div>
12359<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">break</span>;</div>
12360<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div>
12361<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U64&quot;</span>;</div>
12362<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">break</span>;</div>
12363<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div>
12364<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S64&quot;</span>;</div>
12365<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">break</span>;</div>
12366<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div>
12367<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div>
12368<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">break</span>;</div>
12369<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div>
12370<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div>
12371<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">break</span>;</div>
12372<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div>
12373<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F64&quot;</span>;</div>
12374<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">break</span>;</div>
12375<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div>
12376<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SIZET&quot;</span>;</div>
12377<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">break</span>;</div>
12378<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">default</span>:</div>
12379<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12380<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
12381<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div>
12382<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> os;</div>
12383<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012384<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12385<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012386</div><!-- fragment -->
12387</div>
12388</div>
12389<a class="anchor" id="a3b22e54b0ac0204c3b89aebcd695fa03"></a>
12390<div class="memitem">
12391<div class="memproto">
12392 <table class="memname">
12393 <tr>
12394 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12395 <td>(</td>
12396 <td class="paramtype">::std::ostream &amp;&#160;</td>
12397 <td class="paramname"><em>os</em>, </td>
12398 </tr>
12399 <tr>
12400 <td class="paramkey"></td>
12401 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012402 <td class="paramtype">const Format &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012403 <td class="paramname"><em>format</em>&#160;</td>
12404 </tr>
12405 <tr>
12406 <td></td>
12407 <td>)</td>
12408 <td></td><td></td>
12409 </tr>
12410 </table>
12411</div><div class="memdoc">
12412
12413<p>Formatted output of the Format type. </p>
12414
Kaizenbf8b01d2017-10-12 14:26:51 +010012415<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00379">379</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012416
Kaizen8938bd32017-09-28 14:38:23 +010012417<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012418<div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;{</div>
12419<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">switch</span>(format)</div>
12420<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div>
12421<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">case</span> Format::UNKNOWN:</div>
12422<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div>
12423<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">break</span>;</div>
12424<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
12425<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div>
12426<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">break</span>;</div>
12427<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
12428<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div>
12429<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">break</span>;</div>
12430<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
12431<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div>
12432<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">break</span>;</div>
12433<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
12434<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div>
12435<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">break</span>;</div>
12436<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
12437<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div>
12438<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">break</span>;</div>
12439<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
12440<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div>
12441<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">break</span>;</div>
12442<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
12443<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div>
12444<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">break</span>;</div>
12445<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div>
12446<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UV88&quot;</span>;</div>
12447<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">break</span>;</div>
12448<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
12449<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGB888&quot;</span>;</div>
12450<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">break</span>;</div>
12451<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
12452<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGBA8888&quot;</span>;</div>
12453<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">break</span>;</div>
12454<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
12455<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUV444&quot;</span>;</div>
12456<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">break</span>;</div>
12457<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
12458<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUYV422&quot;</span>;</div>
12459<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">break</span>;</div>
12460<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
12461<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV12&quot;</span>;</div>
12462<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">break</span>;</div>
12463<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
12464<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV21&quot;</span>;</div>
12465<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">break</span>;</div>
12466<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
12467<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IYUV&quot;</span>;</div>
12468<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">break</span>;</div>
12469<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
12470<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UYVY422&quot;</span>;</div>
12471<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">break</span>;</div>
12472<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">default</span>:</div>
12473<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12474<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; }</div>
12475<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div>
12476<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">return</span> os;</div>
12477<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012478<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012479</div><!-- fragment -->
12480</div>
12481</div>
12482<a class="anchor" id="aa66be15c012986ebd4c1934b97e08a36"></a>
12483<div class="memitem">
12484<div class="memproto">
12485 <table class="memname">
12486 <tr>
12487 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12488 <td>(</td>
12489 <td class="paramtype">::std::ostream &amp;&#160;</td>
12490 <td class="paramname"><em>os</em>, </td>
12491 </tr>
12492 <tr>
12493 <td class="paramkey"></td>
12494 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012495 <td class="paramtype">const Channel &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012496 <td class="paramname"><em>channel</em>&#160;</td>
12497 </tr>
12498 <tr>
12499 <td></td>
12500 <td>)</td>
12501 <td></td><td></td>
12502 </tr>
12503 </table>
12504</div><div class="memdoc">
12505
12506<p>Formatted output of the Channel type. </p>
12507
Kaizenbf8b01d2017-10-12 14:26:51 +010012508<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00449">449</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012509
Kaizen8938bd32017-09-28 14:38:23 +010012510<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012511<div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;{</div>
12512<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">switch</span>(channel)</div>
12513<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div>
12514<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">case</span> Channel::UNKNOWN:</div>
12515<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div>
12516<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">break</span>;</div>
12517<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">case</span> Channel::C0:</div>
12518<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C0&quot;</span>;</div>
12519<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">break</span>;</div>
12520<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">case</span> Channel::C1:</div>
12521<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C1&quot;</span>;</div>
12522<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">break</span>;</div>
12523<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">case</span> Channel::C2:</div>
12524<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C2&quot;</span>;</div>
12525<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">break</span>;</div>
12526<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">case</span> Channel::C3:</div>
12527<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C3&quot;</span>;</div>
12528<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">break</span>;</div>
12529<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="keywordflow">case</span> Channel::R:</div>
12530<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;R&quot;</span>;</div>
12531<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">break</span>;</div>
12532<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">case</span> Channel::G:</div>
12533<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G&quot;</span>;</div>
12534<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">break</span>;</div>
12535<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">case</span> Channel::B:</div>
12536<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;B&quot;</span>;</div>
12537<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">break</span>;</div>
12538<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keywordflow">case</span> Channel::A:</div>
12539<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A&quot;</span>;</div>
12540<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">break</span>;</div>
12541<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div>
12542<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Y&quot;</span>;</div>
12543<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">break</span>;</div>
12544<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">case</span> Channel::U:</div>
12545<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U&quot;</span>;</div>
12546<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">break</span>;</div>
12547<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">case</span> Channel::V:</div>
12548<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;V&quot;</span>;</div>
12549<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">break</span>;</div>
12550<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">default</span>:</div>
12551<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12552<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; }</div>
12553<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div>
12554<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">return</span> os;</div>
12555<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012556<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12557</div><!-- fragment -->
12558</div>
12559</div>
12560<a class="anchor" id="a7929032d41d5f23cd1778a70508d0219"></a>
12561<div class="memitem">
12562<div class="memproto">
12563 <table class="memname">
12564 <tr>
12565 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12566 <td>(</td>
12567 <td class="paramtype">::std::ostream &amp;&#160;</td>
12568 <td class="paramname"><em>os</em>, </td>
12569 </tr>
12570 <tr>
12571 <td class="paramkey"></td>
12572 <td></td>
12573 <td class="paramtype">const BorderMode &amp;&#160;</td>
12574 <td class="paramname"><em>mode</em>&#160;</td>
12575 </tr>
12576 <tr>
12577 <td></td>
12578 <td>)</td>
12579 <td></td><td></td>
12580 </tr>
12581 </table>
12582</div><div class="memdoc">
12583
12584<p>Formatted output of the BorderMode type. </p>
12585
Kaizenbf8b01d2017-10-12 14:26:51 +010012586<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00497">497</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012587
12588<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012589<div class="fragment"><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;{</div>
12590<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">switch</span>(mode)</div>
12591<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; {</div>
12592<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">case</span> BorderMode::UNDEFINED:</div>
12593<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNDEFINED&quot;</span>;</div>
12594<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">break</span>;</div>
12595<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">case</span> BorderMode::CONSTANT:</div>
12596<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CONSTANT&quot;</span>;</div>
12597<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">break</span>;</div>
12598<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">case</span> BorderMode::REPLICATE:</div>
12599<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;REPLICATE&quot;</span>;</div>
12600<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">break</span>;</div>
12601<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">default</span>:</div>
12602<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12603<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div>
12604<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;</div>
12605<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">return</span> os;</div>
12606<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012607<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012608</div><!-- fragment -->
12609</div>
12610</div>
12611<a class="anchor" id="af32c4c5cdd0efde09774eb803bc8a0bd"></a>
12612<div class="memitem">
12613<div class="memproto">
12614 <table class="memname">
12615 <tr>
12616 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12617 <td>(</td>
12618 <td class="paramtype">::std::ostream &amp;&#160;</td>
12619 <td class="paramname"><em>os</em>, </td>
12620 </tr>
12621 <tr>
12622 <td class="paramkey"></td>
12623 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012624 <td class="paramtype">const BorderSize &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012625 <td class="paramname"><em>border</em>&#160;</td>
12626 </tr>
12627 <tr>
12628 <td></td>
12629 <td>)</td>
12630 <td></td><td></td>
12631 </tr>
12632 </table>
12633</div><div class="memdoc">
12634
12635<p>Formatted output of the <a class="el" href="structarm__compute_1_1_border_size.xhtml" title="Container for 2D border size. ">BorderSize</a> type. </p>
12636
Kaizenbf8b01d2017-10-12 14:26:51 +010012637<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00518">518</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012638
Kaizen8938bd32017-09-28 14:38:23 +010012639<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00202">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00203">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00201">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00200">BorderSize::top</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012640<div class="fragment"><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160;{</div>
12641<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; os &lt;&lt; border.top &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12642<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; &lt;&lt; border.right &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12643<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; &lt;&lt; border.bottom &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12644<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; &lt;&lt; border.left;</div>
12645<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;</div>
12646<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">return</span> os;</div>
12647<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012648</div><!-- fragment -->
12649</div>
12650</div>
12651<a class="anchor" id="a509047aefc691398f1bb60b1f967a98b"></a>
12652<div class="memitem">
12653<div class="memproto">
12654 <table class="memname">
12655 <tr>
12656 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12657 <td>(</td>
12658 <td class="paramtype">::std::ostream &amp;&#160;</td>
12659 <td class="paramname"><em>os</em>, </td>
12660 </tr>
12661 <tr>
12662 <td class="paramkey"></td>
12663 <td></td>
12664 <td class="paramtype">const InterpolationPolicy &amp;&#160;</td>
12665 <td class="paramname"><em>policy</em>&#160;</td>
12666 </tr>
12667 <tr>
12668 <td></td>
12669 <td>)</td>
12670 <td></td><td></td>
12671 </tr>
12672 </table>
12673</div><div class="memdoc">
12674
12675<p>Formatted output of the InterpolationPolicy type. </p>
12676
Kaizenbf8b01d2017-10-12 14:26:51 +010012677<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00529">529</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012678
12679<p>References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, and <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012680<div class="fragment"><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;{</div>
12681<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">switch</span>(policy)</div>
12682<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; {</div>
12683<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div>
12684<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NEAREST_NEIGHBOR&quot;</span>;</div>
12685<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">break</span>;</div>
12686<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div>
12687<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BILINEAR&quot;</span>;</div>
12688<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">break</span>;</div>
12689<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div>
12690<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AREA&quot;</span>;</div>
12691<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">break</span>;</div>
12692<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">default</span>:</div>
12693<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12694<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; }</div>
12695<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;</div>
12696<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">return</span> os;</div>
12697<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012698<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12699</div><!-- fragment -->
12700</div>
12701</div>
12702<a class="anchor" id="a17881750c427aedd95deba46a4366ace"></a>
12703<div class="memitem">
12704<div class="memproto">
12705 <table class="memname">
12706 <tr>
12707 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12708 <td>(</td>
12709 <td class="paramtype">::std::ostream &amp;&#160;</td>
12710 <td class="paramname"><em>os</em>, </td>
12711 </tr>
12712 <tr>
12713 <td class="paramkey"></td>
12714 <td></td>
12715 <td class="paramtype">const Rectangle &amp;&#160;</td>
12716 <td class="paramname"><em>rect</em>&#160;</td>
12717 </tr>
12718 <tr>
12719 <td></td>
12720 <td>)</td>
12721 <td></td><td></td>
12722 </tr>
12723 </table>
12724</div><div class="memdoc">
12725
12726<p>Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. </p>
12727
Kaizenbf8b01d2017-10-12 14:26:51 +010012728<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00581">581</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012729
12730<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00290">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00289">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00287">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00288">Rectangle::y</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012731<div class="fragment"><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;{</div>
12732<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; os &lt;&lt; rect.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; rect.height;</div>
12733<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; rect.x &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; rect.y;</div>
12734<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;</div>
12735<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">return</span> os;</div>
12736<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012737</div><!-- fragment -->
12738</div>
12739</div>
12740<a class="anchor" id="a8af36ae3a3613112c3a95e57f606359a"></a>
12741<div class="memitem">
12742<div class="memproto">
12743 <table class="memname">
12744 <tr>
12745 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12746 <td>(</td>
12747 <td class="paramtype">::std::ostream &amp;&#160;</td>
12748 <td class="paramname"><em>os</em>, </td>
12749 </tr>
12750 <tr>
12751 <td class="paramkey"></td>
12752 <td></td>
12753 <td class="paramtype">const PadStrideInfo &amp;&#160;</td>
12754 <td class="paramname"><em>pad_stride_info</em>&#160;</td>
12755 </tr>
12756 <tr>
12757 <td></td>
12758 <td>)</td>
12759 <td></td><td></td>
12760 </tr>
12761 </table>
12762</div><div class="memdoc">
12763
12764<p>Formatted output of the PadStridInfo type. </p>
12765
Kaizenbf8b01d2017-10-12 14:26:51 +010012766<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00590">590</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012767
12768<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00429">PadStrideInfo::pad()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00425">PadStrideInfo::stride()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012769<div class="fragment"><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;{</div>
12770<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; os &lt;&lt; pad_stride_info.stride().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.stride().second;</div>
12771<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div>
12772<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; os &lt;&lt; pad_stride_info.pad().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.pad().second;</div>
12773<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;</div>
12774<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">return</span> os;</div>
12775<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012776</div><!-- fragment -->
12777</div>
12778</div>
12779<a class="anchor" id="a4287c6842a60e5f6bf309e55f8813527"></a>
12780<div class="memitem">
12781<div class="memproto">
12782 <table class="memname">
12783 <tr>
12784 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12785 <td>(</td>
12786 <td class="paramtype">::std::ostream &amp;&#160;</td>
12787 <td class="paramname"><em>os</em>, </td>
12788 </tr>
12789 <tr>
12790 <td class="paramkey"></td>
12791 <td></td>
12792 <td class="paramtype">const ConvertPolicy &amp;&#160;</td>
12793 <td class="paramname"><em>policy</em>&#160;</td>
12794 </tr>
12795 <tr>
12796 <td></td>
12797 <td>)</td>
12798 <td></td><td></td>
12799 </tr>
12800 </table>
12801</div><div class="memdoc">
12802
12803<p>Formatted output of the ConversionPolicy type. </p>
12804
Kaizenbf8b01d2017-10-12 14:26:51 +010012805<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00628">628</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012806
12807<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012808<div class="fragment"><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;{</div>
12809<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="keywordflow">switch</span>(policy)</div>
12810<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; {</div>
12811<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div>
12812<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WRAP&quot;</span>;</div>
12813<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">break</span>;</div>
12814<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div>
12815<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SATURATE&quot;</span>;</div>
12816<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">break</span>;</div>
12817<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">default</span>:</div>
12818<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12819<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; }</div>
12820<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;</div>
12821<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">return</span> os;</div>
12822<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012823<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12824</div><!-- fragment -->
12825</div>
12826</div>
12827<a class="anchor" id="a292505a0ec686541cfe0dcfd1d651ec5"></a>
12828<div class="memitem">
12829<div class="memproto">
12830 <table class="memname">
12831 <tr>
12832 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12833 <td>(</td>
12834 <td class="paramtype">::std::ostream &amp;&#160;</td>
12835 <td class="paramname"><em>os</em>, </td>
12836 </tr>
12837 <tr>
12838 <td class="paramkey"></td>
12839 <td></td>
12840 <td class="paramtype">const ReductionOperation &amp;&#160;</td>
12841 <td class="paramname"><em>op</em>&#160;</td>
12842 </tr>
12843 <tr>
12844 <td></td>
12845 <td>)</td>
12846 <td></td><td></td>
12847 </tr>
12848 </table>
12849</div><div class="memdoc">
12850
12851<p>Formatted output of the Reduction Operations. </p>
12852
Kaizenbf8b01d2017-10-12 14:26:51 +010012853<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00653">653</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012854
12855<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012856<div class="fragment"><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;{</div>
12857<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">switch</span>(op)</div>
12858<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; {</div>
12859<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div>
12860<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SUM_SQUARE&quot;</span>;</div>
12861<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">break</span>;</div>
12862<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordflow">default</span>:</div>
12863<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div>
12864<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; }</div>
12865<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;</div>
12866<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">return</span> os;</div>
12867<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012868<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
12869</div><!-- fragment -->
12870</div>
12871</div>
12872<a class="anchor" id="a9a2e48a508dc85b7280f955876bb4462"></a>
12873<div class="memitem">
12874<div class="memproto">
12875 <table class="memname">
12876 <tr>
12877 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
12878 <td>(</td>
12879 <td class="paramtype">::std::ostream &amp;&#160;</td>
12880 <td class="paramname"><em>os</em>, </td>
12881 </tr>
12882 <tr>
12883 <td class="paramkey"></td>
12884 <td></td>
12885 <td class="paramtype">const KeyPoint &amp;&#160;</td>
12886 <td class="paramname"><em>point</em>&#160;</td>
12887 </tr>
12888 <tr>
12889 <td></td>
12890 <td>)</td>
12891 <td></td><td></td>
12892 </tr>
12893 </table>
12894</div><div class="memdoc">
12895
12896<p>Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type. ">KeyPoint</a> type. </p>
12897
Kaizenbf8b01d2017-10-12 14:26:51 +010012898<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00696">696</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010012899
12900<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00279">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00277">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00276">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00275">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00278">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00273">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00274">KeyPoint::y</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010012901<div class="fragment"><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;{</div>
12902<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{x=&quot;</span> &lt;&lt; point.x &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12903<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; &lt;&lt; <span class="stringliteral">&quot;y=&quot;</span> &lt;&lt; point.y &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12904<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; &lt;&lt; <span class="stringliteral">&quot;strength=&quot;</span> &lt;&lt; point.strength &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12905<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; &lt;&lt; <span class="stringliteral">&quot;scale=&quot;</span> &lt;&lt; point.scale &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12906<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; &lt;&lt; <span class="stringliteral">&quot;orientation=&quot;</span> &lt;&lt; point.orientation &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12907<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; &lt;&lt; <span class="stringliteral">&quot;tracking_status=&quot;</span> &lt;&lt; point.tracking_status &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div>
12908<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; &lt;&lt; <span class="stringliteral">&quot;error=&quot;</span> &lt;&lt; point.error &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div>
12909<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;</div>
12910<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keywordflow">return</span> os;</div>
12911<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010012912</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010012913</div>
12914</div>
12915<a class="anchor" id="a1379e5f8a8b4640d7a52d901f0539ccd"></a>
12916<div class="memitem">
12917<div class="memproto">
12918 <table class="memname">
12919 <tr>
12920 <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
12921 <td>(</td>
12922 <td class="paramtype">::std::istream &amp;&#160;</td>
12923 <td class="paramname"><em>is</em>, </td>
12924 </tr>
12925 <tr>
12926 <td class="paramkey"></td>
12927 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010012928 <td class="paramtype">BorderMode &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012929 <td class="paramname"><em>mode</em>&#160;</td>
12930 </tr>
12931 <tr>
12932 <td></td>
12933 <td>)</td>
12934 <td></td><td></td>
12935 </tr>
12936 </table>
12937</div><div class="memdoc">
12938
12939<p>Formatted input of the BorderMode type. </p>
12940
12941<p>Definition at line <a class="el" href="_type_reader_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_type_reader_8h_source.xhtml">TypeReader.h</a>.</p>
12942
Kaizen8938bd32017-09-28 14:38:23 +010012943<p>References <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
12944<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div>
12945<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; std::string <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div>
12946<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
12947<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; is &gt;&gt; <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div>
12948<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
12949<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; std::transform(value.begin(), value.end(), value.begin(), [](<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c)</div>
12950<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; {</div>
12951<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> std::toupper(c);</div>
12952<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; });</div>
12953<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
12954<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;UNDEFINED&quot;</span>)</div>
12955<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div>
12956<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; mode = BorderMode::UNDEFINED;</div>
12957<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div>
12958<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;CONSTANT&quot;</span>)</div>
12959<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div>
12960<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; mode = BorderMode::CONSTANT;</div>
12961<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
12962<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;REPLICATE&quot;</span>)</div>
12963<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div>
12964<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; mode = BorderMode::REPLICATE;</div>
12965<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
12966<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">else</span></div>
12967<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div>
12968<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;Unsupported value &#39;&quot;</span> + value + <span class="stringliteral">&quot;&#39; for border mode&quot;</span>);</div>
12969<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
12970<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
12971<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> is;</div>
12972<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div>
12973<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
12974</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010012975</div>
12976</div>
12977<a class="anchor" id="ab7b3af731907e85fcaf72555c446176b"></a>
12978<div class="memitem">
12979<div class="memproto">
12980<table class="mlabels">
12981 <tr>
12982 <td class="mlabels-left">
12983 <table class="memname">
12984 <tr>
12985 <td class="memname">uint8_t pixel_area_c1u8_clamp </td>
12986 <td>(</td>
12987 <td class="paramtype">const uint8_t *&#160;</td>
12988 <td class="paramname"><em>first_pixel_ptr</em>, </td>
12989 </tr>
12990 <tr>
12991 <td class="paramkey"></td>
12992 <td></td>
12993 <td class="paramtype">size_t&#160;</td>
12994 <td class="paramname"><em>stride</em>, </td>
12995 </tr>
12996 <tr>
12997 <td class="paramkey"></td>
12998 <td></td>
12999 <td class="paramtype">size_t&#160;</td>
13000 <td class="paramname"><em>width</em>, </td>
13001 </tr>
13002 <tr>
13003 <td class="paramkey"></td>
13004 <td></td>
13005 <td class="paramtype">size_t&#160;</td>
13006 <td class="paramname"><em>height</em>, </td>
13007 </tr>
13008 <tr>
13009 <td class="paramkey"></td>
13010 <td></td>
13011 <td class="paramtype">float&#160;</td>
13012 <td class="paramname"><em>wr</em>, </td>
13013 </tr>
13014 <tr>
13015 <td class="paramkey"></td>
13016 <td></td>
13017 <td class="paramtype">float&#160;</td>
13018 <td class="paramname"><em>hr</em>, </td>
13019 </tr>
13020 <tr>
13021 <td class="paramkey"></td>
13022 <td></td>
13023 <td class="paramtype">int&#160;</td>
13024 <td class="paramname"><em>x</em>, </td>
13025 </tr>
13026 <tr>
13027 <td class="paramkey"></td>
13028 <td></td>
13029 <td class="paramtype">int&#160;</td>
13030 <td class="paramname"><em>y</em>&#160;</td>
13031 </tr>
13032 <tr>
13033 <td></td>
13034 <td>)</td>
13035 <td></td><td></td>
13036 </tr>
13037 </table>
13038 </td>
13039 <td class="mlabels-right">
13040<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13041 </tr>
13042</table>
13043</div><div class="memdoc">
13044
13045<p>Return the pixel at (x,y) using area interpolation by clamping when out of borders. </p>
13046<p>The image must be single channel U8</p>
13047<dl class="section note"><dt>Note</dt><dd>The interpolation area depends on the width and height ration of the input and output images </dd>
13048<dd>
13049Currently average of the contributing pixels is calculated</dd></dl>
13050<dl class="params"><dt>Parameters</dt><dd>
13051 <table class="params">
13052 <tr><td class="paramdir">[in]</td><td class="paramname">first_pixel_ptr</td><td>Pointer to the first pixel of a single channel U8 image. </td></tr>
13053 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
13054 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
13055 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
13056 <tr><td class="paramdir">[in]</td><td class="paramname">wr</td><td>Width ratio among the input image width and output image width. </td></tr>
13057 <tr><td class="paramdir">[in]</td><td class="paramname">hr</td><td>Height ratio among the input image height and output image height. </td></tr>
13058 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
13059 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
13060 </table>
13061 </dd>
13062</dl>
13063<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using area interpolation. </dd></dl>
13064
Kaizen8938bd32017-09-28 14:38:23 +010013065<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00032">32</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013066
Kaizen8938bd32017-09-28 14:38:23 +010013067<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
13068<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
13069<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div>
13070<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
13071<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">// Calculate sampling position</span></div>
13072<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordtype">float</span> in_x = (x + 0.5f) * wr - 0.5f;</div>
13073<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">float</span> in_y = (y + 0.5f) * hr - 0.5f;</div>
13074<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
13075<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// Get bounding box offsets</span></div>
13076<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">int</span> x_from = std::floor(x * wr - 0.5f - in_x);</div>
13077<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">int</span> y_from = std::floor(y * hr - 0.5f - in_y);</div>
13078<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">int</span> x_to = std::ceil((x + 1) * wr - 0.5f - in_x);</div>
13079<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">int</span> y_to = std::ceil((y + 1) * hr - 0.5f - in_y);</div>
13080<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
13081<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Clamp position to borders</span></div>
13082<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; in_x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_x, static_cast&lt;float&gt;(width)));</div>
13083<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; in_y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_y, static_cast&lt;float&gt;(height)));</div>
13084<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
13085<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// Clamp bounding box offsets to borders</span></div>
13086<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; x_from = ((in_x + x_from) &lt; -1) ? -1 : x_from;</div>
13087<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; y_from = ((in_y + y_from) &lt; -1) ? -1 : y_from;</div>
13088<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; x_to = ((in_x + x_to) &gt; width) ? (width - in_x) : x_to;</div>
13089<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; y_to = ((in_y + y_to) &gt; height) ? (height - in_y) : y_to;</div>
13090<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
13091<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// Get pixel index</span></div>
13092<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> xi = std::floor(in_x);</div>
13093<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> yi = std::floor(in_y);</div>
13094<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
13095<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Bounding box elements in each dimension</span></div>
13096<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> x_elements = (x_to - x_from + 1);</div>
13097<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> y_elements = (y_to - y_from + 1);</div>
13098<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(x_elements == 0 || y_elements == 0);</div>
13099<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
13100<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// Sum pixels in area</span></div>
13101<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">int</span> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = 0;</div>
13102<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j = yi + y_from, je = yi + y_to; j &lt;= je; ++j)</div>
13103<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
13104<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">const</span> uint8_t *ptr = first_pixel_ptr + j * stride + xi + x_from;</div>
13105<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(ptr, ptr + x_elements, sum);</div>
13106<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
13107<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
13108<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// Return average</span></div>
13109<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> sum / (x_elements * y_elements);</div>
13110<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div>
13111<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
13112<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013113<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
13114<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>
Kaizen8938bd32017-09-28 14:38:23 +010013115<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013116</div><!-- fragment -->
13117</div>
13118</div>
Kaizen8938bd32017-09-28 14:38:23 +010013119<a class="anchor" id="a1c8d639ec2b3086a9506e72605a32333"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013120<div class="memitem">
13121<div class="memproto">
13122<table class="mlabels">
13123 <tr>
13124 <td class="mlabels-left">
13125 <table class="memname">
13126 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010013127 <td class="memname">T arm_compute::pixel_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013128 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013129 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013130 <td class="paramname"><em>first_pixel_ptr</em>, </td>
13131 </tr>
13132 <tr>
13133 <td class="paramkey"></td>
13134 <td></td>
13135 <td class="paramtype">size_t&#160;</td>
13136 <td class="paramname"><em>stride</em>, </td>
13137 </tr>
13138 <tr>
13139 <td class="paramkey"></td>
13140 <td></td>
13141 <td class="paramtype">float&#160;</td>
13142 <td class="paramname"><em>x</em>, </td>
13143 </tr>
13144 <tr>
13145 <td class="paramkey"></td>
13146 <td></td>
13147 <td class="paramtype">float&#160;</td>
13148 <td class="paramname"><em>y</em>&#160;</td>
13149 </tr>
13150 <tr>
13151 <td></td>
13152 <td>)</td>
13153 <td></td><td></td>
13154 </tr>
13155 </table>
13156 </td>
13157 <td class="mlabels-right">
13158<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13159 </tr>
13160</table>
13161</div><div class="memdoc">
13162
13163<p>Return the pixel at (x,y) using bilinear interpolation. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013164<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
13165<dl class="params"><dt>Parameters</dt><dd>
13166 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010013167 <tr><td class="paramdir">[in]</td><td class="paramname">first_pixel_ptr</td><td>Pointer to the first pixel of a single channel input. </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013168 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image; </td></tr>
13169 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
13170 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
13171 </table>
13172 </dd>
13173</dl>
13174<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
13175
Kaizen8938bd32017-09-28 14:38:23 +010013176<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00131">131</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013177
Kaizen8938bd32017-09-28 14:38:23 +010013178<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">delta_bilinear_c1()</a>.</p>
13179<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div>
13180<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div>
13181<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
13182<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">const</span> int32_t xi = std::floor(x);</div>
13183<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">const</span> int32_t yi = std::floor(y);</div>
13184<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
13185<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div>
13186<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div>
13187<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
13188<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + xi + yi * stride, stride, dx, dy);</div>
13189<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;}</div>
13190<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
13191<div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel&#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">Helpers.h:99</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013192</div><!-- fragment -->
13193</div>
13194</div>
Kaizen8938bd32017-09-28 14:38:23 +010013195<a class="anchor" id="afa55519774605e5b840fb031fdd7b196"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013196<div class="memitem">
13197<div class="memproto">
13198<table class="mlabels">
13199 <tr>
13200 <td class="mlabels-left">
13201 <table class="memname">
13202 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010013203 <td class="memname">uint8_t arm_compute::pixel_bilinear_c1_clamp </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013204 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013205 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013206 <td class="paramname"><em>first_pixel_ptr</em>, </td>
13207 </tr>
13208 <tr>
13209 <td class="paramkey"></td>
13210 <td></td>
13211 <td class="paramtype">size_t&#160;</td>
13212 <td class="paramname"><em>stride</em>, </td>
13213 </tr>
13214 <tr>
13215 <td class="paramkey"></td>
13216 <td></td>
13217 <td class="paramtype">size_t&#160;</td>
13218 <td class="paramname"><em>width</em>, </td>
13219 </tr>
13220 <tr>
13221 <td class="paramkey"></td>
13222 <td></td>
13223 <td class="paramtype">size_t&#160;</td>
13224 <td class="paramname"><em>height</em>, </td>
13225 </tr>
13226 <tr>
13227 <td class="paramkey"></td>
13228 <td></td>
13229 <td class="paramtype">float&#160;</td>
13230 <td class="paramname"><em>x</em>, </td>
13231 </tr>
13232 <tr>
13233 <td class="paramkey"></td>
13234 <td></td>
13235 <td class="paramtype">float&#160;</td>
13236 <td class="paramname"><em>y</em>&#160;</td>
13237 </tr>
13238 <tr>
13239 <td></td>
13240 <td>)</td>
13241 <td></td><td></td>
13242 </tr>
13243 </table>
13244 </td>
13245 <td class="mlabels-right">
13246<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13247 </tr>
13248</table>
13249</div><div class="memdoc">
13250
13251<p>Return the pixel at (x,y) using bilinear interpolation by clamping when out of borders. </p>
Kaizen8938bd32017-09-28 14:38:23 +010013252<p>The image must be single channel input</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013253<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
13254<dl class="params"><dt>Parameters</dt><dd>
13255 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010013256 <tr><td class="paramdir">[in]</td><td class="paramname">first_pixel_ptr</td><td>Pointer to the first pixel of a single channel image. </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013257 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
13258 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
13259 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
13260 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
13261 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
13262 </table>
13263 </dd>
13264</dl>
13265<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
13266
Kaizen8938bd32017-09-28 14:38:23 +010013267<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00158">158</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013268
Kaizen8938bd32017-09-28 14:38:23 +010013269<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">delta_bilinear_c1()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
13270<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;{</div>
13271<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div>
13272<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div>
13273<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(x, static_cast&lt;float&gt;(width)));</div>
13274<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(y, static_cast&lt;float&gt;(height)));</div>
13275<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
13276<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> xi = std::floor(x);</div>
13277<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> yi = std::floor(y);</div>
13278<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div>
13279<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div>
13280<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div>
13281<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
13282<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, stride, dx, dy);</div>
13283<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;}</div>
13284<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013285<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010013286<div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel&#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">Helpers.h:99</a></div></div>
13287<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013288</div><!-- fragment -->
13289</div>
13290</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013291<a class="anchor" id="a4823543d67a2520c98669e2a5608ef6a"></a>
13292<div class="memitem">
13293<div class="memproto">
13294<table class="mlabels">
13295 <tr>
13296 <td class="mlabels-left">
13297 <table class="memname">
13298 <tr>
13299 <td class="memname">size_t arm_compute::pixel_size_from_format </td>
13300 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013301 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013302 <td class="paramname"><em>format</em></td><td>)</td>
13303 <td></td>
13304 </tr>
13305 </table>
13306 </td>
13307 <td class="mlabels-right">
13308<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13309 </tr>
13310</table>
13311</div><div class="memdoc">
13312
13313<p>The size in bytes of the pixel format. </p>
13314<dl class="params"><dt>Parameters</dt><dd>
13315 <table class="params">
13316 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
13317 </table>
13318 </dd>
13319</dl>
13320<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
13321
Kaizenbf8b01d2017-10-12 14:26:51 +010013322<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00124">124</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013323
13324<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010013325<div class="fragment"><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;{</div>
13326<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">switch</span>(format)</div>
13327<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div>
13328<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">case</span> Format::U8:</div>
13329<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> 1;</div>
13330<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">case</span> Format::U16:</div>
13331<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">case</span> Format::S16:</div>
13332<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">case</span> Format::F16:</div>
13333<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div>
13334<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div>
13335<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div>
13336<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span> 2;</div>
13337<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div>
13338<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> 3;</div>
13339<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div>
13340<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> 4;</div>
13341<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">case</span> Format::U32:</div>
13342<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">case</span> Format::S32:</div>
13343<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">case</span> Format::F32:</div>
13344<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> 4;</div>
13345<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div>
13346<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
13347<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
13348<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
13349<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
13350<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">default</span>:</div>
13351<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined pixel size for given format&quot;</span>);</div>
13352<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> 0;</div>
13353<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
13354<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010013355<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013356</div><!-- fragment -->
13357</div>
13358</div>
13359<a class="anchor" id="a4f6fe18760340bcec02d095b7099e923"></a>
13360<div class="memitem">
13361<div class="memproto">
13362<table class="mlabels">
13363 <tr>
13364 <td class="mlabels-left">
13365 <table class="memname">
13366 <tr>
13367 <td class="memname">int arm_compute::plane_idx_from_channel </td>
13368 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013369 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013370 <td class="paramname"><em>format</em>, </td>
13371 </tr>
13372 <tr>
13373 <td class="paramkey"></td>
13374 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013375 <td class="paramtype">Channel&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013376 <td class="paramname"><em>channel</em>&#160;</td>
13377 </tr>
13378 <tr>
13379 <td></td>
13380 <td>)</td>
13381 <td></td><td></td>
13382 </tr>
13383 </table>
13384 </td>
13385 <td class="mlabels-right">
13386<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13387 </tr>
13388</table>
13389</div><div class="memdoc">
13390
13391<p>Return the plane index of a given channel given an input format. </p>
13392<dl class="params"><dt>Parameters</dt><dd>
13393 <table class="params">
13394 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
13395 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
13396 </table>
13397 </dd>
13398</dl>
13399<dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
13400
Kaizenbf8b01d2017-10-12 14:26:51 +010013401<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00233">233</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013402
13403<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010013404<div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;{</div>
13405<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">switch</span>(format)</div>
13406<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div>
13407<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div>
13408<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div>
13409<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div>
13410<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">switch</span>(channel)</div>
13411<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
13412<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div>
13413<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> 0;</div>
13414<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">case</span> Channel::U:</div>
13415<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">case</span> Channel::V:</div>
13416<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> 1;</div>
13417<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">default</span>:</div>
13418<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div>
13419<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> 0;</div>
13420<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
13421<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div>
13422<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div>
13423<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div>
13424<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; {</div>
13425<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">switch</span>(channel)</div>
13426<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div>
13427<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div>
13428<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> 0;</div>
13429<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">case</span> Channel::U:</div>
13430<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> 1;</div>
13431<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">case</span> Channel::V:</div>
13432<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> 2;</div>
13433<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">default</span>:</div>
13434<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div>
13435<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span> 0;</div>
13436<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div>
13437<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; }</div>
13438<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">default</span>:</div>
13439<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div>
13440<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> 0;</div>
13441<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div>
13442<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010013443<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013444</div><!-- fragment -->
13445</div>
13446</div>
Anthony Barbiera4376382017-04-12 15:12:46 +010013447<a class="anchor" id="a51a0d2ae440bc8cab3fbbe84bfea8b1d"></a>
13448<div class="memitem">
13449<div class="memproto">
13450 <table class="memname">
13451 <tr>
13452 <td class="memname">void arm_compute::print_consecutive_elements </td>
13453 <td>(</td>
13454 <td class="paramtype">std::ostream &amp;&#160;</td>
13455 <td class="paramname"><em>s</em>, </td>
13456 </tr>
13457 <tr>
13458 <td class="paramkey"></td>
13459 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013460 <td class="paramtype">DataType&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010013461 <td class="paramname"><em>dt</em>, </td>
13462 </tr>
13463 <tr>
13464 <td class="paramkey"></td>
13465 <td></td>
13466 <td class="paramtype">const uint8_t *&#160;</td>
13467 <td class="paramname"><em>ptr</em>, </td>
13468 </tr>
13469 <tr>
13470 <td class="paramkey"></td>
13471 <td></td>
13472 <td class="paramtype">unsigned int&#160;</td>
13473 <td class="paramname"><em>n</em>, </td>
13474 </tr>
13475 <tr>
13476 <td class="paramkey"></td>
13477 <td></td>
13478 <td class="paramtype">int&#160;</td>
13479 <td class="paramname"><em>stream_width</em>, </td>
13480 </tr>
13481 <tr>
13482 <td class="paramkey"></td>
13483 <td></td>
13484 <td class="paramtype">const std::string &amp;&#160;</td>
13485 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
13486 </tr>
13487 <tr>
13488 <td></td>
13489 <td>)</td>
13490 <td></td><td></td>
13491 </tr>
13492 </table>
13493</div><div class="memdoc">
13494
13495<p>Print consecutive elements to an output stream. </p>
13496<dl class="params"><dt>Parameters</dt><dd>
13497 <table class="params">
13498 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
13499 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
13500 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
13501 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
13502 <tr><td class="paramdir">[in]</td><td class="paramname">stream_width</td><td>(Optional) Width of the stream. If set to 0 the element's width is used. Defaults to 0. </td></tr>
13503 <tr><td class="paramdir">[in]</td><td class="paramname">element_delim</td><td>(Optional) Delimeter among the consecutive elements. Defaults to space delimeter </td></tr>
13504 </table>
13505 </dd>
13506</dl>
13507
Anthony Barbiera4376382017-04-12 15:12:46 +010013508</div>
13509</div>
13510<a class="anchor" id="aa3a28b8acd21301990e06377c64e1276"></a>
13511<div class="memitem">
13512<div class="memproto">
13513 <table class="memname">
13514 <tr>
13515 <td class="memname">void arm_compute::print_consecutive_elements_impl </td>
13516 <td>(</td>
13517 <td class="paramtype">std::ostream &amp;&#160;</td>
13518 <td class="paramname"><em>s</em>, </td>
13519 </tr>
13520 <tr>
13521 <td class="paramkey"></td>
13522 <td></td>
13523 <td class="paramtype">const T *&#160;</td>
13524 <td class="paramname"><em>ptr</em>, </td>
13525 </tr>
13526 <tr>
13527 <td class="paramkey"></td>
13528 <td></td>
13529 <td class="paramtype">unsigned int&#160;</td>
13530 <td class="paramname"><em>n</em>, </td>
13531 </tr>
13532 <tr>
13533 <td class="paramkey"></td>
13534 <td></td>
13535 <td class="paramtype">int&#160;</td>
13536 <td class="paramname"><em>stream_width</em> = <code>0</code>, </td>
13537 </tr>
13538 <tr>
13539 <td class="paramkey"></td>
13540 <td></td>
13541 <td class="paramtype">const std::string &amp;&#160;</td>
13542 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
13543 </tr>
13544 <tr>
13545 <td></td>
13546 <td>)</td>
13547 <td></td><td></td>
13548 </tr>
13549 </table>
13550</div><div class="memdoc">
13551
13552<p>Print consecutive elements to an output stream. </p>
13553<dl class="params"><dt>Parameters</dt><dd>
13554 <table class="params">
13555 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
13556 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
13557 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
13558 <tr><td class="paramdir">[in]</td><td class="paramname">stream_width</td><td>(Optional) Width of the stream. If set to 0 the element's width is used. Defaults to 0. </td></tr>
13559 <tr><td class="paramdir">[in]</td><td class="paramname">element_delim</td><td>(Optional) Delimeter among the consecutive elements. Defaults to space delimeter </td></tr>
13560 </table>
13561 </dd>
13562</dl>
13563
Kaizenbf8b01d2017-10-12 14:26:51 +010013564<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00719">719</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010013565
13566<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010013567<div class="fragment"><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;{</div>
13568<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keyword">using</span> print_type = <span class="keyword">typename</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">std::conditional&lt;std::is_floating_point&lt;T&gt;::value</a>, T, <span class="keywordtype">int</span>&gt;<a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">::type</a>;</div>
13569<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;</div>
13570<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div>
13571<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; {</div>
13572<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="comment">// Set stream width as it is not a &quot;sticky&quot; stream manipulator</span></div>
13573<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keywordflow">if</span>(stream_width != 0)</div>
13574<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; {</div>
13575<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; s.width(stream_width);</div>
13576<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; }</div>
13577<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; s &lt;&lt; std::right &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]) &lt;&lt; element_delim;</div>
13578<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; }</div>
13579<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010013580<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
13581<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
13582</div><!-- fragment -->
Anthony Barbiera4376382017-04-12 15:12:46 +010013583</div>
13584</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013585<a class="anchor" id="aefa4a4d3136d77b85cccfce344f9f37f"></a>
13586<div class="memitem">
13587<div class="memproto">
13588 <table class="memname">
13589 <tr>
13590 <td class="memname">std::string arm_compute::read_file </td>
13591 <td>(</td>
13592 <td class="paramtype">const std::string &amp;&#160;</td>
13593 <td class="paramname"><em>filename</em>, </td>
13594 </tr>
13595 <tr>
13596 <td class="paramkey"></td>
13597 <td></td>
13598 <td class="paramtype">bool&#160;</td>
13599 <td class="paramname"><em>binary</em>&#160;</td>
13600 </tr>
13601 <tr>
13602 <td></td>
13603 <td>)</td>
13604 <td></td><td></td>
13605 </tr>
13606 </table>
13607</div><div class="memdoc">
13608
13609<p>Load an entire file in memory. </p>
13610<dl class="params"><dt>Parameters</dt><dd>
13611 <table class="params">
13612 <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Name of the file to read. </td></tr>
13613 <tr><td class="paramdir">[in]</td><td class="paramname">binary</td><td>Is it a binary file ?</td></tr>
13614 </table>
13615 </dd>
13616</dl>
13617<dl class="section return"><dt>Returns</dt><dd>The content of the file. </dd></dl>
13618
Kaizen8938bd32017-09-28 14:38:23 +010013619</div>
13620</div>
13621<a class="anchor" id="a5d49ea329c81268d6e12031f6f13f1eb"></a>
13622<div class="memitem">
13623<div class="memproto">
13624<table class="mlabels">
13625 <tr>
13626 <td class="mlabels-left">
13627 <table class="memname">
13628 <tr>
13629 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sabs_qs16 </td>
13630 <td>(</td>
13631 <td class="paramtype">qint16_t&#160;</td>
13632 <td class="paramname"><em>a</em></td><td>)</td>
13633 <td></td>
13634 </tr>
13635 </table>
13636 </td>
13637 <td class="mlabels-right">
13638<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13639 </tr>
13640</table>
13641</div><div class="memdoc">
Anthony Barbier871448e2017-03-24 14:54:29 +000013642
Kaizen8938bd32017-09-28 14:38:23 +010013643<p>16 bit fixed point scalar absolute value </p>
13644<dl class="params"><dt>Parameters</dt><dd>
13645 <table class="params">
13646 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input</td></tr>
13647 </table>
13648 </dd>
13649</dl>
13650<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point absolute value </dd></dl>
13651
13652<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00083">83</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
13653
13654<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
13655
13656<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
13657<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;{</div>
13658<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> (a &lt; 0) ? (a == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits&lt;int16_t&gt;::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits&lt;int16_t&gt;::max</a>() : -a : a;</div>
13659<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;}</div>
13660<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
13661<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
13662</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000013663</div>
13664</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013665<a class="anchor" id="a43315c66c4d00207f70143233b189085"></a>
13666<div class="memitem">
13667<div class="memproto">
13668<table class="mlabels">
13669 <tr>
13670 <td class="mlabels-left">
13671 <table class="memname">
13672 <tr>
13673 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sabs_qs8 </td>
13674 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013675 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013676 <td class="paramname"><em>a</em></td><td>)</td>
13677 <td></td>
13678 </tr>
13679 </table>
13680 </td>
13681 <td class="mlabels-right">
13682<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13683 </tr>
13684</table>
13685</div><div class="memdoc">
13686
13687<p>8 bit fixed point scalar absolute value </p>
13688<dl class="params"><dt>Parameters</dt><dd>
13689 <table class="params">
13690 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input</td></tr>
13691 </table>
13692 </dd>
13693</dl>
13694<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point absolute value </dd></dl>
13695
Kaizen8938bd32017-09-28 14:38:23 +010013696<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00078">78</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013697
Kaizen8938bd32017-09-28 14:38:23 +010013698<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
13699
13700<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
13701<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div>
13702<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> (a &lt; 0) ? (a == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits&lt;int8_t&gt;::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits&lt;int8_t&gt;::max</a>() : -a : a;</div>
13703<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;}</div>
13704<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point&lt; T &gt; min(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
13705<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
13706</div><!-- fragment -->
13707</div>
13708</div>
13709<a class="anchor" id="ab30659aa2125bd5857547d424e601e34"></a>
13710<div class="memitem">
13711<div class="memproto">
13712<table class="mlabels">
13713 <tr>
13714 <td class="mlabels-left">
13715 <table class="memname">
13716 <tr>
13717 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sadd_qs16 </td>
13718 <td>(</td>
13719 <td class="paramtype">qint16_t&#160;</td>
13720 <td class="paramname"><em>a</em>, </td>
13721 </tr>
13722 <tr>
13723 <td class="paramkey"></td>
13724 <td></td>
13725 <td class="paramtype">qint16_t&#160;</td>
13726 <td class="paramname"><em>b</em>&#160;</td>
13727 </tr>
13728 <tr>
13729 <td></td>
13730 <td>)</td>
13731 <td></td><td></td>
13732 </tr>
13733 </table>
13734 </td>
13735 <td class="mlabels-right">
13736<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13737 </tr>
13738</table>
13739</div><div class="memdoc">
13740
13741<p>16 bit fixed point scalar add </p>
13742<dl class="params"><dt>Parameters</dt><dd>
13743 <table class="params">
13744 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
13745 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
13746 </table>
13747 </dd>
13748</dl>
13749<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point addition </dd></dl>
13750
13751<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00093">93</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
13752
13753<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
13754<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;{</div>
13755<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> a + b;</div>
13756<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;}</div>
13757</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010013758</div>
13759</div>
13760<a class="anchor" id="aa8cee074ec68e2ae7830a9472efd8429"></a>
13761<div class="memitem">
13762<div class="memproto">
13763<table class="mlabels">
13764 <tr>
13765 <td class="mlabels-left">
13766 <table class="memname">
13767 <tr>
13768 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sadd_qs8 </td>
13769 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013770 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013771 <td class="paramname"><em>a</em>, </td>
13772 </tr>
13773 <tr>
13774 <td class="paramkey"></td>
13775 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013776 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013777 <td class="paramname"><em>b</em>&#160;</td>
13778 </tr>
13779 <tr>
13780 <td></td>
13781 <td>)</td>
13782 <td></td><td></td>
13783 </tr>
13784 </table>
13785 </td>
13786 <td class="mlabels-right">
13787<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13788 </tr>
13789</table>
13790</div><div class="memdoc">
13791
13792<p>8 bit fixed point scalar add </p>
13793<dl class="params"><dt>Parameters</dt><dd>
13794 <table class="params">
13795 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
13796 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
13797 </table>
13798 </dd>
13799</dl>
13800<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point addition </dd></dl>
13801
Kaizen8938bd32017-09-28 14:38:23 +010013802<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00088">88</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013803
Kaizen8938bd32017-09-28 14:38:23 +010013804<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
13805<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;{</div>
13806<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> a + b;</div>
13807<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
13808</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010013809</div>
13810</div>
Kaizen8938bd32017-09-28 14:38:23 +010013811<a class="anchor" id="a3d3d8bf7b86db4d7d4ebfe5b332f41b3"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000013812<div class="memitem">
13813<div class="memproto">
13814 <table class="memname">
13815 <tr>
13816 <td class="memname">const std::pair&lt;unsigned int, unsigned int&gt; arm_compute::scaled_dimensions </td>
13817 <td>(</td>
13818 <td class="paramtype">unsigned int&#160;</td>
13819 <td class="paramname"><em>width</em>, </td>
13820 </tr>
13821 <tr>
13822 <td class="paramkey"></td>
13823 <td></td>
13824 <td class="paramtype">unsigned int&#160;</td>
13825 <td class="paramname"><em>height</em>, </td>
13826 </tr>
13827 <tr>
13828 <td class="paramkey"></td>
13829 <td></td>
13830 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013831 <td class="paramname"><em>kernel_width</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013832 </tr>
13833 <tr>
13834 <td class="paramkey"></td>
13835 <td></td>
13836 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013837 <td class="paramname"><em>kernel_height</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013838 </tr>
13839 <tr>
13840 <td class="paramkey"></td>
13841 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013842 <td class="paramtype">const PadStrideInfo &amp;&#160;</td>
13843 <td class="paramname"><em>pad_stride_info</em>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013844 </tr>
13845 <tr>
13846 <td></td>
13847 <td>)</td>
13848 <td></td><td></td>
13849 </tr>
13850 </table>
13851</div><div class="memdoc">
13852
13853<p>Returns expected width and height of output scaled tensor depending on dimensions rounding mode. </p>
13854<dl class="params"><dt>Parameters</dt><dd>
13855 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010013856 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of input tensor (Number of columns) </td></tr>
13857 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of input tensor (Number of rows) </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010013858 <tr><td class="paramdir">[in]</td><td class="paramname">kernel_width</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> width. </td></tr>
13859 <tr><td class="paramdir">[in]</td><td class="paramname">kernel_height</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> height. </td></tr>
13860 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Pad and stride information.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000013861 </table>
13862 </dd>
13863</dl>
13864<dl class="section return"><dt>Returns</dt><dd>A pair with the new width in the first position and the new height in the second. </dd></dl>
13865
Anthony Barbier871448e2017-03-24 14:54:29 +000013866</div>
13867</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013868<a class="anchor" id="a55e8e161b9a16d750a6cff3fba6cd480"></a>
13869<div class="memitem">
13870<div class="memproto">
13871<table class="mlabels">
13872 <tr>
13873 <td class="mlabels-left">
13874 <table class="memname">
13875 <tr>
13876 <td class="memname">float scvt_f32_qs16 </td>
13877 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013878 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013879 <td class="paramname"><em>a</em>, </td>
13880 </tr>
13881 <tr>
13882 <td class="paramkey"></td>
13883 <td></td>
13884 <td class="paramtype">int&#160;</td>
13885 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
13886 </tr>
13887 <tr>
13888 <td></td>
13889 <td>)</td>
13890 <td></td><td></td>
13891 </tr>
13892 </table>
13893 </td>
13894 <td class="mlabels-right">
13895<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13896 </tr>
13897</table>
13898</div><div class="memdoc">
13899
13900<p>Convert a 16 bit fixed point to float. </p>
13901<dl class="params"><dt>Parameters</dt><dd>
13902 <table class="params">
13903 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
13904 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
13905 </table>
13906 </dd>
13907</dl>
13908<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float </dd></dl>
13909
Kaizen8938bd32017-09-28 14:38:23 +010013910<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00400">400</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
13911<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;{</div>
13912<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(a) / (1 &lt;&lt; fixed_point_position);</div>
13913<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;}</div>
13914</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010013915</div>
13916</div>
13917<a class="anchor" id="a62232512d049619479b670c58a607924"></a>
13918<div class="memitem">
13919<div class="memproto">
13920<table class="mlabels">
13921 <tr>
13922 <td class="mlabels-left">
13923 <table class="memname">
13924 <tr>
13925 <td class="memname">float scvt_f32_qs8 </td>
13926 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013927 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013928 <td class="paramname"><em>a</em>, </td>
13929 </tr>
13930 <tr>
13931 <td class="paramkey"></td>
13932 <td></td>
13933 <td class="paramtype">int&#160;</td>
13934 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
13935 </tr>
13936 <tr>
13937 <td></td>
13938 <td>)</td>
13939 <td></td><td></td>
13940 </tr>
13941 </table>
13942 </td>
13943 <td class="mlabels-right">
13944<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13945 </tr>
13946</table>
13947</div><div class="memdoc">
13948
13949<p>Convert an 8 bit fixed point to float. </p>
13950<dl class="params"><dt>Parameters</dt><dd>
13951 <table class="params">
13952 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
13953 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
13954 </table>
13955 </dd>
13956</dl>
13957<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float </dd></dl>
13958
Kaizen8938bd32017-09-28 14:38:23 +010013959<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00389">389</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
13960<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;{</div>
13961<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(a) / (1 &lt;&lt; fixed_point_position);</div>
13962<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013963</div><!-- fragment -->
13964</div>
13965</div>
Kaizen8938bd32017-09-28 14:38:23 +010013966<a class="anchor" id="a62b21ae2dd27770147d5b7c265fa534c"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013967<div class="memitem">
13968<div class="memproto">
13969<table class="mlabels">
13970 <tr>
13971 <td class="mlabels-left">
13972 <table class="memname">
13973 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010013974 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sdiv_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013975 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010013976 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013977 <td class="paramname"><em>a</em>, </td>
13978 </tr>
13979 <tr>
13980 <td class="paramkey"></td>
13981 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010013982 <td class="paramtype">qint16_t&#160;</td>
13983 <td class="paramname"><em>b</em>, </td>
13984 </tr>
13985 <tr>
13986 <td class="paramkey"></td>
13987 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013988 <td class="paramtype">int&#160;</td>
13989 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
13990 </tr>
13991 <tr>
13992 <td></td>
13993 <td>)</td>
13994 <td></td><td></td>
13995 </tr>
13996 </table>
13997 </td>
13998 <td class="mlabels-right">
13999<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14000 </tr>
14001</table>
14002</div><div class="memdoc">
14003
Kaizen8938bd32017-09-28 14:38:23 +010014004<p>16 bit fixed point scalar division </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014005<dl class="params"><dt>Parameters</dt><dd>
14006 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010014007 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
14008 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014009 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
14010 </table>
14011 </dd>
14012</dl>
Kaizen8938bd32017-09-28 14:38:23 +010014013<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point division. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014014
Kaizen8938bd32017-09-28 14:38:23 +010014015<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00271">271</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14016
14017<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
14018<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;{</div>
14019<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> temp = a &lt;&lt; fixed_point_position;</div>
14020<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(temp / b);</div>
14021<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div>
14022<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
14023<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014024</div><!-- fragment -->
14025</div>
14026</div>
14027<a class="anchor" id="ae39636f0e83dd3b854b89181a230216f"></a>
14028<div class="memitem">
14029<div class="memproto">
14030<table class="mlabels">
14031 <tr>
14032 <td class="mlabels-left">
14033 <table class="memname">
14034 <tr>
14035 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sdiv_qs8 </td>
14036 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014037 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014038 <td class="paramname"><em>a</em>, </td>
14039 </tr>
14040 <tr>
14041 <td class="paramkey"></td>
14042 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014043 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014044 <td class="paramname"><em>b</em>, </td>
14045 </tr>
14046 <tr>
14047 <td class="paramkey"></td>
14048 <td></td>
14049 <td class="paramtype">int&#160;</td>
14050 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14051 </tr>
14052 <tr>
14053 <td></td>
14054 <td>)</td>
14055 <td></td><td></td>
14056 </tr>
14057 </table>
14058 </td>
14059 <td class="mlabels-right">
14060<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14061 </tr>
14062</table>
14063</div><div class="memdoc">
14064
14065<p>8 bit fixed point scalar division </p>
14066<dl class="params"><dt>Parameters</dt><dd>
14067 <table class="params">
14068 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
14069 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
14070 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
14071 </table>
14072 </dd>
14073</dl>
14074<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point division. </dd></dl>
14075
Kaizen8938bd32017-09-28 14:38:23 +010014076<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00265">265</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014077
Kaizen8938bd32017-09-28 14:38:23 +010014078<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
14079<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;{</div>
14080<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = a &lt;&lt; fixed_point_position;</div>
14081<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">&gt;</span>(temp / b);</div>
14082<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;}</div>
14083<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014084<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
14085</div><!-- fragment -->
14086</div>
14087</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000014088<a class="anchor" id="a18ec57dffc5c26864be77318111dfb2a"></a>
14089<div class="memitem">
14090<div class="memproto">
14091<table class="mlabels">
14092 <tr>
14093 <td class="mlabels-left">
14094 <table class="memname">
14095 <tr>
14096 <td class="memname">bool arm_compute::separate_matrix </td>
14097 <td>(</td>
14098 <td class="paramtype">const int16_t *&#160;</td>
14099 <td class="paramname"><em>conv</em>, </td>
14100 </tr>
14101 <tr>
14102 <td class="paramkey"></td>
14103 <td></td>
14104 <td class="paramtype">int16_t *&#160;</td>
14105 <td class="paramname"><em>conv_col</em>, </td>
14106 </tr>
14107 <tr>
14108 <td class="paramkey"></td>
14109 <td></td>
14110 <td class="paramtype">int16_t *&#160;</td>
14111 <td class="paramname"><em>conv_row</em>, </td>
14112 </tr>
14113 <tr>
14114 <td class="paramkey"></td>
14115 <td></td>
14116 <td class="paramtype">uint8_t&#160;</td>
14117 <td class="paramname"><em>size</em>&#160;</td>
14118 </tr>
14119 <tr>
14120 <td></td>
14121 <td>)</td>
14122 <td></td><td></td>
14123 </tr>
14124 </table>
14125 </td>
14126 <td class="mlabels-right">
14127<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14128 </tr>
14129</table>
14130</div><div class="memdoc">
14131
14132<p>Separate a 2D convolution into two 1D convolutions. </p>
14133<dl class="params"><dt>Parameters</dt><dd>
14134 <table class="params">
14135 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>2D convolution </td></tr>
14136 <tr><td class="paramdir">[out]</td><td class="paramname">conv_col</td><td>1D vertical convolution </td></tr>
14137 <tr><td class="paramdir">[out]</td><td class="paramname">conv_row</td><td>1D horizontal convolution </td></tr>
14138 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the 2D convolution</td></tr>
14139 </table>
14140 </dd>
14141</dl>
14142<dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
14143
Kaizenbf8b01d2017-10-12 14:26:51 +010014144<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00356">356</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014145
Kaizen8938bd32017-09-28 14:38:23 +010014146<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00276">size</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010014147<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;{</div>
14148<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; int32_t min_col = -1;</div>
14149<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; int16_t min_col_val = -1;</div>
14150<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
14151<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">for</span>(int32_t i = 0; i &lt; <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++i)</div>
14152<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; {</div>
14153<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">if</span>(conv[i] != 0 &amp;&amp; (min_col &lt; 0 || <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(min_col_val) &gt; <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(conv[i])))</div>
14154<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; {</div>
14155<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; min_col = i;</div>
14156<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; min_col_val = conv[i];</div>
14157<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; }</div>
14158<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; }</div>
14159<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;</div>
14160<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">if</span>(min_col &lt; 0)</div>
14161<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; {</div>
14162<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14163<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div>
14164<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div>
14165<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 0; j &lt; <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++j)</div>
14166<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div>
14167<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; conv_col[j] = conv[min_col + j * <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>];</div>
14168<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div>
14169<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
14170<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; i++)</div>
14171<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; {</div>
14172<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">if</span>(static_cast&lt;int&gt;(i) == min_col)</div>
14173<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; {</div>
14174<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; conv_row[i] = 1;</div>
14175<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; }</div>
14176<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">else</span></div>
14177<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div>
14178<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; int16_t coeff = conv[i] / conv[min_col];</div>
14179<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;</div>
14180<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 1; j &lt; <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++j)</div>
14181<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; {</div>
14182<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">if</span>(conv[i + j * size] != (conv_col[j] * coeff))</div>
14183<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div>
14184<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14185<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div>
14186<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div>
14187<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div>
14188<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; conv_row[i] = coeff;</div>
14189<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; }</div>
14190<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
14191<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;</div>
14192<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
14193<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010014194<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
14195<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ae115fc750a92fb6a5e094998b56fcc56"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">arm_compute::test::fixed_point_arithmetic::detail::abs</a></div><div class="ttdeci">fixed_point&lt; T &gt; abs(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">FixedPoint.h:914</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014196</div><!-- fragment -->
14197</div>
14198</div>
14199<a class="anchor" id="ad19446be52c2c162fa678b9ae236f445"></a>
14200<div class="memitem">
14201<div class="memproto">
14202<table class="mlabels">
14203 <tr>
14204 <td class="mlabels-left">
14205 <table class="memname">
14206 <tr>
14207 <td class="memname">bool set_data_type_if_unknown </td>
14208 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014209 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014210 <td class="paramname"><em>info</em>, </td>
14211 </tr>
14212 <tr>
14213 <td class="paramkey"></td>
14214 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014215 <td class="paramtype">DataType&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014216 <td class="paramname"><em>data_type</em>&#160;</td>
14217 </tr>
14218 <tr>
14219 <td></td>
14220 <td>)</td>
14221 <td></td><td></td>
14222 </tr>
14223 </table>
14224 </td>
14225 <td class="mlabels-right">
14226<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14227 </tr>
14228</table>
14229</div><div class="memdoc">
14230
Kaizen8938bd32017-09-28 14:38:23 +010014231<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00236">236</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014232
Kaizen8938bd32017-09-28 14:38:23 +010014233<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a4b622a0346ec30baf0b9a387e00c9ace">ITensorInfo::set_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
14234<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;{</div>
14235<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div>
14236<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div>
14237<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div>
14238<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
14239<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div>
14240<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;</div>
14241<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14242<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;}</div>
14243<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
14244<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
14245</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014246</div>
14247</div>
14248<a class="anchor" id="a0894ed18ca6f55d6053882676cc2c95c"></a>
14249<div class="memitem">
14250<div class="memproto">
14251<table class="mlabels">
14252 <tr>
14253 <td class="mlabels-left">
14254 <table class="memname">
14255 <tr>
14256 <td class="memname">bool set_fixed_point_position_if_zero </td>
14257 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014258 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014259 <td class="paramname"><em>info</em>, </td>
14260 </tr>
14261 <tr>
14262 <td class="paramkey"></td>
14263 <td></td>
14264 <td class="paramtype">int&#160;</td>
14265 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14266 </tr>
14267 <tr>
14268 <td></td>
14269 <td>)</td>
14270 <td></td><td></td>
14271 </tr>
14272 </table>
14273 </td>
14274 <td class="mlabels-right">
14275<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14276 </tr>
14277</table>
14278</div><div class="memdoc">
14279
Kaizen8938bd32017-09-28 14:38:23 +010014280<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00247">247</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014281
14282<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aec2c125ece3cc6593a0be7f1fef3d97f">ITensorInfo::set_fixed_point_position()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014283<div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;{</div>
14284<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.fixed_point_position() == 0 &amp;&amp; (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS8 || <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS16))</div>
14285<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div>
14286<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div>
14287<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
14288<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div>
14289<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div>
14290<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14291<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;}</div>
14292<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
14293</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014294</div>
14295</div>
14296<a class="anchor" id="a8076ba239b6681067b6cfea7f773a39f"></a>
14297<div class="memitem">
14298<div class="memproto">
14299<table class="mlabels">
14300 <tr>
14301 <td class="mlabels-left">
14302 <table class="memname">
14303 <tr>
14304 <td class="memname">bool set_format_if_unknown </td>
14305 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014306 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014307 <td class="paramname"><em>info</em>, </td>
14308 </tr>
14309 <tr>
14310 <td class="paramkey"></td>
14311 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014312 <td class="paramtype">Format&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014313 <td class="paramname"><em>format</em>&#160;</td>
14314 </tr>
14315 <tr>
14316 <td></td>
14317 <td>)</td>
14318 <td></td><td></td>
14319 </tr>
14320 </table>
14321 </td>
14322 <td class="mlabels-right">
14323<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14324 </tr>
14325</table>
14326</div><div class="memdoc">
14327
Kaizen8938bd32017-09-28 14:38:23 +010014328<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00225">225</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014329
Kaizen8938bd32017-09-28 14:38:23 +010014330<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a43bf980bc1ac27efa062386baa506380">ITensorInfo::set_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
14331<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div>
14332<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div>
14333<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
14334<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_format(format);</div>
14335<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
14336<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div>
14337<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div>
14338<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14339<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;}</div>
14340<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
14341</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014342</div>
14343</div>
14344<a class="anchor" id="a9d1a839c51134b2ae171a2264c541b6f"></a>
14345<div class="memitem">
14346<div class="memproto">
14347<table class="mlabels">
14348 <tr>
14349 <td class="mlabels-left">
14350 <table class="memname">
14351 <tr>
14352 <td class="memname">bool set_shape_if_empty </td>
14353 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014354 <td class="paramtype">ITensorInfo &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014355 <td class="paramname"><em>info</em>, </td>
14356 </tr>
14357 <tr>
14358 <td class="paramkey"></td>
14359 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014360 <td class="paramtype">const TensorShape &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014361 <td class="paramname"><em>shape</em>&#160;</td>
14362 </tr>
14363 <tr>
14364 <td></td>
14365 <td>)</td>
14366 <td></td><td></td>
14367 </tr>
14368 </table>
14369 </td>
14370 <td class="mlabels-right">
14371<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14372 </tr>
14373</table>
14374</div><div class="memdoc">
14375
Kaizen8938bd32017-09-28 14:38:23 +010014376<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00214">214</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014377
Kaizen8938bd32017-09-28 14:38:23 +010014378<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a40deec9ef7e7c892bef6b11b4d81c38e">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
14379<div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;{</div>
14380<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div>
14381<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
14382<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div>
14383<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
14384<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
14385<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div>
14386<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
14387<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div>
14388<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
14389<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
14390</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010014391</div>
14392</div>
Kaizen8938bd32017-09-28 14:38:23 +010014393<a class="anchor" id="acc38b787d0451ec4a3e632ed919ac298"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014394<div class="memitem">
14395<div class="memproto">
14396 <table class="memname">
14397 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010014398 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> arm_compute::sexp_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014399 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014400 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014401 <td class="paramname"><em>a</em>, </td>
14402 </tr>
14403 <tr>
14404 <td class="paramkey"></td>
14405 <td></td>
14406 <td class="paramtype">int&#160;</td>
14407 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14408 </tr>
14409 <tr>
14410 <td></td>
14411 <td>)</td>
14412 <td></td><td></td>
14413 </tr>
14414 </table>
14415</div><div class="memdoc">
14416
Kaizen8938bd32017-09-28 14:38:23 +010014417<p>16 bit fixed point scalar exponential </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014418<dl class="params"><dt>Parameters</dt><dd>
14419 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010014420 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014421 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
14422 </table>
14423 </dd>
14424</dl>
Kaizen8938bd32017-09-28 14:38:23 +010014425<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point exponential. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014426
14427</div>
14428</div>
Kaizen8938bd32017-09-28 14:38:23 +010014429<a class="anchor" id="a162390097e05ddc016310bad881c461c"></a>
14430<div class="memitem">
14431<div class="memproto">
14432<table class="mlabels">
14433 <tr>
14434 <td class="mlabels-left">
14435 <table class="memname">
14436 <tr>
14437 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sinvsqrt_qs16 </td>
14438 <td>(</td>
14439 <td class="paramtype">qint16_t&#160;</td>
14440 <td class="paramname"><em>a</em>, </td>
14441 </tr>
14442 <tr>
14443 <td class="paramkey"></td>
14444 <td></td>
14445 <td class="paramtype">int&#160;</td>
14446 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14447 </tr>
14448 <tr>
14449 <td></td>
14450 <td>)</td>
14451 <td></td><td></td>
14452 </tr>
14453 </table>
14454 </td>
14455 <td class="mlabels-right">
14456<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14457 </tr>
14458</table>
14459</div><div class="memdoc">
14460
14461<p>16 bit fixed point scalar inverse square root </p>
14462<dl class="params"><dt>Parameters</dt><dd>
14463 <table class="params">
14464 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
14465 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
14466 </table>
14467 </dd>
14468</dl>
14469<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point inverse square root. </dd></dl>
14470
14471<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00245">245</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14472
14473<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00165">smul_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00130">ssub_qs16()</a>.</p>
14474<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;{</div>
14475<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift = 16 - (fixed_point_position + (__builtin_clz(a) - 16));</div>
14476<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div>
14477<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_three = (3 &lt;&lt; fixed_point_position);</div>
14478<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = shift &lt; 0 ? (a &lt;&lt; -shift) : (a &gt;&gt; shift);</div>
14479<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> x2 = temp;</div>
14480<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
14481<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">// We need three iterations to find the result</span></div>
14482<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 3; ++i)</div>
14483<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
14484<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, x2, fixed_point_position), fixed_point_position));</div>
14485<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; x2 = <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, three_minus_dx, fixed_point_position) &gt;&gt; 1;</div>
14486<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div>
14487<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div>
14488<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; temp = shift &lt; 0 ? (x2 &lt;&lt; ((-shift) &gt;&gt; 1)) : (x2 &gt;&gt; (shift &gt;&gt; 1));</div>
14489<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div>
14490<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> temp;</div>
14491<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div>
14492<div class="ttc" id="namespacearm__compute_xhtml_a7e6eff2c8b93f18002c06059b7e5b79a"><div class="ttname"><a href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">arm_compute::smul_qs16</a></div><div class="ttdeci">qint16_t smul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00165">FixedPoint.inl:165</a></div></div>
14493<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
14494<div class="ttc" id="namespacearm__compute_xhtml_a70476eda2d46c943d572362fe2fc9d14"><div class="ttname"><a href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">arm_compute::ssub_qs16</a></div><div class="ttdeci">qint16_t ssub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00130">FixedPoint.inl:130</a></div></div>
14495</div><!-- fragment -->
14496</div>
14497</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014498<a class="anchor" id="ab768d7001612a149c0bf695b773d659b"></a>
14499<div class="memitem">
14500<div class="memproto">
14501<table class="mlabels">
14502 <tr>
14503 <td class="mlabels-left">
14504 <table class="memname">
14505 <tr>
14506 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sinvsqrt_qs8 </td>
14507 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014508 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014509 <td class="paramname"><em>a</em>, </td>
14510 </tr>
14511 <tr>
14512 <td class="paramkey"></td>
14513 <td></td>
14514 <td class="paramtype">int&#160;</td>
14515 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14516 </tr>
14517 <tr>
14518 <td></td>
14519 <td>)</td>
14520 <td></td><td></td>
14521 </tr>
14522 </table>
14523 </td>
14524 <td class="mlabels-right">
14525<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14526 </tr>
14527</table>
14528</div><div class="memdoc">
14529
14530<p>8 bit fixed point scalar inverse square root </p>
14531<dl class="params"><dt>Parameters</dt><dd>
14532 <table class="params">
14533 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
14534 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
14535 </table>
14536 </dd>
14537</dl>
14538<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point inverse square root. </dd></dl>
14539
Kaizen8938bd32017-09-28 14:38:23 +010014540<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00225">225</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014541
Kaizen8938bd32017-09-28 14:38:23 +010014542<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00153">smul_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00125">ssub_qs8()</a>.</p>
14543<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div>
14544<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift = 8 - (fixed_point_position + (__builtin_clz(a) - 24));</div>
14545<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div>
14546<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_three = (3 &lt;&lt; fixed_point_position);</div>
14547<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> temp = shift &lt; 0 ? (a &lt;&lt; -shift) : (a &gt;&gt; shift);</div>
14548<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> x2 = temp;</div>
14549<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div>
14550<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// We need three iterations to find the result</span></div>
14551<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 3; ++i)</div>
14552<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div>
14553<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, x2, fixed_point_position), fixed_point_position));</div>
14554<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; x2 = (<a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, three_minus_dx, fixed_point_position) &gt;&gt; 1);</div>
14555<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
14556<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div>
14557<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; temp = shift &lt; 0 ? (x2 &lt;&lt; (-shift &gt;&gt; 1)) : (x2 &gt;&gt; (shift &gt;&gt; 1));</div>
14558<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div>
14559<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> temp;</div>
14560<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div>
14561<div class="ttc" id="namespacearm__compute_xhtml_aec48f137adc904d648dd7eba0d828fab"><div class="ttname"><a href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">arm_compute::smul_qs8</a></div><div class="ttdeci">qint8_t smul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00153">FixedPoint.inl:153</a></div></div>
14562<div class="ttc" id="namespacearm__compute_xhtml_ab97841950d268532e51f28a208ddafd4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">arm_compute::ssub_qs8</a></div><div class="ttdeci">qint8_t ssub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00125">FixedPoint.inl:125</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014563<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
14564</div><!-- fragment -->
14565</div>
14566</div>
Kaizen8938bd32017-09-28 14:38:23 +010014567<a class="anchor" id="ad45601a3c0f1d9f6210041651f4e2f4b"></a>
14568<div class="memitem">
14569<div class="memproto">
14570<table class="mlabels">
14571 <tr>
14572 <td class="mlabels-left">
14573 <table class="memname">
14574 <tr>
14575 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> slog_qs16 </td>
14576 <td>(</td>
14577 <td class="paramtype">qint16_t&#160;</td>
14578 <td class="paramname"><em>a</em>, </td>
14579 </tr>
14580 <tr>
14581 <td class="paramkey"></td>
14582 <td></td>
14583 <td class="paramtype">int&#160;</td>
14584 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14585 </tr>
14586 <tr>
14587 <td></td>
14588 <td>)</td>
14589 <td></td><td></td>
14590 </tr>
14591 </table>
14592 </td>
14593 <td class="mlabels-right">
14594<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14595 </tr>
14596</table>
14597</div><div class="memdoc">
14598
14599<p>16 bit fixed point scalar logarithm </p>
14600<dl class="params"><dt>Parameters</dt><dd>
14601 <table class="params">
14602 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
14603 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
14604 </table>
14605 </dd>
14606</dl>
14607<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point logarithm. </dd></dl>
14608
14609<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">356</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14610
14611<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00093">sadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00271">sdiv_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00165">smul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00130">ssub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
14612<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;{</div>
14613<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="comment">// Constants</span></div>
14614<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div>
14615<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2 = (0x58B9 &gt;&gt; (7 - fixed_point_position));</div>
14616<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = (0x5C0F &gt;&gt; (7 - fixed_point_position - 1));</div>
14617<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = -(0x56AE &gt;&gt; (7 - fixed_point_position));</div>
14618<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C = (0x2933 &gt;&gt; (7 - fixed_point_position));</div>
14619<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D = -(0x0AA7 &gt;&gt; (7 - fixed_point_position));</div>
14620<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div>
14621<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">if</span>((const_one == a) || (a &lt; 0))</div>
14622<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div>
14623<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> 0;</div>
14624<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; }</div>
14625<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(a &lt; const_one)</div>
14626<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; {</div>
14627<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">return</span> -<a class="code" href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">slog_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">sdiv_qs16</a>(const_one, a, fixed_point_position), fixed_point_position);</div>
14628<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div>
14629<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div>
14630<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="comment">// Remove even powers of 2</span></div>
14631<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift_val = 31 - __builtin_clz(a &gt;&gt; fixed_point_position);</div>
14632<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; a &gt;&gt;= shift_val;</div>
14633<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; a = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(a, const_one);</div>
14634<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
14635<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="comment">// Polynomial expansion</span></div>
14636<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, D, fixed_point_position), C);</div>
14637<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, sum, fixed_point_position), B);</div>
14638<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, sum, fixed_point_position), A);</div>
14639<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, sum, fixed_point_position);</div>
14640<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;</div>
14641<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">sadd_qs16</a>(sum, shift_val &lt;&lt; fixed_point_position), ln2, fixed_point_position);</div>
14642<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;}</div>
14643<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>
14644<div class="ttc" id="namespacearm__compute_xhtml_a62b21ae2dd27770147d5b7c265fa534c"><div class="ttname"><a href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">arm_compute::sdiv_qs16</a></div><div class="ttdeci">qint16_t sdiv_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar division </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00271">FixedPoint.inl:271</a></div></div>
14645<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>
14646<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>
14647<div class="ttc" id="namespacearm__compute_xhtml_ad45601a3c0f1d9f6210041651f4e2f4b"><div class="ttname"><a href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">arm_compute::slog_qs16</a></div><div class="ttdeci">qint16_t slog_qs16(qint16_t a, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar logarithm </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00356">FixedPoint.inl:356</a></div></div>
14648<div class="ttc" id="namespacearm__compute_xhtml_a7e6eff2c8b93f18002c06059b7e5b79a"><div class="ttname"><a href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">arm_compute::smul_qs16</a></div><div class="ttdeci">qint16_t smul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00165">FixedPoint.inl:165</a></div></div>
14649<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
14650<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00107">FixedPoint.inl:107</a></div></div>
14651<div class="ttc" id="namespacearm__compute_xhtml_a70476eda2d46c943d572362fe2fc9d14"><div class="ttname"><a href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">arm_compute::ssub_qs16</a></div><div class="ttdeci">qint16_t ssub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00130">FixedPoint.inl:130</a></div></div>
14652<div class="ttc" id="namespacearm__compute_xhtml_ab30659aa2125bd5857547d424e601e34"><div class="ttname"><a href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">arm_compute::sadd_qs16</a></div><div class="ttdeci">qint16_t sadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00093">FixedPoint.inl:93</a></div></div>
14653<div class="ttc" id="namespacearm__compute_xhtml_a55c8a365b4242664f8c0f19e91bcee92"><div class="ttname"><a href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">arm_compute::sqmul_qs16</a></div><div class="ttdeci">qint16_t sqmul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00189">FixedPoint.inl:189</a></div></div>
14654</div><!-- fragment -->
14655</div>
14656</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014657<a class="anchor" id="a596a7e3c63f80e67ea7cb713e8fc9992"></a>
14658<div class="memitem">
14659<div class="memproto">
14660<table class="mlabels">
14661 <tr>
14662 <td class="mlabels-left">
14663 <table class="memname">
14664 <tr>
14665 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> slog_qs8 </td>
14666 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014667 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014668 <td class="paramname"><em>a</em>, </td>
14669 </tr>
14670 <tr>
14671 <td class="paramkey"></td>
14672 <td></td>
14673 <td class="paramtype">int&#160;</td>
14674 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14675 </tr>
14676 <tr>
14677 <td></td>
14678 <td>)</td>
14679 <td></td><td></td>
14680 </tr>
14681 </table>
14682 </td>
14683 <td class="mlabels-right">
14684<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14685 </tr>
14686</table>
14687</div><div class="memdoc">
14688
14689<p>8 bit fixed point scalar logarithm </p>
14690<dl class="params"><dt>Parameters</dt><dd>
14691 <table class="params">
14692 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
14693 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
14694 </table>
14695 </dd>
14696</dl>
14697<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point logarithm. </dd></dl>
14698
Kaizen8938bd32017-09-28 14:38:23 +010014699<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">323</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014700
Kaizen8938bd32017-09-28 14:38:23 +010014701<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00088">sadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00265">sdiv_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00153">smul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00125">ssub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
14702<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;{</div>
14703<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="comment">// Constants</span></div>
14704<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div>
14705<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2 = (0x58 &gt;&gt; (7 - fixed_point_position));</div>
14706<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = (0x5C &gt;&gt; (7 - fixed_point_position - 1));</div>
14707<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = -(0x56 &gt;&gt; (7 - fixed_point_position));</div>
14708<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C = (0x29 &gt;&gt; (7 - fixed_point_position));</div>
14709<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D = -(0x0A &gt;&gt; (7 - fixed_point_position));</div>
14710<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div>
14711<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">if</span>((const_one == a) || (a &lt; 0))</div>
14712<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div>
14713<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> 0;</div>
14714<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div>
14715<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(a &lt; const_one)</div>
14716<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div>
14717<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">return</span> -<a class="code" href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">slog_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">sdiv_qs8</a>(const_one, a, fixed_point_position), fixed_point_position);</div>
14718<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div>
14719<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;</div>
14720<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="comment">// Remove even powers of 2</span></div>
14721<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift_val = 31 - __builtin_clz(a &gt;&gt; fixed_point_position);</div>
14722<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; a &gt;&gt;= shift_val;</div>
14723<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; a = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(a, const_one);</div>
14724<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div>
14725<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="comment">// Polynomial expansion</span></div>
14726<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, D, fixed_point_position), C);</div>
14727<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, sum, fixed_point_position), B);</div>
14728<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, sum, fixed_point_position), A);</div>
14729<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, sum, fixed_point_position);</div>
14730<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div>
14731<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">sadd_qs8</a>(sum, shift_val &lt;&lt; fixed_point_position), ln2, fixed_point_position);</div>
14732<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;}</div>
14733<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>
14734<div class="ttc" id="namespacearm__compute_xhtml_aec48f137adc904d648dd7eba0d828fab"><div class="ttname"><a href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">arm_compute::smul_qs8</a></div><div class="ttdeci">qint8_t smul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00153">FixedPoint.inl:153</a></div></div>
14735<div class="ttc" id="namespacearm__compute_xhtml_ab97841950d268532e51f28a208ddafd4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">arm_compute::ssub_qs8</a></div><div class="ttdeci">qint8_t ssub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00125">FixedPoint.inl:125</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014736<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>
Kaizen8938bd32017-09-28 14:38:23 +010014737<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>
14738<div class="ttc" id="namespacearm__compute_xhtml_aa8cee074ec68e2ae7830a9472efd8429"><div class="ttname"><a href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">arm_compute::sadd_qs8</a></div><div class="ttdeci">qint8_t sadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00088">FixedPoint.inl:88</a></div></div>
14739<div class="ttc" id="namespacearm__compute_xhtml_ae39636f0e83dd3b854b89181a230216f"><div class="ttname"><a href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">arm_compute::sdiv_qs8</a></div><div class="ttdeci">qint8_t sdiv_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar division </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00265">FixedPoint.inl:265</a></div></div>
14740<div class="ttc" id="namespacearm__compute_xhtml_af0b73b0c4980a551d7cd4edec43ffd92"><div class="ttname"><a href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">arm_compute::sqmul_qs8</a></div><div class="ttdeci">qint8_t sqmul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00177">FixedPoint.inl:177</a></div></div>
14741<div class="ttc" id="namespacearm__compute_xhtml_a596a7e3c63f80e67ea7cb713e8fc9992"><div class="ttname"><a href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">arm_compute::slog_qs8</a></div><div class="ttdeci">qint8_t slog_qs8(qint8_t a, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar logarithm </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00323">FixedPoint.inl:323</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014742<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014743<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00098">FixedPoint.inl:98</a></div></div>
14744</div><!-- fragment -->
14745</div>
14746</div>
14747<a class="anchor" id="a7e6eff2c8b93f18002c06059b7e5b79a"></a>
14748<div class="memitem">
14749<div class="memproto">
14750<table class="mlabels">
14751 <tr>
14752 <td class="mlabels-left">
14753 <table class="memname">
14754 <tr>
14755 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> smul_qs16 </td>
14756 <td>(</td>
14757 <td class="paramtype">qint16_t&#160;</td>
14758 <td class="paramname"><em>a</em>, </td>
14759 </tr>
14760 <tr>
14761 <td class="paramkey"></td>
14762 <td></td>
14763 <td class="paramtype">qint16_t&#160;</td>
14764 <td class="paramname"><em>b</em>, </td>
14765 </tr>
14766 <tr>
14767 <td class="paramkey"></td>
14768 <td></td>
14769 <td class="paramtype">int&#160;</td>
14770 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14771 </tr>
14772 <tr>
14773 <td></td>
14774 <td>)</td>
14775 <td></td><td></td>
14776 </tr>
14777 </table>
14778 </td>
14779 <td class="mlabels-right">
14780<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14781 </tr>
14782</table>
14783</div><div class="memdoc">
14784
14785<p>16 bit fixed point scalar multiply </p>
14786<dl class="params"><dt>Parameters</dt><dd>
14787 <table class="params">
14788 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
14789 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
14790 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
14791 </table>
14792 </dd>
14793</dl>
14794<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication. </dd></dl>
14795
14796<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00165">165</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14797
14798<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00245">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
14799<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</div>
14800<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div>
14801<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
14802<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(a) * static_cast&lt;qint32_t&gt;(b);</div>
14803<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
14804<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// Rounding up</span></div>
14805<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; tmp += round_up_const;</div>
14806<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
14807<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(tmp &gt;&gt; fixed_point_position);</div>
14808<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div>
14809<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
14810<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014811</div><!-- fragment -->
14812</div>
14813</div>
14814<a class="anchor" id="aec48f137adc904d648dd7eba0d828fab"></a>
14815<div class="memitem">
14816<div class="memproto">
14817<table class="mlabels">
14818 <tr>
14819 <td class="mlabels-left">
14820 <table class="memname">
14821 <tr>
14822 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> smul_qs8 </td>
14823 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014824 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014825 <td class="paramname"><em>a</em>, </td>
14826 </tr>
14827 <tr>
14828 <td class="paramkey"></td>
14829 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014830 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014831 <td class="paramname"><em>b</em>, </td>
14832 </tr>
14833 <tr>
14834 <td class="paramkey"></td>
14835 <td></td>
14836 <td class="paramtype">int&#160;</td>
14837 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
14838 </tr>
14839 <tr>
14840 <td></td>
14841 <td>)</td>
14842 <td></td><td></td>
14843 </tr>
14844 </table>
14845 </td>
14846 <td class="mlabels-right">
14847<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14848 </tr>
14849</table>
14850</div><div class="memdoc">
14851
14852<p>8 bit fixed point scalar multiply </p>
14853<dl class="params"><dt>Parameters</dt><dd>
14854 <table class="params">
14855 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
14856 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
14857 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
14858 </table>
14859 </dd>
14860</dl>
14861<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication. </dd></dl>
14862
Kaizen8938bd32017-09-28 14:38:23 +010014863<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00153">153</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014864
Kaizen8938bd32017-09-28 14:38:23 +010014865<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00225">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
14866<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;{</div>
14867<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div>
14868<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
14869<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(a) * static_cast&lt;qint16_t&gt;(b);</div>
14870<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
14871<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">// Rounding up</span></div>
14872<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; tmp += round_up_const;</div>
14873<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div>
14874<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">&gt;</span>(tmp &gt;&gt; fixed_point_position);</div>
14875<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;}</div>
14876<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014877<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
14878</div><!-- fragment -->
14879</div>
14880</div>
14881<a class="anchor" id="a45669fcc0f31fce521179510e85dcb62"></a>
14882<div class="memitem">
14883<div class="memproto">
14884<table class="mlabels">
14885 <tr>
14886 <td class="mlabels-left">
14887 <table class="memname">
14888 <tr>
14889 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqadd_qs16 </td>
14890 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010014891 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014892 <td class="paramname"><em>a</em>, </td>
14893 </tr>
14894 <tr>
14895 <td class="paramkey"></td>
14896 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010014897 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014898 <td class="paramname"><em>b</em>&#160;</td>
14899 </tr>
14900 <tr>
14901 <td></td>
14902 <td>)</td>
14903 <td></td><td></td>
14904 </tr>
14905 </table>
14906 </td>
14907 <td class="mlabels-right">
14908<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14909 </tr>
14910</table>
14911</div><div class="memdoc">
14912
14913<p>16 bit fixed point scalar saturating add </p>
14914<dl class="params"><dt>Parameters</dt><dd>
14915 <table class="params">
14916 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
14917 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
14918 </table>
14919 </dd>
14920</dl>
14921<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
14922
Kaizen8938bd32017-09-28 14:38:23 +010014923<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">107</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14924
14925<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00071">sshr_qs16()</a>.</p>
14926<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div>
14927<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div>
14928<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = (<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(a) + static_cast&lt;qint32_t&gt;(b));</div>
14929<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div>
14930<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
14931<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(tmp);</div>
14932<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
14933<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
14934</div><!-- fragment -->
14935</div>
14936</div>
14937<a class="anchor" id="af1a4a8b0eeee4d2d1c14774e2417f3de"></a>
14938<div class="memitem">
14939<div class="memproto">
14940<table class="mlabels">
14941 <tr>
14942 <td class="mlabels-left">
14943 <table class="memname">
14944 <tr>
14945 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqadd_qs32 </td>
14946 <td>(</td>
14947 <td class="paramtype">qint32_t&#160;</td>
14948 <td class="paramname"><em>a</em>, </td>
14949 </tr>
14950 <tr>
14951 <td class="paramkey"></td>
14952 <td></td>
14953 <td class="paramtype">qint32_t&#160;</td>
14954 <td class="paramname"><em>b</em>&#160;</td>
14955 </tr>
14956 <tr>
14957 <td></td>
14958 <td>)</td>
14959 <td></td><td></td>
14960 </tr>
14961 </table>
14962 </td>
14963 <td class="mlabels-right">
14964<span class="mlabels"><span class="mlabel">inline</span></span> </td>
14965 </tr>
14966</table>
14967</div><div class="memdoc">
14968
14969<p>32 bit fixed point scalar saturating add </p>
14970<dl class="params"><dt>Parameters</dt><dd>
14971 <table class="params">
14972 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input </td></tr>
14973 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 32 bit fixed point input</td></tr>
14974 </table>
14975 </dd>
14976</dl>
14977<dl class="section return"><dt>Returns</dt><dd>The result of the 32 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
14978
14979<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00116">116</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
14980<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;{</div>
14981<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">// We need to store the temporary result in qint64_t otherwise we cannot evaluate the overflow</span></div>
14982<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> tmp = (<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a><span class="keyword">&gt;</span>(a) + static_cast&lt;qint64_t&gt;(b));</div>
14983<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
14984<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint32_t</span></div>
14985<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint64_t, qint32_t&gt;(tmp);</div>
14986<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div>
14987<div class="ttc" id="namespacearm__compute_xhtml_adc3be0bc3741b081217b2609abcf0333"><div class="ttname"><a href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">arm_compute::qint64_t</a></div><div class="ttdeci">int64_t qint64_t</div><div class="ttdoc">64 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00032">FixedPoint.h:32</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014988</div><!-- fragment -->
14989</div>
14990</div>
14991<a class="anchor" id="a532d90e007d0cb6f3d43107229c40c32"></a>
14992<div class="memitem">
14993<div class="memproto">
14994<table class="mlabels">
14995 <tr>
14996 <td class="mlabels-left">
14997 <table class="memname">
14998 <tr>
14999 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqadd_qs8 </td>
15000 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015001 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015002 <td class="paramname"><em>a</em>, </td>
15003 </tr>
15004 <tr>
15005 <td class="paramkey"></td>
15006 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015007 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015008 <td class="paramname"><em>b</em>&#160;</td>
15009 </tr>
15010 <tr>
15011 <td></td>
15012 <td>)</td>
15013 <td></td><td></td>
15014 </tr>
15015 </table>
15016 </td>
15017 <td class="mlabels-right">
15018<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15019 </tr>
15020</table>
15021</div><div class="memdoc">
15022
15023<p>8 bit fixed point scalar saturating add </p>
15024<dl class="params"><dt>Parameters</dt><dd>
15025 <table class="params">
15026 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15027 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
15028 </table>
15029 </dd>
15030</dl>
15031<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
15032
Kaizen8938bd32017-09-28 14:38:23 +010015033<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">98</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015034
Kaizen8938bd32017-09-28 14:38:23 +010015035<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00064">sshr_qs8()</a>.</p>
15036<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;{</div>
15037<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// We need to store the temporary result in qint16_t otherwise we cannot evaluate the overflow</span></div>
15038<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = (<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(a) + static_cast&lt;qint16_t&gt;(b));</div>
15039<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
15040<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
15041<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(tmp);</div>
15042<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;}</div>
15043<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015044</div><!-- fragment -->
15045</div>
15046</div>
Kaizen8938bd32017-09-28 14:38:23 +010015047<a class="anchor" id="a790df824287a4f498e648dbbb481906b"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015048<div class="memitem">
15049<div class="memproto">
15050<table class="mlabels">
15051 <tr>
15052 <td class="mlabels-left">
15053 <table class="memname">
15054 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010015055 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqcvt_qs16_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015056 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015057 <td class="paramtype">float&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015058 <td class="paramname"><em>a</em>, </td>
15059 </tr>
15060 <tr>
15061 <td class="paramkey"></td>
15062 <td></td>
15063 <td class="paramtype">int&#160;</td>
15064 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15065 </tr>
15066 <tr>
15067 <td></td>
15068 <td>)</td>
15069 <td></td><td></td>
15070 </tr>
15071 </table>
15072 </td>
15073 <td class="mlabels-right">
15074<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15075 </tr>
15076</table>
15077</div><div class="memdoc">
15078
Kaizen8938bd32017-09-28 14:38:23 +010015079<p>Convert a float to 16 bit fixed point. </p>
15080<dl class="params"><dt>Parameters</dt><dd>
15081 <table class="params">
15082 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
15083 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
15084 </table>
15085 </dd>
15086</dl>
15087<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 16 bit fixed point </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015088
Kaizen8938bd32017-09-28 14:38:23 +010015089<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00405">405</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15090<div class="fragment"><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;{</div>
15091<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div>
15092<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;float, qint16_t&gt;(a * (1 &lt;&lt; fixed_point_position) + ((a &gt;= 0) ? 0.5 : -0.5));</div>
15093<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;}</div>
15094</div><!-- fragment -->
15095</div>
15096</div>
15097<a class="anchor" id="a4f425447c1efb8d2b48cb50b110f4739"></a>
15098<div class="memitem">
15099<div class="memproto">
15100<table class="mlabels">
15101 <tr>
15102 <td class="mlabels-left">
15103 <table class="memname">
15104 <tr>
15105 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqcvt_qs8_f32 </td>
15106 <td>(</td>
15107 <td class="paramtype">float&#160;</td>
15108 <td class="paramname"><em>a</em>, </td>
15109 </tr>
15110 <tr>
15111 <td class="paramkey"></td>
15112 <td></td>
15113 <td class="paramtype">int&#160;</td>
15114 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15115 </tr>
15116 <tr>
15117 <td></td>
15118 <td>)</td>
15119 <td></td><td></td>
15120 </tr>
15121 </table>
15122 </td>
15123 <td class="mlabels-right">
15124<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15125 </tr>
15126</table>
15127</div><div class="memdoc">
15128
15129<p>Convert a float to 8 bit fixed point. </p>
15130<dl class="params"><dt>Parameters</dt><dd>
15131 <table class="params">
15132 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert </td></tr>
15133 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
15134 </table>
15135 </dd>
15136</dl>
15137<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point </dd></dl>
15138
15139<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00394">394</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15140<div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;{</div>
15141<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div>
15142<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;float, qint8_t&gt;(a * (1 &lt;&lt; fixed_point_position) + ((a &gt;= 0) ? 0.5 : -0.5));</div>
15143<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;}</div>
15144</div><!-- fragment -->
15145</div>
15146</div>
15147<a class="anchor" id="aba5b39758733711eaf3015d17839feb5"></a>
15148<div class="memitem">
15149<div class="memproto">
15150<table class="mlabels">
15151 <tr>
15152 <td class="mlabels-left">
15153 <table class="memname">
15154 <tr>
15155 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqexp_qs16 </td>
15156 <td>(</td>
15157 <td class="paramtype">qint16_t&#160;</td>
15158 <td class="paramname"><em>a</em>, </td>
15159 </tr>
15160 <tr>
15161 <td class="paramkey"></td>
15162 <td></td>
15163 <td class="paramtype">int&#160;</td>
15164 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15165 </tr>
15166 <tr>
15167 <td></td>
15168 <td>)</td>
15169 <td></td><td></td>
15170 </tr>
15171 </table>
15172 </td>
15173 <td class="mlabels-right">
15174<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15175 </tr>
15176</table>
15177</div><div class="memdoc">
15178
15179<p>16 bit fixed point scalar exponential </p>
15180<dl class="params"><dt>Parameters</dt><dd>
15181 <table class="params">
15182 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input </td></tr>
15183 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
15184 </table>
15185 </dd>
15186</dl>
15187<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point exponential. </dd></dl>
15188
15189<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">300</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15190
15191<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00083">sabs_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00056">sqshl_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00144">sqsub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
15192<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;{</div>
15193<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="comment">// Constants</span></div>
15194<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div>
15195<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2 = ((0x58B9 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15196<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> inv_ln2 = (((0x38AA &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1) | const_one;</div>
15197<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = ((0x7FBA &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15198<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = ((0x3FE9 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15199<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C = ((0x1693 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15200<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D = ((0x0592 &gt;&gt; (14 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15201<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div>
15202<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="comment">// Polynomial expansion</span></div>
15203<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> dec_a = (<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, inv_ln2, fixed_point_position) &gt;&gt; fixed_point_position);</div>
15204<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</a>(a, <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(dec_a, fixed_point_position), fixed_point_position)));</div>
15205<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, D, fixed_point_position), C);</div>
15206<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), B);</div>
15207<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), A);</div>
15208<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position);</div>
15209<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(sum, const_one);</div>
15210<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div>
15211<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> (dec_a &lt; 0) ? (sum &gt;&gt; -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(sum, dec_a);</div>
15212<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;}</div>
15213<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>
15214<div class="ttc" id="namespacearm__compute_xhtml_a5d49ea329c81268d6e12031f6f13f1eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">arm_compute::sabs_qs16</a></div><div class="ttdeci">qint16_t sabs_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point scalar absolute value </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00083">FixedPoint.inl:83</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015215<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>
Kaizen8938bd32017-09-28 14:38:23 +010015216<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>
15217<div class="ttc" id="namespacearm__compute_xhtml_a383b9d12f86c35ceed6dd5922439aa4c"><div class="ttname"><a href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">arm_compute::sqshl_qs16</a></div><div class="ttdeci">qint16_t sqshl_qs16(qint16_t a, int shift)</div><div class="ttdoc">16 bit fixed point scalar saturating shift left </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00056">FixedPoint.inl:56</a></div></div>
15218<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
15219<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00107">FixedPoint.inl:107</a></div></div>
15220<div class="ttc" id="namespacearm__compute_xhtml_a217e5c603560d6f73971983c6d1572a1"><div class="ttname"><a href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">arm_compute::sqsub_qs16</a></div><div class="ttdeci">qint16_t sqsub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00144">FixedPoint.inl:144</a></div></div>
15221<div class="ttc" id="namespacearm__compute_xhtml_a55c8a365b4242664f8c0f19e91bcee92"><div class="ttname"><a href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">arm_compute::sqmul_qs16</a></div><div class="ttdeci">qint16_t sqmul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00189">FixedPoint.inl:189</a></div></div>
15222</div><!-- fragment -->
15223</div>
15224</div>
15225<a class="anchor" id="a20724c7cb556b1ff4fd9d01c7020d762"></a>
15226<div class="memitem">
15227<div class="memproto">
15228<table class="mlabels">
15229 <tr>
15230 <td class="mlabels-left">
15231 <table class="memname">
15232 <tr>
15233 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqexp_qs8 </td>
15234 <td>(</td>
15235 <td class="paramtype">qint8_t&#160;</td>
15236 <td class="paramname"><em>a</em>, </td>
15237 </tr>
15238 <tr>
15239 <td class="paramkey"></td>
15240 <td></td>
15241 <td class="paramtype">int&#160;</td>
15242 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15243 </tr>
15244 <tr>
15245 <td></td>
15246 <td>)</td>
15247 <td></td><td></td>
15248 </tr>
15249 </table>
15250 </td>
15251 <td class="mlabels-right">
15252<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15253 </tr>
15254</table>
15255</div><div class="memdoc">
15256
15257<p>8 bit fixed point scalar exponential </p>
15258<dl class="params"><dt>Parameters</dt><dd>
15259 <table class="params">
15260 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input </td></tr>
15261 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
15262 </table>
15263 </dd>
15264</dl>
15265<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point exponential. </dd></dl>
15266
15267<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">277</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15268
15269<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00078">sabs_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">sqshl_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00135">sqsub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
15270<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;{</div>
15271<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="comment">// Constants</span></div>
15272<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 &lt;&lt; fixed_point_position);</div>
15273<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2 = ((0x58 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15274<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> inv_ln2 = (((0x38 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1) | const_one;</div>
15275<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = ((0x7F &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15276<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = ((0x3F &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15277<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C = ((0x16 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15278<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D = ((0x05 &gt;&gt; (6 - fixed_point_position)) + 1) &gt;&gt; 1;</div>
15279<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div>
15280<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="comment">// Polynomial expansion</span></div>
15281<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> dec_a = (<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, inv_ln2, fixed_point_position) &gt;&gt; fixed_point_position);</div>
15282<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</a>(a, <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(dec_a, fixed_point_position), fixed_point_position)));</div>
15283<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, D, fixed_point_position), C);</div>
15284<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), B);</div>
15285<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), A);</div>
15286<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position);</div>
15287<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(sum, const_one);</div>
15288<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div>
15289<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> (dec_a &lt; 0) ? (sum &gt;&gt; -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(sum, dec_a);</div>
15290<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;}</div>
15291<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>
15292<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>
15293<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>
15294<div class="ttc" id="namespacearm__compute_xhtml_a203882febb616f5468d1b63b60ffb331"><div class="ttname"><a href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">arm_compute::sqshl_qs8</a></div><div class="ttdeci">qint8_t sqshl_qs8(qint8_t a, int shift)</div><div class="ttdoc">8 bit fixed point scalar saturating shift left </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00048">FixedPoint.inl:48</a></div></div>
15295<div class="ttc" id="namespacearm__compute_xhtml_ae74bbb6e25cc1b774428722b2faad00c"><div class="ttname"><a href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">arm_compute::sqsub_qs8</a></div><div class="ttdeci">qint8_t sqsub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00135">FixedPoint.inl:135</a></div></div>
15296<div class="ttc" id="namespacearm__compute_xhtml_af0b73b0c4980a551d7cd4edec43ffd92"><div class="ttname"><a href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">arm_compute::sqmul_qs8</a></div><div class="ttdeci">qint8_t sqmul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00177">FixedPoint.inl:177</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015297<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010015298<div class="ttc" id="namespacearm__compute_xhtml_a43315c66c4d00207f70143233b189085"><div class="ttname"><a href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">arm_compute::sabs_qs8</a></div><div class="ttdeci">qint8_t sabs_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point scalar absolute value </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00078">FixedPoint.inl:78</a></div></div>
15299<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00098">FixedPoint.inl:98</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015300</div><!-- fragment -->
15301</div>
15302</div>
15303<a class="anchor" id="ad555b251940cba2ca1c6eb168f0bbea4"></a>
15304<div class="memitem">
15305<div class="memproto">
15306<table class="mlabels">
15307 <tr>
15308 <td class="mlabels-left">
15309 <table class="memname">
15310 <tr>
15311 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmovn_qs16 </td>
15312 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015313 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015314 <td class="paramname"><em>a</em></td><td>)</td>
15315 <td></td>
15316 </tr>
15317 </table>
15318 </td>
15319 <td class="mlabels-right">
15320<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15321 </tr>
15322</table>
15323</div><div class="memdoc">
15324
15325<p>Scalar saturating move and narrow. </p>
15326<dl class="params"><dt>Parameters</dt><dd>
15327 <table class="params">
15328 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert to 8 bit fixed point</td></tr>
15329 </table>
15330 </dd>
15331</dl>
15332<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 8 bit </dd></dl>
15333
Kaizen8938bd32017-09-28 14:38:23 +010015334<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00411">411</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15335<div class="fragment"><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;{</div>
15336<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
15337<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(a);</div>
15338<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;}</div>
15339</div><!-- fragment -->
15340</div>
15341</div>
15342<a class="anchor" id="a4a4859f4f212d3824e70a36aed901b5b"></a>
15343<div class="memitem">
15344<div class="memproto">
15345<table class="mlabels">
15346 <tr>
15347 <td class="mlabels-left">
15348 <table class="memname">
15349 <tr>
15350 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmovn_qs32 </td>
15351 <td>(</td>
15352 <td class="paramtype">qint32_t&#160;</td>
15353 <td class="paramname"><em>a</em></td><td>)</td>
15354 <td></td>
15355 </tr>
15356 </table>
15357 </td>
15358 <td class="mlabels-right">
15359<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15360 </tr>
15361</table>
15362</div><div class="memdoc">
15363
15364<p>Scalar saturating move and narrow. </p>
15365<dl class="params"><dt>Parameters</dt><dd>
15366 <table class="params">
15367 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Input to convert to 16 bit fixed point</td></tr>
15368 </table>
15369 </dd>
15370</dl>
15371<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 16 bit </dd></dl>
15372
15373<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00417">417</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15374<div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;{</div>
15375<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
15376<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(a);</div>
15377<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div>
15378</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010015379</div>
15380</div>
15381<a class="anchor" id="a55c8a365b4242664f8c0f19e91bcee92"></a>
15382<div class="memitem">
15383<div class="memproto">
15384<table class="mlabels">
15385 <tr>
15386 <td class="mlabels-left">
15387 <table class="memname">
15388 <tr>
15389 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmul_qs16 </td>
15390 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015391 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015392 <td class="paramname"><em>a</em>, </td>
15393 </tr>
15394 <tr>
15395 <td class="paramkey"></td>
15396 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015397 <td class="paramtype">qint16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015398 <td class="paramname"><em>b</em>, </td>
15399 </tr>
15400 <tr>
15401 <td class="paramkey"></td>
15402 <td></td>
15403 <td class="paramtype">int&#160;</td>
15404 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15405 </tr>
15406 <tr>
15407 <td></td>
15408 <td>)</td>
15409 <td></td><td></td>
15410 </tr>
15411 </table>
15412 </td>
15413 <td class="mlabels-right">
15414<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15415 </tr>
15416</table>
15417</div><div class="memdoc">
15418
15419<p>16 bit fixed point scalar saturating multiply </p>
15420<dl class="params"><dt>Parameters</dt><dd>
15421 <table class="params">
15422 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15423 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
15424 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
15425 </table>
15426 </dd>
15427</dl>
15428<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication. The result is saturated in case of overflow </dd></dl>
15429
Kaizen8938bd32017-09-28 14:38:23 +010015430<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">189</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15431
15432<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
15433<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div>
15434<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div>
15435<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div>
15436<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(a) * static_cast&lt;qint32_t&gt;(b);</div>
15437<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div>
15438<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="comment">// Rounding up</span></div>
15439<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; tmp += round_up_const;</div>
15440<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div>
15441<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(tmp &gt;&gt; fixed_point_position);</div>
15442<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;}</div>
15443<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015444</div><!-- fragment -->
15445</div>
15446</div>
15447<a class="anchor" id="af0b73b0c4980a551d7cd4edec43ffd92"></a>
15448<div class="memitem">
15449<div class="memproto">
15450<table class="mlabels">
15451 <tr>
15452 <td class="mlabels-left">
15453 <table class="memname">
15454 <tr>
15455 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmul_qs8 </td>
15456 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015457 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015458 <td class="paramname"><em>a</em>, </td>
15459 </tr>
15460 <tr>
15461 <td class="paramkey"></td>
15462 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015463 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015464 <td class="paramname"><em>b</em>, </td>
15465 </tr>
15466 <tr>
15467 <td class="paramkey"></td>
15468 <td></td>
15469 <td class="paramtype">int&#160;</td>
15470 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15471 </tr>
15472 <tr>
15473 <td></td>
15474 <td>)</td>
15475 <td></td><td></td>
15476 </tr>
15477 </table>
15478 </td>
15479 <td class="mlabels-right">
15480<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15481 </tr>
15482</table>
15483</div><div class="memdoc">
15484
15485<p>8 bit fixed point scalar saturating multiply </p>
15486<dl class="params"><dt>Parameters</dt><dd>
15487 <table class="params">
15488 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15489 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
15490 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
15491 </table>
15492 </dd>
15493</dl>
15494<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication. The result is saturated in case of overflow </dd></dl>
15495
Kaizen8938bd32017-09-28 14:38:23 +010015496<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">177</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015497
Kaizen8938bd32017-09-28 14:38:23 +010015498<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
15499<div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;{</div>
15500<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div>
15501<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
15502<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(a) * static_cast&lt;qint16_t&gt;(b);</div>
15503<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div>
15504<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="comment">// Rounding up</span></div>
15505<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; tmp += round_up_const;</div>
15506<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
15507<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(tmp &gt;&gt; fixed_point_position);</div>
15508<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;}</div>
15509<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
15510</div><!-- fragment -->
15511</div>
15512</div>
15513<a class="anchor" id="a7f9fcf8e60c300e602327f8ff67800cb"></a>
15514<div class="memitem">
15515<div class="memproto">
15516<table class="mlabels">
15517 <tr>
15518 <td class="mlabels-left">
15519 <table class="memname">
15520 <tr>
15521 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqmull_qs16 </td>
15522 <td>(</td>
15523 <td class="paramtype">qint16_t&#160;</td>
15524 <td class="paramname"><em>a</em>, </td>
15525 </tr>
15526 <tr>
15527 <td class="paramkey"></td>
15528 <td></td>
15529 <td class="paramtype">qint16_t&#160;</td>
15530 <td class="paramname"><em>b</em>, </td>
15531 </tr>
15532 <tr>
15533 <td class="paramkey"></td>
15534 <td></td>
15535 <td class="paramtype">int&#160;</td>
15536 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15537 </tr>
15538 <tr>
15539 <td></td>
15540 <td>)</td>
15541 <td></td><td></td>
15542 </tr>
15543 </table>
15544 </td>
15545 <td class="mlabels-right">
15546<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15547 </tr>
15548</table>
15549</div><div class="memdoc">
15550
15551<p>16 bit fixed point scalar multiply long </p>
15552<dl class="params"><dt>Parameters</dt><dd>
15553 <table class="params">
15554 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15555 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input </td></tr>
15556 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
15557 </table>
15558 </dd>
15559</dl>
15560<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication long. The result is saturated in case of overflow </dd></dl>
15561
15562<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00213">213</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15563<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;{</div>
15564<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div>
15565<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div>
15566<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(a) * static_cast&lt;qint32_t&gt;(b);</div>
15567<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
15568<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="comment">// Rounding up</span></div>
15569<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; tmp += round_up_const;</div>
15570<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div>
15571<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> tmp &gt;&gt; fixed_point_position;</div>
15572<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div>
15573<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015574</div><!-- fragment -->
15575</div>
15576</div>
15577<a class="anchor" id="a0721e062e6d7a90f07fd08aeda5e7eda"></a>
15578<div class="memitem">
15579<div class="memproto">
15580<table class="mlabels">
15581 <tr>
15582 <td class="mlabels-left">
15583 <table class="memname">
15584 <tr>
15585 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmull_qs8 </td>
15586 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015587 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015588 <td class="paramname"><em>a</em>, </td>
15589 </tr>
15590 <tr>
15591 <td class="paramkey"></td>
15592 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015593 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015594 <td class="paramname"><em>b</em>, </td>
15595 </tr>
15596 <tr>
15597 <td class="paramkey"></td>
15598 <td></td>
15599 <td class="paramtype">int&#160;</td>
15600 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
15601 </tr>
15602 <tr>
15603 <td></td>
15604 <td>)</td>
15605 <td></td><td></td>
15606 </tr>
15607 </table>
15608 </td>
15609 <td class="mlabels-right">
15610<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15611 </tr>
15612</table>
15613</div><div class="memdoc">
15614
15615<p>8 bit fixed point scalar multiply long </p>
15616<dl class="params"><dt>Parameters</dt><dd>
15617 <table class="params">
15618 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15619 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input </td></tr>
15620 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
15621 </table>
15622 </dd>
15623</dl>
15624<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication long. The result is saturated in case of overflow </dd></dl>
15625
Kaizen8938bd32017-09-28 14:38:23 +010015626<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00201">201</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15627<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div>
15628<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 &lt;&lt; (fixed_point_position - 1));</div>
15629<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
15630<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(a) * static_cast&lt;qint16_t&gt;(b);</div>
15631<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div>
15632<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="comment">// Rounding up</span></div>
15633<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; tmp += round_up_const;</div>
15634<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div>
15635<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> tmp &gt;&gt; fixed_point_position;</div>
15636<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;}</div>
15637<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
15638</div><!-- fragment -->
15639</div>
15640</div>
15641<a class="anchor" id="a383b9d12f86c35ceed6dd5922439aa4c"></a>
15642<div class="memitem">
15643<div class="memproto">
15644<table class="mlabels">
15645 <tr>
15646 <td class="mlabels-left">
15647 <table class="memname">
15648 <tr>
15649 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqshl_qs16 </td>
15650 <td>(</td>
15651 <td class="paramtype">qint16_t&#160;</td>
15652 <td class="paramname"><em>a</em>, </td>
15653 </tr>
15654 <tr>
15655 <td class="paramkey"></td>
15656 <td></td>
15657 <td class="paramtype">int&#160;</td>
15658 <td class="paramname"><em>shift</em>&#160;</td>
15659 </tr>
15660 <tr>
15661 <td></td>
15662 <td>)</td>
15663 <td></td><td></td>
15664 </tr>
15665 </table>
15666 </td>
15667 <td class="mlabels-right">
15668<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15669 </tr>
15670</table>
15671</div><div class="memdoc">
15672
15673<p>16 bit fixed point scalar saturating shift left </p>
15674<dl class="params"><dt>Parameters</dt><dd>
15675 <table class="params">
15676 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15677 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
15678 </table>
15679 </dd>
15680</dl>
15681<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point shift. The result is saturated in case of overflow </dd></dl>
15682
15683<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00056">56</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15684
15685<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
15686<div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;{</div>
15687<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(a) &lt;&lt; shift;</div>
15688<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
15689<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
15690<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(tmp);</div>
15691<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}</div>
15692<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015693</div><!-- fragment -->
15694</div>
15695</div>
15696<a class="anchor" id="a203882febb616f5468d1b63b60ffb331"></a>
15697<div class="memitem">
15698<div class="memproto">
15699<table class="mlabels">
15700 <tr>
15701 <td class="mlabels-left">
15702 <table class="memname">
15703 <tr>
15704 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqshl_qs8 </td>
15705 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015706 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015707 <td class="paramname"><em>a</em>, </td>
15708 </tr>
15709 <tr>
15710 <td class="paramkey"></td>
15711 <td></td>
15712 <td class="paramtype">int&#160;</td>
15713 <td class="paramname"><em>shift</em>&#160;</td>
15714 </tr>
15715 <tr>
15716 <td></td>
15717 <td>)</td>
15718 <td></td><td></td>
15719 </tr>
15720 </table>
15721 </td>
15722 <td class="mlabels-right">
15723<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15724 </tr>
15725</table>
15726</div><div class="memdoc">
15727
15728<p>8 bit fixed point scalar saturating shift left </p>
15729<dl class="params"><dt>Parameters</dt><dd>
15730 <table class="params">
15731 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010015732 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015733 </table>
15734 </dd>
15735</dl>
15736<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point shift. The result is saturated in case of overflow </dd></dl>
15737
Kaizen8938bd32017-09-28 14:38:23 +010015738<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">48</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015739
Kaizen8938bd32017-09-28 14:38:23 +010015740<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
15741<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div>
15742<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(a) &lt;&lt; shift;</div>
15743<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
15744<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
15745<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(tmp);</div>
15746<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div>
15747<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
15748</div><!-- fragment -->
15749</div>
15750</div>
15751<a class="anchor" id="a217e5c603560d6f73971983c6d1572a1"></a>
15752<div class="memitem">
15753<div class="memproto">
15754<table class="mlabels">
15755 <tr>
15756 <td class="mlabels-left">
15757 <table class="memname">
15758 <tr>
15759 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqsub_qs16 </td>
15760 <td>(</td>
15761 <td class="paramtype">qint16_t&#160;</td>
15762 <td class="paramname"><em>a</em>, </td>
15763 </tr>
15764 <tr>
15765 <td class="paramkey"></td>
15766 <td></td>
15767 <td class="paramtype">qint16_t&#160;</td>
15768 <td class="paramname"><em>b</em>&#160;</td>
15769 </tr>
15770 <tr>
15771 <td></td>
15772 <td>)</td>
15773 <td></td><td></td>
15774 </tr>
15775 </table>
15776 </td>
15777 <td class="mlabels-right">
15778<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15779 </tr>
15780</table>
15781</div><div class="memdoc">
15782
15783<p>16 bit fixed point scalar saturating subtraction </p>
15784<dl class="params"><dt>Parameters</dt><dd>
15785 <table class="params">
15786 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15787 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
15788 </table>
15789 </dd>
15790</dl>
15791<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point subtraction. The result is saturated in case of overflow </dd></dl>
15792
15793<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00144">144</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15794
15795<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
15796<div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;{</div>
15797<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div>
15798<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">&gt;</span>(a) - static_cast&lt;qint32_t&gt;(b);</div>
15799<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
15800<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
15801<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint32_t, qint16_t&gt;(tmp);</div>
15802<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div>
15803<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015804</div><!-- fragment -->
15805</div>
15806</div>
15807<a class="anchor" id="ae74bbb6e25cc1b774428722b2faad00c"></a>
15808<div class="memitem">
15809<div class="memproto">
15810<table class="mlabels">
15811 <tr>
15812 <td class="mlabels-left">
15813 <table class="memname">
15814 <tr>
15815 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqsub_qs8 </td>
15816 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015817 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015818 <td class="paramname"><em>a</em>, </td>
15819 </tr>
15820 <tr>
15821 <td class="paramkey"></td>
15822 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010015823 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015824 <td class="paramname"><em>b</em>&#160;</td>
15825 </tr>
15826 <tr>
15827 <td></td>
15828 <td>)</td>
15829 <td></td><td></td>
15830 </tr>
15831 </table>
15832 </td>
15833 <td class="mlabels-right">
15834<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15835 </tr>
15836</table>
15837</div><div class="memdoc">
15838
15839<p>8 bit fixed point scalar saturating subtraction </p>
15840<dl class="params"><dt>Parameters</dt><dd>
15841 <table class="params">
15842 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15843 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
15844 </table>
15845 </dd>
15846</dl>
15847<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point subtraction. The result is saturated in case of overflow </dd></dl>
15848
Kaizen8938bd32017-09-28 14:38:23 +010015849<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00135">135</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015850
Kaizen8938bd32017-09-28 14:38:23 +010015851<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
15852<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;{</div>
15853<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="comment">// We need to store the temporary result in uint16_t otherwise we cannot evaluate the overflow</span></div>
15854<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">&gt;</span>(a) - static_cast&lt;qint16_t&gt;(b);</div>
15855<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
15856<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
15857<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> saturate_convert&lt;qint16_t, qint8_t&gt;(tmp);</div>
15858<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;}</div>
15859<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
15860</div><!-- fragment -->
15861</div>
15862</div>
15863<a class="anchor" id="a1dfcf4fd912cbd9853c0f7ddfcf3a163"></a>
15864<div class="memitem">
15865<div class="memproto">
15866<table class="mlabels">
15867 <tr>
15868 <td class="mlabels-left">
15869 <table class="memname">
15870 <tr>
15871 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sshr_qs16 </td>
15872 <td>(</td>
15873 <td class="paramtype">qint16_t&#160;</td>
15874 <td class="paramname"><em>a</em>, </td>
15875 </tr>
15876 <tr>
15877 <td class="paramkey"></td>
15878 <td></td>
15879 <td class="paramtype">int&#160;</td>
15880 <td class="paramname"><em>shift</em>&#160;</td>
15881 </tr>
15882 <tr>
15883 <td></td>
15884 <td>)</td>
15885 <td></td><td></td>
15886 </tr>
15887 </table>
15888 </td>
15889 <td class="mlabels-right">
15890<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15891 </tr>
15892</table>
15893</div><div class="memdoc">
15894
15895<p>16 bit fixed point scalar shift right </p>
15896<dl class="params"><dt>Parameters</dt><dd>
15897 <table class="params">
15898 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
15899 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
15900 </table>
15901 </dd>
15902</dl>
15903<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point shift </dd></dl>
15904
15905<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00071">71</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15906
15907<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>.</p>
15908<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;{</div>
15909<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">&quot;Shift should not be zero&quot;</span>);</div>
15910<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_val = 1 &lt;&lt; (shift - 1);</div>
15911<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(a, round_val) &gt;&gt; shift;</div>
15912<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div>
15913<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
15914<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00107">FixedPoint.inl:107</a></div></div>
15915<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00115">Error.h:115</a></div></div>
15916</div><!-- fragment -->
15917</div>
15918</div>
15919<a class="anchor" id="a3e4f9ff20167e78399975ec02c009c95"></a>
15920<div class="memitem">
15921<div class="memproto">
15922<table class="mlabels">
15923 <tr>
15924 <td class="mlabels-left">
15925 <table class="memname">
15926 <tr>
15927 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sshr_qs8 </td>
15928 <td>(</td>
15929 <td class="paramtype">qint8_t&#160;</td>
15930 <td class="paramname"><em>a</em>, </td>
15931 </tr>
15932 <tr>
15933 <td class="paramkey"></td>
15934 <td></td>
15935 <td class="paramtype">int&#160;</td>
15936 <td class="paramname"><em>shift</em>&#160;</td>
15937 </tr>
15938 <tr>
15939 <td></td>
15940 <td>)</td>
15941 <td></td><td></td>
15942 </tr>
15943 </table>
15944 </td>
15945 <td class="mlabels-right">
15946<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15947 </tr>
15948</table>
15949</div><div class="memdoc">
15950
15951<p>8 bit fixed point scalar shift right </p>
15952<dl class="params"><dt>Parameters</dt><dd>
15953 <table class="params">
15954 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
15955 <tr><td class="paramdir">[in]</td><td class="paramname">shift</td><td>Shift amount (positive only values)</td></tr>
15956 </table>
15957 </dd>
15958</dl>
15959<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point shift </dd></dl>
15960
15961<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00064">64</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
15962
15963<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>.</p>
15964<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div>
15965<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">&quot;Shift should not be zero&quot;</span>);</div>
15966<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> round_val = 1 &lt;&lt; (shift - 1);</div>
15967<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(a, round_val) &gt;&gt; shift;</div>
15968<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div>
15969<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
15970<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00098">FixedPoint.inl:98</a></div></div>
15971<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00115">Error.h:115</a></div></div>
15972</div><!-- fragment -->
15973</div>
15974</div>
15975<a class="anchor" id="a70476eda2d46c943d572362fe2fc9d14"></a>
15976<div class="memitem">
15977<div class="memproto">
15978<table class="mlabels">
15979 <tr>
15980 <td class="mlabels-left">
15981 <table class="memname">
15982 <tr>
15983 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ssub_qs16 </td>
15984 <td>(</td>
15985 <td class="paramtype">qint16_t&#160;</td>
15986 <td class="paramname"><em>a</em>, </td>
15987 </tr>
15988 <tr>
15989 <td class="paramkey"></td>
15990 <td></td>
15991 <td class="paramtype">qint16_t&#160;</td>
15992 <td class="paramname"><em>b</em>&#160;</td>
15993 </tr>
15994 <tr>
15995 <td></td>
15996 <td>)</td>
15997 <td></td><td></td>
15998 </tr>
15999 </table>
16000 </td>
16001 <td class="mlabels-right">
16002<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16003 </tr>
16004</table>
16005</div><div class="memdoc">
16006
16007<p>16 bit fixed point scalar subtraction </p>
16008<dl class="params"><dt>Parameters</dt><dd>
16009 <table class="params">
16010 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input </td></tr>
16011 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input</td></tr>
16012 </table>
16013 </dd>
16014</dl>
16015<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point subtraction </dd></dl>
16016
16017<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00130">130</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
16018
16019<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00245">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
16020<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;{</div>
16021<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> a - b;</div>
16022<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016023</div><!-- fragment -->
16024</div>
16025</div>
16026<a class="anchor" id="ab97841950d268532e51f28a208ddafd4"></a>
16027<div class="memitem">
16028<div class="memproto">
16029<table class="mlabels">
16030 <tr>
16031 <td class="mlabels-left">
16032 <table class="memname">
16033 <tr>
16034 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ssub_qs8 </td>
16035 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016036 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016037 <td class="paramname"><em>a</em>, </td>
16038 </tr>
16039 <tr>
16040 <td class="paramkey"></td>
16041 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010016042 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016043 <td class="paramname"><em>b</em>&#160;</td>
16044 </tr>
16045 <tr>
16046 <td></td>
16047 <td>)</td>
16048 <td></td><td></td>
16049 </tr>
16050 </table>
16051 </td>
16052 <td class="mlabels-right">
16053<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16054 </tr>
16055</table>
16056</div><div class="memdoc">
16057
16058<p>8 bit fixed point scalar subtraction </p>
16059<dl class="params"><dt>Parameters</dt><dd>
16060 <table class="params">
16061 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input </td></tr>
16062 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input</td></tr>
16063 </table>
16064 </dd>
16065</dl>
16066<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point subtraction </dd></dl>
16067
Kaizen8938bd32017-09-28 14:38:23 +010016068<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00125">125</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016069
Kaizen8938bd32017-09-28 14:38:23 +010016070<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00225">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
16071<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;{</div>
16072<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</span> a - b;</div>
16073<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div>
16074</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000016075</div>
16076</div>
16077<a class="anchor" id="ac955c978e18cc9bf6daea31f13076fba"></a>
16078<div class="memitem">
16079<div class="memproto">
16080 <table class="memname">
16081 <tr>
16082 <td class="memname">const std::string&amp; arm_compute::string_from_activation_func </td>
16083 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016084 <td class="paramtype">ActivationLayerInfo::ActivationFunction&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016085 <td class="paramname"><em>act</em></td><td>)</td>
16086 <td></td>
16087 </tr>
16088 </table>
16089</div><div class="memdoc">
16090
16091<p>Translates a given activation function to a string. </p>
16092<dl class="params"><dt>Parameters</dt><dd>
16093 <table class="params">
16094 <tr><td class="paramdir">[in]</td><td class="paramname">act</td><td><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> to be translated to string.</td></tr>
16095 </table>
16096 </dd>
16097</dl>
16098<dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
16099
Anthony Barbier871448e2017-03-24 14:54:29 +000016100</div>
16101</div>
16102<a class="anchor" id="abd15add5c6c7de5c8205ce236875aadd"></a>
16103<div class="memitem">
16104<div class="memproto">
16105 <table class="memname">
16106 <tr>
16107 <td class="memname">const std::string&amp; arm_compute::string_from_border_mode </td>
16108 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016109 <td class="paramtype">BorderMode&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016110 <td class="paramname"><em>border_mode</em></td><td>)</td>
16111 <td></td>
16112 </tr>
16113 </table>
16114</div><div class="memdoc">
16115
16116<p>Translates a given border mode policy to a string. </p>
16117<dl class="params"><dt>Parameters</dt><dd>
16118 <table class="params">
16119 <tr><td class="paramdir">[in]</td><td class="paramname">border_mode</td><td><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> to be translated to string.</td></tr>
16120 </table>
16121 </dd>
16122</dl>
16123<dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
16124
Anthony Barbier871448e2017-03-24 14:54:29 +000016125</div>
16126</div>
16127<a class="anchor" id="a106c203dd6af234d38452ea0ee7b2ddc"></a>
16128<div class="memitem">
16129<div class="memproto">
16130 <table class="memname">
16131 <tr>
16132 <td class="memname">const std::string&amp; arm_compute::string_from_channel </td>
16133 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016134 <td class="paramtype">Channel&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016135 <td class="paramname"><em>channel</em></td><td>)</td>
16136 <td></td>
16137 </tr>
16138 </table>
16139</div><div class="memdoc">
16140
16141<p>Convert a channel identity into a string. </p>
16142<dl class="params"><dt>Parameters</dt><dd>
16143 <table class="params">
16144 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> to be translated to string.</td></tr>
16145 </table>
16146 </dd>
16147</dl>
16148<dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
16149
Anthony Barbier871448e2017-03-24 14:54:29 +000016150</div>
16151</div>
16152<a class="anchor" id="aefa1d9648995e5eccc693c690e27aa88"></a>
16153<div class="memitem">
16154<div class="memproto">
16155 <table class="memname">
16156 <tr>
16157 <td class="memname">const std::string&amp; arm_compute::string_from_data_type </td>
16158 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016159 <td class="paramtype">DataType&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016160 <td class="paramname"><em>dt</em></td><td>)</td>
16161 <td></td>
16162 </tr>
16163 </table>
16164</div><div class="memdoc">
16165
16166<p>Convert a data type identity into a string. </p>
16167<dl class="params"><dt>Parameters</dt><dd>
16168 <table class="params">
16169 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> to be translated to string.</td></tr>
16170 </table>
16171 </dd>
16172</dl>
16173<dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
16174
Kaizen8938bd32017-09-28 14:38:23 +010016175<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00387">error_on_data_type_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00565">error_on_value_not_representable_in_fixed_point()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000016176
16177</div>
16178</div>
16179<a class="anchor" id="a9c92c867fc64454545668d87b20979eb"></a>
16180<div class="memitem">
16181<div class="memproto">
16182 <table class="memname">
16183 <tr>
16184 <td class="memname">const std::string&amp; arm_compute::string_from_format </td>
16185 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016186 <td class="paramtype">Format&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016187 <td class="paramname"><em>format</em></td><td>)</td>
16188 <td></td>
16189 </tr>
16190 </table>
16191</div><div class="memdoc">
16192
16193<p>Convert a tensor format into a string. </p>
16194<dl class="params"><dt>Parameters</dt><dd>
16195 <table class="params">
16196 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> to be translated to string.</td></tr>
16197 </table>
16198 </dd>
16199</dl>
16200<dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
16201
Kaizen8938bd32017-09-28 14:38:23 +010016202<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00356">error_on_format_not_in()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000016203
16204</div>
16205</div>
16206<a class="anchor" id="ade34f5e72f050fd3665f3294dfb15850"></a>
16207<div class="memitem">
16208<div class="memproto">
16209 <table class="memname">
16210 <tr>
16211 <td class="memname">const std::string&amp; arm_compute::string_from_interpolation_policy </td>
16212 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016213 <td class="paramtype">InterpolationPolicy&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016214 <td class="paramname"><em>policy</em></td><td>)</td>
16215 <td></td>
16216 </tr>
16217 </table>
16218</div><div class="memdoc">
16219
16220<p>Translates a given interpolation policy to a string. </p>
16221<dl class="params"><dt>Parameters</dt><dd>
16222 <table class="params">
16223 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> to be translated to string.</td></tr>
16224 </table>
16225 </dd>
16226</dl>
16227<dl class="section return"><dt>Returns</dt><dd>The string describing the interpolation policy. </dd></dl>
16228
Anthony Barbier871448e2017-03-24 14:54:29 +000016229</div>
16230</div>
16231<a class="anchor" id="a018795ab2489d17309e158ff5c060ab1"></a>
16232<div class="memitem">
16233<div class="memproto">
16234 <table class="memname">
16235 <tr>
16236 <td class="memname">const std::string&amp; arm_compute::string_from_matrix_pattern </td>
16237 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016238 <td class="paramtype">MatrixPattern&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016239 <td class="paramname"><em>pattern</em></td><td>)</td>
16240 <td></td>
16241 </tr>
16242 </table>
16243</div><div class="memdoc">
16244
16245<p>Convert a matrix pattern into a string. </p>
16246<dl class="params"><dt>Parameters</dt><dd>
16247 <table class="params">
16248 <tr><td class="paramdir">[in]</td><td class="paramname">pattern</td><td><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> to be translated to string.</td></tr>
16249 </table>
16250 </dd>
16251</dl>
16252<dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
16253
Anthony Barbier871448e2017-03-24 14:54:29 +000016254</div>
16255</div>
16256<a class="anchor" id="a14831547f57ecf5f0deef888ad41ad30"></a>
16257<div class="memitem">
16258<div class="memproto">
16259 <table class="memname">
16260 <tr>
16261 <td class="memname">const std::string&amp; arm_compute::string_from_non_linear_filter_function </td>
16262 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016263 <td class="paramtype">NonLinearFilterFunction&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016264 <td class="paramname"><em>function</em></td><td>)</td>
16265 <td></td>
16266 </tr>
16267 </table>
16268</div><div class="memdoc">
16269
16270<p>Translates a given non linear function to a string. </p>
16271<dl class="params"><dt>Parameters</dt><dd>
16272 <table class="params">
16273 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> to be translated to string.</td></tr>
16274 </table>
16275 </dd>
16276</dl>
16277<dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
16278
Anthony Barbierdbdab852017-06-23 15:42:00 +010016279</div>
16280</div>
16281<a class="anchor" id="afb5698af5404d5d11e3516c87b6e7041"></a>
16282<div class="memitem">
16283<div class="memproto">
16284 <table class="memname">
16285 <tr>
16286 <td class="memname">const std::string&amp; arm_compute::string_from_norm_type </td>
16287 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016288 <td class="paramtype">NormType&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016289 <td class="paramname"><em>type</em></td><td>)</td>
16290 <td></td>
16291 </tr>
16292 </table>
16293</div><div class="memdoc">
16294
16295<p>Translates a given normalization type to a string. </p>
16296<dl class="params"><dt>Parameters</dt><dd>
16297 <table class="params">
16298 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> to be translated to string.</td></tr>
16299 </table>
16300 </dd>
16301</dl>
16302<dl class="section return"><dt>Returns</dt><dd>The string describing the normalization type. </dd></dl>
16303
Kaizen8938bd32017-09-28 14:38:23 +010016304</div>
16305</div>
16306<a class="anchor" id="a84a03e85d2c40bf54ec8cdd5e3715c58"></a>
16307<div class="memitem">
16308<div class="memproto">
16309 <table class="memname">
16310 <tr>
16311 <td class="memname">const std::string&amp; arm_compute::string_from_pooling_type </td>
16312 <td>(</td>
16313 <td class="paramtype">PoolingType&#160;</td>
16314 <td class="paramname"><em>type</em></td><td>)</td>
16315 <td></td>
16316 </tr>
16317 </table>
16318</div><div class="memdoc">
16319
16320<p>Translates a given pooling type to a string. </p>
16321<dl class="params"><dt>Parameters</dt><dd>
16322 <table class="params">
16323 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> to be translated to string.</td></tr>
16324 </table>
16325 </dd>
16326</dl>
16327<dl class="section return"><dt>Returns</dt><dd>The string describing the pooling type. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016328
16329</div>
16330</div>
16331<a class="anchor" id="aa5191117dc677a74552769b87131b1b6"></a>
16332<div class="memitem">
16333<div class="memproto">
16334 <table class="memname">
16335 <tr>
16336 <td class="memname">const std::string&amp; arm_compute::string_from_scheduler_type </td>
16337 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016338 <td class="paramtype">Scheduler::Type&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016339 <td class="paramname"><em>t</em></td><td>)</td>
16340 <td></td>
16341 </tr>
16342 </table>
16343</div><div class="memdoc">
16344
16345<p>Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> into a string. </p>
16346<dl class="params"><dt>Parameters</dt><dd>
16347 <table class="params">
16348 <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td><a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> to be translated to string.</td></tr>
16349 </table>
16350 </dd>
16351</dl>
16352<dl class="section return"><dt>Returns</dt><dd>The string describing the scheduler type. </dd></dl>
16353
16354</div>
16355</div>
16356<a class="anchor" id="afab814721e78cbfc34e7e7fe2874fa56"></a>
16357<div class="memitem">
16358<div class="memproto">
16359 <table class="memname">
16360 <tr>
16361 <td class="memname">const std::string&amp; arm_compute::string_from_target </td>
16362 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010016363 <td class="paramtype">GPUTarget&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016364 <td class="paramname"><em>target</em></td><td>)</td>
16365 <td></td>
16366 </tr>
16367 </table>
16368</div><div class="memdoc">
16369
16370<p>Translates a given gpu device target to string. </p>
16371<dl class="params"><dt>Parameters</dt><dd>
16372 <table class="params">
16373 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>Given gpu target.</td></tr>
16374 </table>
16375 </dd>
16376</dl>
16377<dl class="section return"><dt>Returns</dt><dd>The string describing the target. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000016378
16379</div>
16380</div>
Kaizen8938bd32017-09-28 14:38:23 +010016381<a class="anchor" id="aabe16be22edb41656e66ed9eae3b69e6"></a>
16382<div class="memitem">
16383<div class="memproto">
16384<table class="mlabels">
16385 <tr>
16386 <td class="mlabels-left">
16387 <table class="memname">
16388 <tr>
16389 <td class="memname">std::string arm_compute::to_string </td>
16390 <td>(</td>
16391 <td class="paramtype">const NonLinearFilterFunction &amp;&#160;</td>
16392 <td class="paramname"><em>function</em></td><td>)</td>
16393 <td></td>
16394 </tr>
16395 </table>
16396 </td>
16397 <td class="mlabels-right">
16398<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16399 </tr>
16400</table>
16401</div><div class="memdoc">
16402
Kaizenbf8b01d2017-10-12 14:26:51 +010016403<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00078">78</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016404
Kaizenbf8b01d2017-10-12 14:26:51 +010016405<p>Referenced by <a class="el" href="_u_n_i_t_2_fixed_point_8cpp_source.xhtml#l00067">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00059">main()</a>.</p>
16406<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div>
16407<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; std::stringstream str;</div>
16408<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; str &lt;&lt; <span class="keyword">function</span>;</div>
16409<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16410<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016411</div><!-- fragment -->
16412</div>
16413</div>
16414<a class="anchor" id="a27f0ebddef1b83e0ac31c7a7a23a8d36"></a>
16415<div class="memitem">
16416<div class="memproto">
16417<table class="mlabels">
16418 <tr>
16419 <td class="mlabels-left">
16420 <table class="memname">
16421 <tr>
16422 <td class="memname">std::string arm_compute::to_string </td>
16423 <td>(</td>
16424 <td class="paramtype">const MatrixPattern &amp;&#160;</td>
16425 <td class="paramname"><em>pattern</em></td><td>)</td>
16426 <td></td>
16427 </tr>
16428 </table>
16429 </td>
16430 <td class="mlabels-right">
16431<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16432 </tr>
16433</table>
16434</div><div class="memdoc">
16435
Kaizenbf8b01d2017-10-12 14:26:51 +010016436<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00109">109</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16437<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;{</div>
16438<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; std::stringstream str;</div>
16439<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; str &lt;&lt; pattern;</div>
16440<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16441<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
16442</div><!-- fragment -->
16443</div>
16444</div>
16445<a class="anchor" id="a3d4684c886b4d13ce004cd6d7fcea9b1"></a>
16446<div class="memitem">
16447<div class="memproto">
16448<table class="mlabels">
16449 <tr>
16450 <td class="mlabels-left">
16451 <table class="memname">
16452 <tr>
16453 <td class="memname">std::string arm_compute::to_string </td>
16454 <td>(</td>
16455 <td class="paramtype">const FixedPointOp &amp;&#160;</td>
16456 <td class="paramname"><em>op</em></td><td>)</td>
16457 <td></td>
16458 </tr>
16459 </table>
16460 </td>
16461 <td class="mlabels-right">
16462<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16463 </tr>
16464</table>
16465</div><div class="memdoc">
16466
16467<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00185">185</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16468<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;{</div>
16469<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; std::stringstream str;</div>
16470<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; str &lt;&lt; op;</div>
16471<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16472<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016473</div><!-- fragment -->
16474</div>
16475</div>
16476<a class="anchor" id="a72626d2cca3922127c41526e37e9e623"></a>
16477<div class="memitem">
16478<div class="memproto">
16479<table class="mlabels">
16480 <tr>
16481 <td class="mlabels-left">
16482 <table class="memname">
16483 <tr>
16484 <td class="memname">std::string arm_compute::to_string </td>
16485 <td>(</td>
16486 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">arm_compute::ActivationLayerInfo</a> &amp;&#160;</td>
16487 <td class="paramname"><em>info</em></td><td>)</td>
16488 <td></td>
16489 </tr>
16490 </table>
16491 </td>
16492 <td class="mlabels-right">
16493<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16494 </tr>
16495</table>
16496</div><div class="memdoc">
16497
Kaizenbf8b01d2017-10-12 14:26:51 +010016498<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00236">236</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016499
16500<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00541">ActivationLayerInfo::activation()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010016501<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;{</div>
16502<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; std::stringstream str;</div>
16503<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">activation</a>();</div>
16504<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16505<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016506<div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a63e05ce4946dd9807c005c1619fa337a"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">arm_compute::ActivationLayerInfo::activation</a></div><div class="ttdeci">ActivationFunction activation() const </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00541">Types.h:541</a></div></div>
16507</div><!-- fragment -->
16508</div>
16509</div>
16510<a class="anchor" id="a8a18c453150ab547c1add44b3ed3bc56"></a>
16511<div class="memitem">
16512<div class="memproto">
16513<table class="mlabels">
16514 <tr>
16515 <td class="mlabels-left">
16516 <table class="memname">
16517 <tr>
16518 <td class="memname">std::string arm_compute::to_string </td>
16519 <td>(</td>
16520 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">arm_compute::ActivationLayerInfo::ActivationFunction</a> &amp;&#160;</td>
16521 <td class="paramname"><em>function</em></td><td>)</td>
16522 <td></td>
16523 </tr>
16524 </table>
16525 </td>
16526 <td class="mlabels-right">
16527<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16528 </tr>
16529</table>
16530</div><div class="memdoc">
16531
Kaizenbf8b01d2017-10-12 14:26:51 +010016532<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00243">243</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16533<div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;{</div>
16534<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; std::stringstream str;</div>
16535<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; str &lt;&lt; <span class="keyword">function</span>;</div>
16536<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16537<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016538</div><!-- fragment -->
16539</div>
16540</div>
16541<a class="anchor" id="a45dd771bdecbafb975fd267c2ae320a7"></a>
16542<div class="memitem">
16543<div class="memproto">
16544<table class="mlabels">
16545 <tr>
16546 <td class="mlabels-left">
16547 <table class="memname">
16548 <tr>
16549 <td class="memname">std::string arm_compute::to_string </td>
16550 <td>(</td>
16551 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">arm_compute::NormalizationLayerInfo</a> &amp;&#160;</td>
16552 <td class="paramname"><em>info</em></td><td>)</td>
16553 <td></td>
16554 </tr>
16555 </table>
16556 </td>
16557 <td class="mlabels-right">
16558<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16559 </tr>
16560</table>
16561</div><div class="memdoc">
16562
Kaizenbf8b01d2017-10-12 14:26:51 +010016563<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00271">271</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016564
16565<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00576">NormalizationLayerInfo::type()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010016566<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;{</div>
16567<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; std::stringstream str;</div>
16568<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">type</a>();</div>
16569<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16570<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016571<div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a39f6445d0b790034f0d8fac36f2eb7f5"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">arm_compute::NormalizationLayerInfo::type</a></div><div class="ttdeci">NormType type() const </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00576">Types.h:576</a></div></div>
16572</div><!-- fragment -->
16573</div>
16574</div>
16575<a class="anchor" id="a96b47511b549b48d2ead05b5c757ccc9"></a>
16576<div class="memitem">
16577<div class="memproto">
16578<table class="mlabels">
16579 <tr>
16580 <td class="mlabels-left">
16581 <table class="memname">
16582 <tr>
16583 <td class="memname">std::string arm_compute::to_string </td>
16584 <td>(</td>
16585 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;&#160;</td>
16586 <td class="paramname"><em>data_type</em></td><td>)</td>
16587 <td></td>
16588 </tr>
16589 </table>
16590 </td>
16591 <td class="mlabels-right">
16592<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16593 </tr>
16594</table>
16595</div><div class="memdoc">
16596
Kaizenbf8b01d2017-10-12 14:26:51 +010016597<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00371">371</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016598
16599<p>References <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">arm_compute::test::validation::data_type</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010016600<div class="fragment"><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;{</div>
16601<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; std::stringstream str;</div>
16602<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>;</div>
16603<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16604<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016605<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
16606</div><!-- fragment -->
16607</div>
16608</div>
16609<a class="anchor" id="ab0e6381843dc9901bb59285ec846dc5d"></a>
16610<div class="memitem">
16611<div class="memproto">
16612<table class="mlabels">
16613 <tr>
16614 <td class="mlabels-left">
16615 <table class="memname">
16616 <tr>
16617 <td class="memname">std::string arm_compute::to_string </td>
16618 <td>(</td>
16619 <td class="paramtype">const Format &amp;&#160;</td>
16620 <td class="paramname"><em>format</em></td><td>)</td>
16621 <td></td>
16622 </tr>
16623 </table>
16624 </td>
16625 <td class="mlabels-right">
16626<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16627 </tr>
16628</table>
16629</div><div class="memdoc">
16630
Kaizenbf8b01d2017-10-12 14:26:51 +010016631<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00441">441</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16632<div class="fragment"><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;{</div>
16633<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; std::stringstream str;</div>
16634<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; str &lt;&lt; format;</div>
16635<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16636<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016637</div><!-- fragment -->
16638</div>
16639</div>
16640<a class="anchor" id="aa32488ee1dd78e0464ed23e8cc2b6e49"></a>
16641<div class="memitem">
16642<div class="memproto">
16643<table class="mlabels">
16644 <tr>
16645 <td class="mlabels-left">
16646 <table class="memname">
16647 <tr>
16648 <td class="memname">std::string arm_compute::to_string </td>
16649 <td>(</td>
16650 <td class="paramtype">const Dimensions&lt; T &gt; &amp;&#160;</td>
16651 <td class="paramname"><em>dimensions</em></td><td>)</td>
16652 <td></td>
16653 </tr>
16654 </table>
16655 </td>
16656 <td class="mlabels-right">
16657<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16658 </tr>
16659</table>
16660</div><div class="memdoc">
16661
Kaizenbf8b01d2017-10-12 14:26:51 +010016662<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00550">550</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16663<div class="fragment"><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;{</div>
16664<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; std::stringstream str;</div>
16665<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; str &lt;&lt; dimensions;</div>
16666<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16667<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;}</div>
16668</div><!-- fragment -->
16669</div>
16670</div>
16671<a class="anchor" id="a1c4486f45128be7156e38e6dea345a16"></a>
16672<div class="memitem">
16673<div class="memproto">
16674<table class="mlabels">
16675 <tr>
16676 <td class="mlabels-left">
16677 <table class="memname">
16678 <tr>
16679 <td class="memname">std::string arm_compute::to_string </td>
16680 <td>(</td>
16681 <td class="paramtype">const Strides &amp;&#160;</td>
16682 <td class="paramname"><em>stride</em></td><td>)</td>
16683 <td></td>
16684 </tr>
16685 </table>
16686 </td>
16687 <td class="mlabels-right">
16688<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16689 </tr>
16690</table>
16691</div><div class="memdoc">
16692
16693<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00557">557</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16694<div class="fragment"><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;{</div>
16695<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; std::stringstream str;</div>
16696<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; str &lt;&lt; stride;</div>
16697<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16698<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016699</div><!-- fragment -->
16700</div>
16701</div>
16702<a class="anchor" id="a9d9b56d1b106b79fc5c5411372222d0f"></a>
16703<div class="memitem">
16704<div class="memproto">
16705<table class="mlabels">
16706 <tr>
16707 <td class="mlabels-left">
16708 <table class="memname">
16709 <tr>
16710 <td class="memname">std::string arm_compute::to_string </td>
16711 <td>(</td>
16712 <td class="paramtype">const TensorShape &amp;&#160;</td>
16713 <td class="paramname"><em>shape</em></td><td>)</td>
16714 <td></td>
16715 </tr>
16716 </table>
16717 </td>
16718 <td class="mlabels-right">
16719<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16720 </tr>
16721</table>
16722</div><div class="memdoc">
16723
16724<p>Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> type. </p>
16725
Kaizenbf8b01d2017-10-12 14:26:51 +010016726<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00565">565</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016727
16728<p>References <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010016729<div class="fragment"><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;{</div>
16730<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; std::stringstream str;</div>
16731<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div>
16732<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16733<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016734<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
16735</div><!-- fragment -->
16736</div>
16737</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010016738<a class="anchor" id="a805a74997e303d29108845956a674387"></a>
16739<div class="memitem">
16740<div class="memproto">
16741<table class="mlabels">
16742 <tr>
16743 <td class="mlabels-left">
16744 <table class="memname">
16745 <tr>
16746 <td class="memname">std::string arm_compute::to_string </td>
16747 <td>(</td>
16748 <td class="paramtype">const Coordinates &amp;&#160;</td>
16749 <td class="paramname"><em>coord</em></td><td>)</td>
16750 <td></td>
16751 </tr>
16752 </table>
16753 </td>
16754 <td class="mlabels-right">
16755<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16756 </tr>
16757</table>
16758</div><div class="memdoc">
16759
16760<p>Formatted output of the <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> type. </p>
16761
16762<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00573">573</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16763<div class="fragment"><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;{</div>
16764<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; std::stringstream str;</div>
16765<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; str &lt;&lt; coord;</div>
16766<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16767<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;}</div>
16768</div><!-- fragment -->
16769</div>
16770</div>
Kaizen8938bd32017-09-28 14:38:23 +010016771<a class="anchor" id="a2c0e6c1c4cf10da25e7a7362ba151ba2"></a>
16772<div class="memitem">
16773<div class="memproto">
16774<table class="mlabels">
16775 <tr>
16776 <td class="mlabels-left">
16777 <table class="memname">
16778 <tr>
16779 <td class="memname">std::string arm_compute::to_string </td>
16780 <td>(</td>
16781 <td class="paramtype">const PadStrideInfo &amp;&#160;</td>
16782 <td class="paramname"><em>pad_stride_info</em></td><td>)</td>
16783 <td></td>
16784 </tr>
16785 </table>
16786 </td>
16787 <td class="mlabels-right">
16788<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16789 </tr>
16790</table>
16791</div><div class="memdoc">
16792
Kaizenbf8b01d2017-10-12 14:26:51 +010016793<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00599">599</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16794<div class="fragment"><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;{</div>
16795<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; std::stringstream str;</div>
16796<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; str &lt;&lt; pad_stride_info;</div>
16797<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16798<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016799</div><!-- fragment -->
16800</div>
16801</div>
16802<a class="anchor" id="a0604106dd269acd58152a81ba87cc265"></a>
16803<div class="memitem">
16804<div class="memproto">
16805<table class="mlabels">
16806 <tr>
16807 <td class="mlabels-left">
16808 <table class="memname">
16809 <tr>
16810 <td class="memname">std::string arm_compute::to_string </td>
16811 <td>(</td>
16812 <td class="paramtype">const BorderMode &amp;&#160;</td>
16813 <td class="paramname"><em>mode</em></td><td>)</td>
16814 <td></td>
16815 </tr>
16816 </table>
16817 </td>
16818 <td class="mlabels-right">
16819<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16820 </tr>
16821</table>
16822</div><div class="memdoc">
16823
Kaizenbf8b01d2017-10-12 14:26:51 +010016824<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00606">606</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16825<div class="fragment"><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;{</div>
16826<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; std::stringstream str;</div>
16827<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; str &lt;&lt; mode;</div>
16828<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16829<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;}</div>
16830</div><!-- fragment -->
16831</div>
16832</div>
16833<a class="anchor" id="a5c9cde9144eaeceaf086377b9bc5a5be"></a>
16834<div class="memitem">
16835<div class="memproto">
16836<table class="mlabels">
16837 <tr>
16838 <td class="mlabels-left">
16839 <table class="memname">
16840 <tr>
16841 <td class="memname">std::string arm_compute::to_string </td>
16842 <td>(</td>
16843 <td class="paramtype">const BorderSize &amp;&#160;</td>
16844 <td class="paramname"><em>border</em></td><td>)</td>
16845 <td></td>
16846 </tr>
16847 </table>
16848 </td>
16849 <td class="mlabels-right">
16850<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16851 </tr>
16852</table>
16853</div><div class="memdoc">
16854
16855<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00613">613</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16856<div class="fragment"><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;{</div>
16857<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; std::stringstream str;</div>
16858<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; str &lt;&lt; border;</div>
16859<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16860<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016861</div><!-- fragment -->
16862</div>
16863</div>
16864<a class="anchor" id="a94bd78942b683c05cba85048537d3ee7"></a>
16865<div class="memitem">
16866<div class="memproto">
16867<table class="mlabels">
16868 <tr>
16869 <td class="mlabels-left">
16870 <table class="memname">
16871 <tr>
16872 <td class="memname">std::string arm_compute::to_string </td>
16873 <td>(</td>
16874 <td class="paramtype">const InterpolationPolicy &amp;&#160;</td>
16875 <td class="paramname"><em>policy</em></td><td>)</td>
16876 <td></td>
16877 </tr>
16878 </table>
16879 </td>
16880 <td class="mlabels-right">
16881<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16882 </tr>
16883</table>
16884</div><div class="memdoc">
16885
Kaizenbf8b01d2017-10-12 14:26:51 +010016886<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00620">620</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16887<div class="fragment"><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;{</div>
16888<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; std::stringstream str;</div>
16889<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; str &lt;&lt; policy;</div>
16890<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16891<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016892</div><!-- fragment -->
16893</div>
16894</div>
16895<a class="anchor" id="adcc7e107e7dbd2ffac02189089c33e4f"></a>
16896<div class="memitem">
16897<div class="memproto">
16898<table class="mlabels">
16899 <tr>
16900 <td class="mlabels-left">
16901 <table class="memname">
16902 <tr>
16903 <td class="memname">std::string arm_compute::to_string </td>
16904 <td>(</td>
16905 <td class="paramtype">const ConvertPolicy &amp;&#160;</td>
16906 <td class="paramname"><em>policy</em></td><td>)</td>
16907 <td></td>
16908 </tr>
16909 </table>
16910 </td>
16911 <td class="mlabels-right">
16912<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16913 </tr>
16914</table>
16915</div><div class="memdoc">
16916
Kaizenbf8b01d2017-10-12 14:26:51 +010016917<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00645">645</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16918<div class="fragment"><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;{</div>
16919<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; std::stringstream str;</div>
16920<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; str &lt;&lt; policy;</div>
16921<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16922<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016923</div><!-- fragment -->
16924</div>
16925</div>
16926<a class="anchor" id="aae534105c7ea67999ccbb34a0ed567cd"></a>
16927<div class="memitem">
16928<div class="memproto">
16929<table class="mlabels">
16930 <tr>
16931 <td class="mlabels-left">
16932 <table class="memname">
16933 <tr>
16934 <td class="memname">std::string arm_compute::to_string </td>
16935 <td>(</td>
16936 <td class="paramtype">const ReductionOperation &amp;&#160;</td>
16937 <td class="paramname"><em>op</em></td><td>)</td>
16938 <td></td>
16939 </tr>
16940 </table>
16941 </td>
16942 <td class="mlabels-right">
16943<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16944 </tr>
16945</table>
16946</div><div class="memdoc">
16947
Kaizenbf8b01d2017-10-12 14:26:51 +010016948<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00667">667</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
16949<div class="fragment"><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;{</div>
16950<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; std::stringstream str;</div>
16951<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; str &lt;&lt; op;</div>
16952<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16953<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016954</div><!-- fragment -->
16955</div>
16956</div>
16957<a class="anchor" id="ad8b676c38d9b8d9d9bde7caec5720bd9"></a>
16958<div class="memitem">
16959<div class="memproto">
16960<table class="mlabels">
16961 <tr>
16962 <td class="mlabels-left">
16963 <table class="memname">
16964 <tr>
16965 <td class="memname">std::string arm_compute::to_string </td>
16966 <td>(</td>
16967 <td class="paramtype">const NormType &amp;&#160;</td>
16968 <td class="paramname"><em>type</em></td><td>)</td>
16969 <td></td>
16970 </tr>
16971 </table>
16972 </td>
16973 <td class="mlabels-right">
16974<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16975 </tr>
16976</table>
16977</div><div class="memdoc">
16978
Kaizenbf8b01d2017-10-12 14:26:51 +010016979<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00674">674</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010016980
16981<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010016982<div class="fragment"><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;{</div>
16983<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; std::stringstream str;</div>
16984<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; str &lt;&lt; <a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">type</a>;</div>
16985<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">return</span> str.str();</div>
16986<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010016987<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
16988</div><!-- fragment -->
16989</div>
16990</div>
16991<a class="anchor" id="a2872d19dd10dc3117813d291c08e0383"></a>
16992<div class="memitem">
16993<div class="memproto">
16994<table class="mlabels">
16995 <tr>
16996 <td class="mlabels-left">
16997 <table class="memname">
16998 <tr>
16999 <td class="memname">std::string arm_compute::to_string </td>
17000 <td>(</td>
17001 <td class="paramtype">const PoolingType &amp;&#160;</td>
17002 <td class="paramname"><em>type</em></td><td>)</td>
17003 <td></td>
17004 </tr>
17005 </table>
17006 </td>
17007 <td class="mlabels-right">
17008<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17009 </tr>
17010</table>
17011</div><div class="memdoc">
17012
Kaizenbf8b01d2017-10-12 14:26:51 +010017013<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00681">681</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017014
17015<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010017016<div class="fragment"><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;{</div>
17017<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; std::stringstream str;</div>
17018<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; str &lt;&lt; <a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">type</a>;</div>
17019<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">return</span> str.str();</div>
17020<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017021<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
17022</div><!-- fragment -->
17023</div>
17024</div>
17025<a class="anchor" id="acef515348c5f7f73c89aa4b8a47a02bc"></a>
17026<div class="memitem">
17027<div class="memproto">
17028<table class="mlabels">
17029 <tr>
17030 <td class="mlabels-left">
17031 <table class="memname">
17032 <tr>
17033 <td class="memname">std::string arm_compute::to_string </td>
17034 <td>(</td>
17035 <td class="paramtype">const PoolingLayerInfo &amp;&#160;</td>
17036 <td class="paramname"><em>info</em></td><td>)</td>
17037 <td></td>
17038 </tr>
17039 </table>
17040 </td>
17041 <td class="mlabels-right">
17042<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17043 </tr>
17044</table>
17045</div><div class="memdoc">
17046
Kaizenbf8b01d2017-10-12 14:26:51 +010017047<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00688">688</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017048
17049<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00458">PoolingLayerInfo::pool_type()</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010017050<div class="fragment"><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;{</div>
17051<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; std::stringstream str;</div>
17052<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div>
17053<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">return</span> str.str();</div>
17054<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017055<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
17056</div><!-- fragment -->
17057</div>
17058</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000017059<a class="anchor" id="ac2a92cae51d2734a65676052adb33c22"></a>
17060<div class="memitem">
17061<div class="memproto">
17062 <table class="memname">
17063 <tr>
17064 <td class="memname">bool arm_compute::update_window_and_padding </td>
17065 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017066 <td class="paramtype">Window &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017067 <td class="paramname"><em>win</em>, </td>
17068 </tr>
17069 <tr>
17070 <td class="paramkey"></td>
17071 <td></td>
17072 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
17073 <td class="paramname"><em>patterns</em>&#160;</td>
17074 </tr>
17075 <tr>
17076 <td></td>
17077 <td>)</td>
17078 <td></td><td></td>
17079 </tr>
17080 </table>
17081</div><div class="memdoc">
17082
17083<p>Update window and padding size for each of the access patterns. </p>
17084<p>First the window size is reduced based on all access patterns that are not allowed to modify the padding of the underlying tensor. Then the padding of the remaining tensors is increased to match the window.</p>
17085<dl class="params"><dt>Parameters</dt><dd>
17086 <table class="params">
17087 <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> that is used by the kernel. </td></tr>
17088 <tr><td class="paramdir">[in]</td><td class="paramname">patterns</td><td>Access patterns used to calculate the final window and padding.</td></tr>
17089 </table>
17090 </dd>
17091</dl>
17092<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>
17093
Kaizen8938bd32017-09-28 14:38:23 +010017094<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00343">343</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000017095
Kaizen8938bd32017-09-28 14:38:23 +010017096<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</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>
17097<div class="fragment"><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;{</div>
17098<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div>
17099<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div>
17100<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>([&amp;](<span class="keyword">const</span> IAccessWindow &amp; w)</div>
17101<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; {</div>
17102<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; window_changed |= w.update_window_if_needed(win);</div>
17103<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; },</div>
17104<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; patterns...);</div>
17105<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div>
17106<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</div>
17107<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div>
17108<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>([&amp;](<span class="keyword">const</span> IAccessWindow &amp; w)</div>
17109<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
17110<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; padding_changed |= w.update_padding_if_needed(win);</div>
17111<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; },</div>
17112<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; patterns...);</div>
17113<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
17114<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> window_changed;</div>
17115<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;}</div>
17116<div class="ttc" id="namespacearm__compute_xhtml_ab951ff3c9484cd4b243344b3a0f12d95"><div class="ttname"><a href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &amp;&amp;func, T &amp;&amp;arg, Ts &amp;&amp;...args)</div><div class="ttdoc">Call the function for each of the arguments. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">Helpers.h:219</a></div></div>
17117</div><!-- fragment -->
17118</div>
17119</div>
17120<a class="anchor" id="a5344249fe56e2a6cf0b7336c069cb846"></a>
17121<div class="memitem">
17122<div class="memproto">
17123<table class="mlabels">
17124 <tr>
17125 <td class="mlabels-left">
17126 <table class="memname">
17127 <tr>
17128 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vabs_qs16 </td>
17129 <td>(</td>
17130 <td class="paramtype">qint16x4_t&#160;</td>
17131 <td class="paramname"><em>a</em></td><td>)</td>
17132 <td></td>
17133 </tr>
17134 </table>
17135 </td>
17136 <td class="mlabels-right">
17137<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17138 </tr>
17139</table>
17140</div><div class="memdoc">
17141
17142<p>Absolute value of 16 bit fixed point vector (4 elements) </p>
17143<dl class="params"><dt>Parameters</dt><dd>
17144 <table class="params">
17145 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
17146 </table>
17147 </dd>
17148</dl>
17149<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
17150
Kaizenbf8b01d2017-10-12 14:26:51 +010017151<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00289">289</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17152<div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;{</div>
17153<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> vabs_s16(a);</div>
17154<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017155</div><!-- fragment -->
17156</div>
17157</div>
17158<a class="anchor" id="ab62f4e080614df358423180767cffefd"></a>
17159<div class="memitem">
17160<div class="memproto">
17161<table class="mlabels">
17162 <tr>
17163 <td class="mlabels-left">
17164 <table class="memname">
17165 <tr>
17166 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vabs_qs8 </td>
17167 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017168 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017169 <td class="paramname"><em>a</em></td><td>)</td>
17170 <td></td>
17171 </tr>
17172 </table>
17173 </td>
17174 <td class="mlabels-right">
17175<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17176 </tr>
17177</table>
17178</div><div class="memdoc">
17179
17180<p>Absolute value of 8 bit fixed point vector (8 elements) </p>
17181<dl class="params"><dt>Parameters</dt><dd>
17182 <table class="params">
17183 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
17184 </table>
17185 </dd>
17186</dl>
17187<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
17188
Kaizenbf8b01d2017-10-12 14:26:51 +010017189<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00284">284</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17190<div class="fragment"><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;{</div>
17191<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">return</span> vabs_s8(a);</div>
17192<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017193</div><!-- fragment -->
17194</div>
17195</div>
17196<a class="anchor" id="a15cf61eaeb7d9b008f262936f6f4cca8"></a>
17197<div class="memitem">
17198<div class="memproto">
17199<table class="mlabels">
17200 <tr>
17201 <td class="mlabels-left">
17202 <table class="memname">
17203 <tr>
17204 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vabsq_qs16 </td>
17205 <td>(</td>
17206 <td class="paramtype">qint16x8_t&#160;</td>
17207 <td class="paramname"><em>a</em></td><td>)</td>
17208 <td></td>
17209 </tr>
17210 </table>
17211 </td>
17212 <td class="mlabels-right">
17213<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17214 </tr>
17215</table>
17216</div><div class="memdoc">
17217
17218<p>Absolute value of 16 bit fixed point vector (8 elements) </p>
17219<dl class="params"><dt>Parameters</dt><dd>
17220 <table class="params">
17221 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
17222 </table>
17223 </dd>
17224</dl>
17225<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
17226
Kaizenbf8b01d2017-10-12 14:26:51 +010017227<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00299">299</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17228<div class="fragment"><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;{</div>
17229<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> vabsq_s16(a);</div>
17230<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017231</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017232</div>
17233</div>
17234<a class="anchor" id="a3e4c45da2bef323158955d7c3b9d148d"></a>
17235<div class="memitem">
17236<div class="memproto">
17237<table class="mlabels">
17238 <tr>
17239 <td class="mlabels-left">
17240 <table class="memname">
17241 <tr>
17242 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vabsq_qs8 </td>
17243 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017244 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017245 <td class="paramname"><em>a</em></td><td>)</td>
17246 <td></td>
17247 </tr>
17248 </table>
17249 </td>
17250 <td class="mlabels-right">
17251<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17252 </tr>
17253</table>
17254</div><div class="memdoc">
17255
17256<p>Absolute value of 8 bit fixed point vector (16 elements) </p>
17257<dl class="params"><dt>Parameters</dt><dd>
17258 <table class="params">
17259 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
17260 </table>
17261 </dd>
17262</dl>
17263<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
17264
Kaizenbf8b01d2017-10-12 14:26:51 +010017265<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00294">294</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17266<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;{</div>
17267<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">return</span> vabsq_s8(a);</div>
17268<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017269</div><!-- fragment -->
17270</div>
17271</div>
17272<a class="anchor" id="ac28c9ffea6f2c962ec87f69d377faaeb"></a>
17273<div class="memitem">
17274<div class="memproto">
17275<table class="mlabels">
17276 <tr>
17277 <td class="mlabels-left">
17278 <table class="memname">
17279 <tr>
17280 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vadd_qs16 </td>
17281 <td>(</td>
17282 <td class="paramtype">qint16x4_t&#160;</td>
17283 <td class="paramname"><em>a</em>, </td>
17284 </tr>
17285 <tr>
17286 <td class="paramkey"></td>
17287 <td></td>
17288 <td class="paramtype">qint16x4_t&#160;</td>
17289 <td class="paramname"><em>b</em>&#160;</td>
17290 </tr>
17291 <tr>
17292 <td></td>
17293 <td>)</td>
17294 <td></td><td></td>
17295 </tr>
17296 </table>
17297 </td>
17298 <td class="mlabels-right">
17299<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17300 </tr>
17301</table>
17302</div><div class="memdoc">
17303
17304<p>16 bit fixed point vector add (4 elements) </p>
17305<dl class="params"><dt>Parameters</dt><dd>
17306 <table class="params">
17307 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
17308 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
17309 </table>
17310 </dd>
17311</dl>
17312<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
17313
Kaizenbf8b01d2017-10-12 14:26:51 +010017314<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00389">389</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17315<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;{</div>
17316<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">return</span> vadd_s16(a, b);</div>
17317<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017318</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017319</div>
17320</div>
17321<a class="anchor" id="ad91fc981c1b7b04a1975de3aefc6a4f7"></a>
17322<div class="memitem">
17323<div class="memproto">
17324<table class="mlabels">
17325 <tr>
17326 <td class="mlabels-left">
17327 <table class="memname">
17328 <tr>
17329 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vadd_qs8 </td>
17330 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017331 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017332 <td class="paramname"><em>a</em>, </td>
17333 </tr>
17334 <tr>
17335 <td class="paramkey"></td>
17336 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010017337 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017338 <td class="paramname"><em>b</em>&#160;</td>
17339 </tr>
17340 <tr>
17341 <td></td>
17342 <td>)</td>
17343 <td></td><td></td>
17344 </tr>
17345 </table>
17346 </td>
17347 <td class="mlabels-right">
17348<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17349 </tr>
17350</table>
17351</div><div class="memdoc">
17352
17353<p>8 bit fixed point vector add (8 elements) </p>
17354<dl class="params"><dt>Parameters</dt><dd>
17355 <table class="params">
17356 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
17357 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
17358 </table>
17359 </dd>
17360</dl>
17361<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
17362
Kaizenbf8b01d2017-10-12 14:26:51 +010017363<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00384">384</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17364<div class="fragment"><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;{</div>
17365<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">return</span> vadd_s8(a, b);</div>
17366<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017367</div><!-- fragment -->
17368</div>
17369</div>
17370<a class="anchor" id="a2a84234e327a554d7ce7f97f269b6efc"></a>
17371<div class="memitem">
17372<div class="memproto">
17373<table class="mlabels">
17374 <tr>
17375 <td class="mlabels-left">
17376 <table class="memname">
17377 <tr>
17378 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vaddq_qs16 </td>
17379 <td>(</td>
17380 <td class="paramtype">qint16x8_t&#160;</td>
17381 <td class="paramname"><em>a</em>, </td>
17382 </tr>
17383 <tr>
17384 <td class="paramkey"></td>
17385 <td></td>
17386 <td class="paramtype">qint16x8_t&#160;</td>
17387 <td class="paramname"><em>b</em>&#160;</td>
17388 </tr>
17389 <tr>
17390 <td></td>
17391 <td>)</td>
17392 <td></td><td></td>
17393 </tr>
17394 </table>
17395 </td>
17396 <td class="mlabels-right">
17397<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17398 </tr>
17399</table>
17400</div><div class="memdoc">
17401
17402<p>16 bit fixed point vector add (8 elements) </p>
17403<dl class="params"><dt>Parameters</dt><dd>
17404 <table class="params">
17405 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
17406 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
17407 </table>
17408 </dd>
17409</dl>
17410<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
17411
Kaizenbf8b01d2017-10-12 14:26:51 +010017412<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00399">399</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17413<div class="fragment"><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;{</div>
17414<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">return</span> vaddq_s16(a, b);</div>
17415<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017416</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017417</div>
17418</div>
17419<a class="anchor" id="a30eeb53208a2f67d4b0cf73a81b09467"></a>
17420<div class="memitem">
17421<div class="memproto">
17422<table class="mlabels">
17423 <tr>
17424 <td class="mlabels-left">
17425 <table class="memname">
17426 <tr>
17427 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vaddq_qs8 </td>
17428 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017429 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017430 <td class="paramname"><em>a</em>, </td>
17431 </tr>
17432 <tr>
17433 <td class="paramkey"></td>
17434 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010017435 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017436 <td class="paramname"><em>b</em>&#160;</td>
17437 </tr>
17438 <tr>
17439 <td></td>
17440 <td>)</td>
17441 <td></td><td></td>
17442 </tr>
17443 </table>
17444 </td>
17445 <td class="mlabels-right">
17446<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17447 </tr>
17448</table>
17449</div><div class="memdoc">
17450
17451<p>8 bit fixed point vector add (16 elements) </p>
17452<dl class="params"><dt>Parameters</dt><dd>
17453 <table class="params">
17454 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
17455 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
17456 </table>
17457 </dd>
17458</dl>
17459<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
17460
Kaizenbf8b01d2017-10-12 14:26:51 +010017461<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00394">394</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17462<div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;{</div>
17463<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> vaddq_s8(a, b);</div>
17464<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017465</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000017466</div>
17467</div>
Kaizen8938bd32017-09-28 14:38:23 +010017468<a class="anchor" id="a771203a3bf0d0df11dbf90f492525656"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000017469<div class="memitem">
17470<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010017471<table class="mlabels">
17472 <tr>
17473 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000017474 <table class="memname">
17475 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010017476 <td class="memname">float32x4_t vcvt_f32_qs16 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017477 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017478 <td class="paramtype">qint16x4_t&#160;</td>
17479 <td class="paramname"><em>a</em>, </td>
17480 </tr>
17481 <tr>
17482 <td class="paramkey"></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017483 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010017484 <td class="paramtype">int&#160;</td>
17485 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17486 </tr>
17487 <tr>
17488 <td></td>
17489 <td>)</td>
17490 <td></td><td></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017491 </tr>
17492 </table>
Kaizen8938bd32017-09-28 14:38:23 +010017493 </td>
17494 <td class="mlabels-right">
17495<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17496 </tr>
17497</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000017498</div><div class="memdoc">
17499
Kaizen8938bd32017-09-28 14:38:23 +010017500<p>Convert a 16 bit fixed point vector with 4 elements to a float vector with 4 elements. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000017501<dl class="params"><dt>Parameters</dt><dd>
17502 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010017503 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
17504 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000017505 </table>
17506 </dd>
17507</dl>
Kaizen8938bd32017-09-28 14:38:23 +010017508<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float32x2 </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000017509
Kaizenbf8b01d2017-10-12 14:26:51 +010017510<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01003">1003</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
17511<div class="fragment"><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;{</div>
17512<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 &lt;&lt; fixed_point_position));</div>
17513<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <span class="keyword">const</span> float32x4_t res_f32 = vcvtq_f32_s32(vmovl_s16(a));</div>
17514<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;</div>
17515<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="keywordflow">return</span> vmulq_f32(res_f32, pow2);</div>
17516<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010017517</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000017518</div>
17519</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017520<a class="anchor" id="a14a78befffd5c48b43554fdc28d654ff"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000017521<div class="memitem">
17522<div class="memproto">
17523<table class="mlabels">
17524 <tr>
17525 <td class="mlabels-left">
17526 <table class="memname">
17527 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017528 <td class="memname">float32x4x2_t vcvt_f32_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000017529 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017530 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017531 <td class="paramname"><em>a</em>, </td>
17532 </tr>
17533 <tr>
17534 <td class="paramkey"></td>
17535 <td></td>
17536 <td class="paramtype">int&#160;</td>
17537 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17538 </tr>
17539 <tr>
17540 <td></td>
17541 <td>)</td>
17542 <td></td><td></td>
17543 </tr>
17544 </table>
17545 </td>
17546 <td class="mlabels-right">
17547<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17548 </tr>
17549</table>
17550</div><div class="memdoc">
17551
17552<p>Convert a 8 bit fixed point vector with 8 elements to a float vector with 4x2 elements. </p>
17553<dl class="params"><dt>Parameters</dt><dd>
17554 <table class="params">
17555 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector </td></tr>
17556 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17557 </table>
17558 </dd>
17559</dl>
17560<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float32x2x4 </dd></dl>
17561
Kaizenbf8b01d2017-10-12 14:26:51 +010017562<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00975">975</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017563
Kaizenbf8b01d2017-10-12 14:26:51 +010017564<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
17565<div class="fragment"><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;{</div>
17566<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 &lt;&lt; fixed_point_position));</div>
17567<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160;</div>
17568<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="keyword">const</span> int16x8_t res_s16 = vmovl_s8(a);</div>
17569<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;</div>
17570<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
17571<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; {</div>
17572<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; {</div>
17573<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16)),</div>
17574<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16))</div>
17575<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; }</div>
17576<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; };</div>
17577<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;</div>
17578<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; float32x4x2_t res_f32 =</div>
17579<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; {</div>
17580<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; {</div>
17581<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; vcvtq_f32_s32(res_s32.val[0]),</div>
17582<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; vcvtq_f32_s32(res_s32.val[1])</div>
17583<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; }</div>
17584<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; };</div>
17585<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160;</div>
17586<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div>
17587<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div>
17588<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160;</div>
17589<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; <span class="keywordflow">return</span> res_f32;</div>
17590<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;}</div>
17591<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
17592<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017593</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017594</div>
17595</div>
Kaizen8938bd32017-09-28 14:38:23 +010017596<a class="anchor" id="a81653ad507d968c3f760564c7949a86e"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017597<div class="memitem">
17598<div class="memproto">
17599<table class="mlabels">
17600 <tr>
17601 <td class="mlabels-left">
17602 <table class="memname">
17603 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010017604 <td class="memname">float32x4x2_t arm_compute::vcvtq_f32_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017605 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017606 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017607 <td class="paramname"><em>a</em>, </td>
17608 </tr>
17609 <tr>
17610 <td class="paramkey"></td>
17611 <td></td>
17612 <td class="paramtype">int&#160;</td>
17613 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17614 </tr>
17615 <tr>
17616 <td></td>
17617 <td>)</td>
17618 <td></td><td></td>
17619 </tr>
17620 </table>
17621 </td>
17622 <td class="mlabels-right">
17623<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17624 </tr>
17625</table>
17626</div><div class="memdoc">
17627
Kaizenbf8b01d2017-10-12 14:26:51 +010017628<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01051">1051</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017629
Kaizenbf8b01d2017-10-12 14:26:51 +010017630<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
17631<div class="fragment"><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;{</div>
17632<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 &lt;&lt; fixed_point_position));</div>
17633<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;</div>
17634<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
17635<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; {</div>
17636<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; {</div>
17637<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a)),</div>
17638<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a))</div>
17639<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; }</div>
17640<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; };</div>
17641<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;</div>
17642<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; float32x4x2_t res_f32 =</div>
17643<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; {</div>
17644<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; {</div>
17645<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; vcvtq_f32_s32(res_s32.val[0]),</div>
17646<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; vcvtq_f32_s32(res_s32.val[1])</div>
17647<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; }</div>
17648<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; };</div>
17649<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;</div>
17650<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div>
17651<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div>
17652<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;</div>
17653<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <span class="keywordflow">return</span> res_f32;</div>
17654<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;}</div>
17655<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
17656<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017657</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017658</div>
17659</div>
17660<a class="anchor" id="ac18aedae4207e681f6f833281d2395a0"></a>
17661<div class="memitem">
17662<div class="memproto">
17663<table class="mlabels">
17664 <tr>
17665 <td class="mlabels-left">
17666 <table class="memname">
17667 <tr>
17668 <td class="memname">float32x4x4_t arm_compute::vcvtq_f32_qs8 </td>
17669 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017670 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017671 <td class="paramname"><em>a</em>, </td>
17672 </tr>
17673 <tr>
17674 <td class="paramkey"></td>
17675 <td></td>
17676 <td class="paramtype">int&#160;</td>
17677 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17678 </tr>
17679 <tr>
17680 <td></td>
17681 <td>)</td>
17682 <td></td><td></td>
17683 </tr>
17684 </table>
17685 </td>
17686 <td class="mlabels-right">
17687<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17688 </tr>
17689</table>
17690</div><div class="memdoc">
17691
Kaizenbf8b01d2017-10-12 14:26:51 +010017692<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01011">1011</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017693
Kaizenbf8b01d2017-10-12 14:26:51 +010017694<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
17695<div class="fragment"><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;{</div>
17696<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 &lt;&lt; fixed_point_position));</div>
17697<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;</div>
17698<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="keyword">const</span> int16x8x2_t res_s16 =</div>
17699<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; {</div>
17700<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; {</div>
17701<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; vmovl_s8(vget_low_s8(a)),</div>
17702<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; vmovl_s8(vget_high_s8(a)),</div>
17703<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; }</div>
17704<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; };</div>
17705<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div>
17706<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="keyword">const</span> int32x4x4_t res_s32 =</div>
17707<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; {</div>
17708<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; {</div>
17709<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16.val[0])),</div>
17710<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16.val[0])),</div>
17711<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16.val[1])),</div>
17712<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16.val[1])),</div>
17713<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; }</div>
17714<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; };</div>
17715<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;</div>
17716<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; float32x4x4_t res_f32 =</div>
17717<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; {</div>
17718<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; {</div>
17719<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; vcvtq_f32_s32(res_s32.val[0]),</div>
17720<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; vcvtq_f32_s32(res_s32.val[1]),</div>
17721<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; vcvtq_f32_s32(res_s32.val[2]),</div>
17722<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; vcvtq_f32_s32(res_s32.val[3])</div>
17723<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; }</div>
17724<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; };</div>
17725<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div>
17726<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div>
17727<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div>
17728<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; res_f32.val[2] = vmulq_f32(res_f32.val[2], pow2);</div>
17729<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; res_f32.val[3] = vmulq_f32(res_f32.val[3], pow2);</div>
17730<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;</div>
17731<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keywordflow">return</span> res_f32;</div>
17732<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;}</div>
17733<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
17734<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017735</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010017736</div>
17737</div>
Kaizen8938bd32017-09-28 14:38:23 +010017738<a class="anchor" id="a943abeff66faa34d1c2aeeab4ebfabdf"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017739<div class="memitem">
17740<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010017741 <table class="memname">
17742 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010017743 <td class="memname">float32x4x2_t arm_compute::vcvtq_qs16_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017744 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017745 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017746 <td class="paramname"><em>a</em>, </td>
17747 </tr>
17748 <tr>
17749 <td class="paramkey"></td>
17750 <td></td>
17751 <td class="paramtype">int&#160;</td>
17752 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17753 </tr>
17754 <tr>
17755 <td></td>
17756 <td>)</td>
17757 <td></td><td></td>
17758 </tr>
17759 </table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017760</div><div class="memdoc">
17761
Kaizen8938bd32017-09-28 14:38:23 +010017762<p>Convert a 16 bit fixed point vector with 8 elements to a float vector with 4x2 elements. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017763<dl class="params"><dt>Parameters</dt><dd>
17764 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010017765 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017766 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17767 </table>
17768 </dd>
17769</dl>
Kaizen8938bd32017-09-28 14:38:23 +010017770<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -&gt; float32x4x2 </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017771
Anthony Barbierdbdab852017-06-23 15:42:00 +010017772</div>
17773</div>
17774<a class="anchor" id="a19e68f6a298ae587a491df52d6859350"></a>
17775<div class="memitem">
17776<div class="memproto">
17777 <table class="memname">
17778 <tr>
17779 <td class="memname">float32x4x4_t arm_compute::vcvtq_qs8_f32 </td>
17780 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017781 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017782 <td class="paramname"><em>a</em>, </td>
17783 </tr>
17784 <tr>
17785 <td class="paramkey"></td>
17786 <td></td>
17787 <td class="paramtype">int&#160;</td>
17788 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17789 </tr>
17790 <tr>
17791 <td></td>
17792 <td>)</td>
17793 <td></td><td></td>
17794 </tr>
17795 </table>
17796</div><div class="memdoc">
17797
17798<p>Convert a 8 bit fixed point vector with 16 elements to a float vector with 4x4 elements. </p>
17799<dl class="params"><dt>Parameters</dt><dd>
17800 <table class="params">
17801 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector </td></tr>
17802 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17803 </table>
17804 </dd>
17805</dl>
17806<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -&gt; float32x4x4 </dd></dl>
17807
17808</div>
17809</div>
Kaizen8938bd32017-09-28 14:38:23 +010017810<a class="anchor" id="aa65479f6532283c215e398735d0b3c22"></a>
17811<div class="memitem">
17812<div class="memproto">
17813<table class="mlabels">
17814 <tr>
17815 <td class="mlabels-left">
17816 <table class="memname">
17817 <tr>
17818 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vdiv_qs16 </td>
17819 <td>(</td>
17820 <td class="paramtype">qint16x4_t&#160;</td>
17821 <td class="paramname"><em>a</em>, </td>
17822 </tr>
17823 <tr>
17824 <td class="paramkey"></td>
17825 <td></td>
17826 <td class="paramtype">qint16x4_t&#160;</td>
17827 <td class="paramname"><em>b</em>, </td>
17828 </tr>
17829 <tr>
17830 <td class="paramkey"></td>
17831 <td></td>
17832 <td class="paramtype">int&#160;</td>
17833 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17834 </tr>
17835 <tr>
17836 <td></td>
17837 <td>)</td>
17838 <td></td><td></td>
17839 </tr>
17840 </table>
17841 </td>
17842 <td class="mlabels-right">
17843<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17844 </tr>
17845</table>
17846</div><div class="memdoc">
17847
17848<p>Division fixed point 16 bit (4 elements) </p>
17849<dl class="params"><dt>Parameters</dt><dd>
17850 <table class="params">
17851 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
17852 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
17853 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17854 </table>
17855 </dd>
17856</dl>
17857<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in fixed point format. </dd></dl>
17858
Kaizenbf8b01d2017-10-12 14:26:51 +010017859<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01299">1299</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017860
Kaizenbf8b01d2017-10-12 14:26:51 +010017861<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01103">vrecip_qs16()</a>.</p>
17862<div class="fragment"><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;{</div>
17863<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, <a class="code" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a>(b, fixed_point_position), fixed_point_position);</div>
17864<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;}</div>
17865<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
17866<div class="ttc" id="namespacearm__compute_xhtml_a8e14017f1276f4a4e14078d93ed692bd"><div class="ttname"><a href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">arm_compute::vrecip_qs16</a></div><div class="ttdeci">qint16x4_t vrecip_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01103">NEFixedPoint.inl:1103</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017867</div><!-- fragment -->
17868</div>
17869</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017870<a class="anchor" id="aeab4c6963804a85c9ea6c319f4e95a0b"></a>
17871<div class="memitem">
17872<div class="memproto">
17873<table class="mlabels">
17874 <tr>
17875 <td class="mlabels-left">
17876 <table class="memname">
17877 <tr>
17878 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vdiv_qs8 </td>
17879 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010017880 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017881 <td class="paramname"><em>a</em>, </td>
17882 </tr>
17883 <tr>
17884 <td class="paramkey"></td>
17885 <td></td>
17886 <td class="paramtype">int8x8_t&#160;</td>
17887 <td class="paramname"><em>b</em>, </td>
17888 </tr>
17889 <tr>
17890 <td class="paramkey"></td>
17891 <td></td>
17892 <td class="paramtype">int&#160;</td>
17893 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17894 </tr>
17895 <tr>
17896 <td></td>
17897 <td>)</td>
17898 <td></td><td></td>
17899 </tr>
17900 </table>
17901 </td>
17902 <td class="mlabels-right">
17903<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17904 </tr>
17905</table>
17906</div><div class="memdoc">
17907
17908<p>Division fixed point 8bit (8 elements) </p>
17909<dl class="params"><dt>Parameters</dt><dd>
17910 <table class="params">
17911 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8bit fixed point input vector </td></tr>
17912 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8bit fixed point input vector </td></tr>
17913 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17914 </table>
17915 </dd>
17916</dl>
17917<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in fixed point format. </dd></dl>
17918
Kaizenbf8b01d2017-10-12 14:26:51 +010017919<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01294">1294</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017920
Kaizenbf8b01d2017-10-12 14:26:51 +010017921<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01077">vrecip_qs8()</a>.</p>
17922<div class="fragment"><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;{</div>
17923<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, <a class="code" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a>(b, fixed_point_position), fixed_point_position);</div>
17924<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;}</div>
17925<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
17926<div class="ttc" id="namespacearm__compute_xhtml_aa24b270b0193ad8983dfecd6105c4936"><div class="ttname"><a href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">arm_compute::vrecip_qs8</a></div><div class="ttdeci">qint8x8_t vrecip_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01077">NEFixedPoint.inl:1077</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017927</div><!-- fragment -->
17928</div>
17929</div>
Kaizen8938bd32017-09-28 14:38:23 +010017930<a class="anchor" id="a2c21a21a9004609887c0a6f5304faa2a"></a>
17931<div class="memitem">
17932<div class="memproto">
17933<table class="mlabels">
17934 <tr>
17935 <td class="mlabels-left">
17936 <table class="memname">
17937 <tr>
17938 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vdivq_qs16 </td>
17939 <td>(</td>
17940 <td class="paramtype">qint16x8_t&#160;</td>
17941 <td class="paramname"><em>a</em>, </td>
17942 </tr>
17943 <tr>
17944 <td class="paramkey"></td>
17945 <td></td>
17946 <td class="paramtype">qint16x8_t&#160;</td>
17947 <td class="paramname"><em>b</em>, </td>
17948 </tr>
17949 <tr>
17950 <td class="paramkey"></td>
17951 <td></td>
17952 <td class="paramtype">int&#160;</td>
17953 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
17954 </tr>
17955 <tr>
17956 <td></td>
17957 <td>)</td>
17958 <td></td><td></td>
17959 </tr>
17960 </table>
17961 </td>
17962 <td class="mlabels-right">
17963<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17964 </tr>
17965</table>
17966</div><div class="memdoc">
17967
17968<p>Division fixed point 16 bit (8 elements) </p>
17969<dl class="params"><dt>Parameters</dt><dd>
17970 <table class="params">
17971 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
17972 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
17973 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
17974 </table>
17975 </dd>
17976</dl>
17977<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in 16 bit fixed point format. </dd></dl>
17978
Kaizenbf8b01d2017-10-12 14:26:51 +010017979<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01309">1309</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017980
Kaizenbf8b01d2017-10-12 14:26:51 +010017981<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01210">vrecipq_qs16()</a>.</p>
17982<div class="fragment"><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;{</div>
17983<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, <a class="code" href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">vrecipq_qs16</a>(b, fixed_point_position), fixed_point_position);</div>
17984<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;}</div>
17985<div class="ttc" id="namespacearm__compute_xhtml_aea1b943c0452ea124c9f8ac0d1315bed"><div class="ttname"><a href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">arm_compute::vrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01210">NEFixedPoint.inl:1210</a></div></div>
17986<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00533">NEFixedPoint.inl:533</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017987</div><!-- fragment -->
17988</div>
17989</div>
17990<a class="anchor" id="ae589b6f4ada9d9cb81f70897d7991cd1"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017991<div class="memitem">
17992<div class="memproto">
17993<table class="mlabels">
17994 <tr>
17995 <td class="mlabels-left">
17996 <table class="memname">
17997 <tr>
17998 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vdivq_qs8 </td>
17999 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018000 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018001 <td class="paramname"><em>a</em>, </td>
18002 </tr>
18003 <tr>
18004 <td class="paramkey"></td>
18005 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010018006 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018007 <td class="paramname"><em>b</em>, </td>
18008 </tr>
18009 <tr>
18010 <td class="paramkey"></td>
18011 <td></td>
18012 <td class="paramtype">int&#160;</td>
18013 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18014 </tr>
18015 <tr>
18016 <td></td>
18017 <td>)</td>
18018 <td></td><td></td>
18019 </tr>
18020 </table>
18021 </td>
18022 <td class="mlabels-right">
18023<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18024 </tr>
18025</table>
18026</div><div class="memdoc">
18027
18028<p>Division fixed point 8bit (16 elements) </p>
18029<dl class="params"><dt>Parameters</dt><dd>
18030 <table class="params">
18031 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8bit fixed point input vector </td></tr>
18032 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8bit fixed point input vector </td></tr>
18033 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18034 </table>
18035 </dd>
18036</dl>
18037<dl class="section return"><dt>Returns</dt><dd>The quotient and remainder number in 8bit fixed point format. </dd></dl>
18038
Kaizenbf8b01d2017-10-12 14:26:51 +010018039<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01304">1304</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018040
Kaizenbf8b01d2017-10-12 14:26:51 +010018041<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01183">vrecipq_qs8()</a>.</p>
18042<div class="fragment"><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;{</div>
18043<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, <a class="code" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a>(b, fixed_point_position), fixed_point_position);</div>
18044<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;}</div>
18045<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
18046<div class="ttc" id="namespacearm__compute_xhtml_abbeb1dc4834fb4e97cf94d702d0e0f91"><div class="ttname"><a href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">arm_compute::vrecipq_qs8</a></div><div class="ttdeci">qint8x16_t vrecipq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01183">NEFixedPoint.inl:1183</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018047</div><!-- fragment -->
18048</div>
18049</div>
18050<a class="anchor" id="a1f6c3965dec29d8ac84ff84a164e9d8e"></a>
18051<div class="memitem">
18052<div class="memproto">
18053<table class="mlabels">
18054 <tr>
18055 <td class="mlabels-left">
18056 <table class="memname">
18057 <tr>
18058 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vdup_n_qs16 </td>
18059 <td>(</td>
18060 <td class="paramtype">qint16_t&#160;</td>
18061 <td class="paramname"><em>a</em></td><td>)</td>
18062 <td></td>
18063 </tr>
18064 </table>
18065 </td>
18066 <td class="mlabels-right">
18067<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18068 </tr>
18069</table>
18070</div><div class="memdoc">
18071
18072<p>16 bit fixed point vector duplicate (4 elements) </p>
18073<dl class="params"><dt>Parameters</dt><dd>
18074 <table class="params">
18075 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point to duplicate</td></tr>
18076 </table>
18077 </dd>
18078</dl>
18079<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
18080
Kaizenbf8b01d2017-10-12 14:26:51 +010018081<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00238">238</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018082
Kaizenbf8b01d2017-10-12 14:26:51 +010018083<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01729">vinvsqrt_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01785">vqinvsqrt_qs16()</a>.</p>
18084<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div>
18085<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> vdup_n_s16(a);</div>
18086<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018087</div><!-- fragment -->
18088</div>
18089</div>
18090<a class="anchor" id="a1a226812e3cfdf3494adbdd92d4a1cb3"></a>
18091<div class="memitem">
18092<div class="memproto">
18093<table class="mlabels">
18094 <tr>
18095 <td class="mlabels-left">
18096 <table class="memname">
18097 <tr>
18098 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vdup_n_qs8 </td>
18099 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018100 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018101 <td class="paramname"><em>a</em></td><td>)</td>
18102 <td></td>
18103 </tr>
18104 </table>
18105 </td>
18106 <td class="mlabels-right">
18107<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18108 </tr>
18109</table>
18110</div><div class="memdoc">
18111
18112<p>8 bit fixed point vector duplicate (8 elements) </p>
18113<dl class="params"><dt>Parameters</dt><dd>
18114 <table class="params">
18115 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point to duplicate</td></tr>
18116 </table>
18117 </dd>
18118</dl>
18119<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
18120
Kaizenbf8b01d2017-10-12 14:26:51 +010018121<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00233">233</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018122
Kaizenbf8b01d2017-10-12 14:26:51 +010018123<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01702">vinvsqrt_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01758">vqinvsqrt_qs8()</a>.</p>
18124<div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;{</div>
18125<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> vdup_n_s8(a);</div>
18126<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010018127</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010018128</div>
18129</div>
18130<a class="anchor" id="a740436aed8843612da747f40ff926875"></a>
18131<div class="memitem">
18132<div class="memproto">
18133 <table class="memname">
18134 <tr>
18135 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16 </td>
18136 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018137 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018138 <td class="paramname"><em>a</em></td><td>)</td>
18139 <td></td>
18140 </tr>
18141 </table>
18142</div><div class="memdoc">
18143
18144<p>16 bit fixed point vector duplicate (8 elements) </p>
18145<dl class="params"><dt>Parameters</dt><dd>
18146 <table class="params">
18147 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point to duplicate</td></tr>
18148 </table>
18149 </dd>
18150</dl>
18151<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
18152
Kaizenbf8b01d2017-10-12 14:26:51 +010018153<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01841">vinvsqrtq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01897">vqinvsqrtq_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018154
18155</div>
18156</div>
18157<a class="anchor" id="aed2fc8d1b9642b7625379a930ef4914a"></a>
18158<div class="memitem">
18159<div class="memproto">
18160<table class="mlabels">
18161 <tr>
18162 <td class="mlabels-left">
18163 <table class="memname">
18164 <tr>
18165 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16 </td>
18166 <td>(</td>
18167 <td class="paramtype">qint16_t&#160;</td>
18168 <td class="paramname"><em>a</em></td><td>)</td>
18169 <td></td>
18170 </tr>
18171 </table>
18172 </td>
18173 <td class="mlabels-right">
18174<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18175 </tr>
18176</table>
18177</div><div class="memdoc">
18178
Kaizenbf8b01d2017-10-12 14:26:51 +010018179<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00274">274</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18180<div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;{</div>
18181<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> vdupq_n_s16(a);</div>
18182<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010018183</div><!-- fragment -->
18184</div>
18185</div>
18186<a class="anchor" id="a2b3337b650277502ad64d8ba55f9b8b2"></a>
18187<div class="memitem">
18188<div class="memproto">
18189<table class="mlabels">
18190 <tr>
18191 <td class="mlabels-left">
18192 <table class="memname">
18193 <tr>
18194 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vdupq_n_qs16_f32 </td>
18195 <td>(</td>
18196 <td class="paramtype">float&#160;</td>
18197 <td class="paramname"><em>a</em>, </td>
18198 </tr>
18199 <tr>
18200 <td class="paramkey"></td>
18201 <td></td>
18202 <td class="paramtype">int&#160;</td>
18203 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18204 </tr>
18205 <tr>
18206 <td></td>
18207 <td>)</td>
18208 <td></td><td></td>
18209 </tr>
18210 </table>
18211 </td>
18212 <td class="mlabels-right">
18213<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18214 </tr>
18215</table>
18216</div><div class="memdoc">
18217
18218<p>Duplicate a float and convert it to 16 bit fixed point vector (8 elements) </p>
18219<dl class="params"><dt>Parameters</dt><dd>
18220 <table class="params">
18221 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>floating point value to convert and duplicate </td></tr>
18222 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18223 </table>
18224 </dd>
18225</dl>
18226<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
18227
Kaizenbf8b01d2017-10-12 14:26:51 +010018228<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00262">262</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018229
Kaizenbf8b01d2017-10-12 14:26:51 +010018230<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00949">vqcvtq_qs16_f32()</a>.</p>
18231<div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;{</div>
18232<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; float32x4x2_t res =</div>
18233<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; {</div>
18234<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div>
Kaizen8938bd32017-09-28 14:38:23 +010018235<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; vdupq_n_f32(a),</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010018236<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; vdupq_n_f32(a),</div>
18237<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div>
18238<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; };</div>
18239<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afe99b690ec0046061f66f699fa055b47">vqcvtq_qs16_f32</a>(res, fixed_point_position);</div>
18240<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div>
18241<div class="ttc" id="namespacearm__compute_xhtml_afe99b690ec0046061f66f699fa055b47"><div class="ttname"><a href="namespacearm__compute.xhtml#afe99b690ec0046061f66f699fa055b47">arm_compute::vqcvtq_qs16_f32</a></div><div class="ttdeci">qint16x8_t vqcvtq_qs16_f32(const float32x4x2_t &amp;a, int fixed_point_position)</div><div class="ttdoc">Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00949">NEFixedPoint.inl:949</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018242</div><!-- fragment -->
18243</div>
18244</div>
18245<a class="anchor" id="ada6db431017d7911b0647cfb7a8711de"></a>
18246<div class="memitem">
18247<div class="memproto">
18248<table class="mlabels">
18249 <tr>
18250 <td class="mlabels-left">
18251 <table class="memname">
18252 <tr>
18253 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vdupq_n_qs32 </td>
18254 <td>(</td>
18255 <td class="paramtype">qint32_t&#160;</td>
18256 <td class="paramname"><em>a</em></td><td>)</td>
18257 <td></td>
18258 </tr>
18259 </table>
18260 </td>
18261 <td class="mlabels-right">
18262<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18263 </tr>
18264</table>
18265</div><div class="memdoc">
18266
Kaizenbf8b01d2017-10-12 14:26:51 +010018267<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00279">279</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18268<div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;{</div>
18269<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> vdupq_n_s32(a);</div>
18270<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010018271</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010018272</div>
18273</div>
18274<a class="anchor" id="adbd4df93ed00fcda54f91e669ea2be04"></a>
18275<div class="memitem">
18276<div class="memproto">
18277<table class="mlabels">
18278 <tr>
18279 <td class="mlabels-left">
18280 <table class="memname">
18281 <tr>
18282 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vdupq_n_qs8 </td>
18283 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018284 <td class="paramtype">qint8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018285 <td class="paramname"><em>a</em></td><td>)</td>
18286 <td></td>
18287 </tr>
18288 </table>
18289 </td>
18290 <td class="mlabels-right">
18291<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18292 </tr>
18293</table>
18294</div><div class="memdoc">
18295
18296<p>8 bit fixed point vector duplicate (16 elements) </p>
18297<dl class="params"><dt>Parameters</dt><dd>
18298 <table class="params">
18299 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point to duplicate</td></tr>
18300 </table>
18301 </dd>
18302</dl>
18303<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
18304
Kaizenbf8b01d2017-10-12 14:26:51 +010018305<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00243">243</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018306
Kaizenbf8b01d2017-10-12 14:26:51 +010018307<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01814">vinvsqrtq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01870">vqinvsqrtq_qs8()</a>.</p>
18308<div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;{</div>
18309<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span> vdupq_n_s8(a);</div>
18310<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010018311</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010018312</div>
18313</div>
18314<a class="anchor" id="ab20e66231de6c259952534de39214784"></a>
18315<div class="memitem">
18316<div class="memproto">
18317<table class="mlabels">
18318 <tr>
18319 <td class="mlabels-left">
18320 <table class="memname">
18321 <tr>
18322 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vdupq_n_qs8_f32 </td>
18323 <td>(</td>
18324 <td class="paramtype">float&#160;</td>
18325 <td class="paramname"><em>a</em>, </td>
18326 </tr>
18327 <tr>
18328 <td class="paramkey"></td>
18329 <td></td>
18330 <td class="paramtype">int&#160;</td>
18331 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18332 </tr>
18333 <tr>
18334 <td></td>
18335 <td>)</td>
18336 <td></td><td></td>
18337 </tr>
18338 </table>
18339 </td>
18340 <td class="mlabels-right">
18341<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18342 </tr>
18343</table>
18344</div><div class="memdoc">
18345
18346<p>Duplicate a float and convert it to 8 bit fixed point vector (16 elements) </p>
18347<dl class="params"><dt>Parameters</dt><dd>
18348 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010018349 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>floating point value to convert and duplicate </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018350 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18351 </table>
18352 </dd>
18353</dl>
18354<dl class="section return"><dt>Returns</dt><dd>The result of the vector duplication </dd></dl>
18355
Kaizenbf8b01d2017-10-12 14:26:51 +010018356<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00248">248</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018357
Kaizenbf8b01d2017-10-12 14:26:51 +010018358<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00909">vqcvtq_qs8_f32()</a>.</p>
18359<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;{</div>
18360<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; float32x4x4_t res =</div>
18361<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; {</div>
18362<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div>
Kaizen8938bd32017-09-28 14:38:23 +010018363<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; vdupq_n_f32(a),</div>
18364<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; vdupq_n_f32(a),</div>
18365<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; vdupq_n_f32(a),</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010018366<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; vdupq_n_f32(a),</div>
18367<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div>
18368<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; };</div>
18369<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad7eb7d308bb87e94eb693bc13eda5adc">vqcvtq_qs8_f32</a>(res, fixed_point_position);</div>
18370<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;}</div>
18371<div class="ttc" id="namespacearm__compute_xhtml_ad7eb7d308bb87e94eb693bc13eda5adc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad7eb7d308bb87e94eb693bc13eda5adc">arm_compute::vqcvtq_qs8_f32</a></div><div class="ttdeci">qint8x16_t vqcvtq_qs8_f32(const float32x4x4_t &amp;a, int fixed_point_position)</div><div class="ttdoc">Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00909">NEFixedPoint.inl:909</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018372</div><!-- fragment -->
18373</div>
18374</div>
18375<a class="anchor" id="a829992d2c673006879696821024df5b7"></a>
18376<div class="memitem">
18377<div class="memproto">
18378<table class="mlabels">
18379 <tr>
18380 <td class="mlabels-left">
18381 <table class="memname">
18382 <tr>
18383 <td class="memname">float16x8_t vexpq_f16 </td>
18384 <td>(</td>
18385 <td class="paramtype">float16x8_t&#160;</td>
18386 <td class="paramname"><em>x</em></td><td>)</td>
18387 <td></td>
18388 </tr>
18389 </table>
18390 </td>
18391 <td class="mlabels-right">
18392<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18393 </tr>
18394</table>
18395</div><div class="memdoc">
18396
18397<p>Calculate exponential. </p>
18398<dl class="params"><dt>Parameters</dt><dd>
18399 <table class="params">
18400 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F16 format.</td></tr>
18401 </table>
18402 </dd>
18403</dl>
18404<dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
18405
18406<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">261</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18407
18408<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00173">exp_tab_f16</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00249">vtaylor_polyq_f16()</a>.</p>
18409
18410<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00300">vpowq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00234">vtanhq_f16()</a>.</p>
18411<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;{</div>
18412<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_LN2 = vdupq_n_f16(0.6931471805f); <span class="comment">// ln(2)</span></div>
18413<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_INV_LN2 = vdupq_n_f16(1.4426950408f); <span class="comment">// 1/ln(2)</span></div>
18414<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_0 = vdupq_n_f16(0.f);</div>
18415<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int16x8_t CONST_NEGATIVE_126 = vdupq_n_s16(-126);</div>
18416<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div>
18417<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
18418<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">const</span> int16x8_t m = vcvtq_s16_f16(vmulq_f16(x, CONST_INV_LN2));</div>
18419<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keyword">const</span> float16x8_t val = vsubq_f16(x, vmulq_f16(vcvtq_f16_s16(m), CONST_LN2));</div>
18420<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div>
18421<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
18422<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; float16x8_t poly = <a class="code" href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">vtaylor_polyq_f16</a>(val, <a class="code" href="namespacearm__compute.xhtml#a2260e62edc9c3e04a06e8016136b10b1">exp_tab_f16</a>);</div>
18423<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
18424<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="comment">// Reconstruct</span></div>
18425<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; poly = vreinterpretq_f16_s16(vqaddq_s16(vreinterpretq_s16_f16(poly), vqshlq_n_s16(m, 9)));</div>
18426<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; poly = vbslq_f16(vcltq_s16(m, CONST_NEGATIVE_126), CONST_0, poly);</div>
18427<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div>
18428<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> poly;</div>
18429<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;}</div>
18430<div class="ttc" id="namespacearm__compute_xhtml_afaad64bc527ee67d3374b67610a34a13"><div class="ttname"><a href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">arm_compute::vtaylor_polyq_f16</a></div><div class="ttdeci">float16x8_t vtaylor_polyq_f16(float16x8_t x, const std::array&lt; float16x8_t, 8 &gt; &amp;coeffs)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00249">NEMath.inl:249</a></div></div>
18431<div class="ttc" id="namespacearm__compute_xhtml_a2260e62edc9c3e04a06e8016136b10b1"><div class="ttname"><a href="namespacearm__compute.xhtml#a2260e62edc9c3e04a06e8016136b10b1">arm_compute::exp_tab_f16</a></div><div class="ttdeci">const std::array&lt; float16x8_t, 8 &gt; exp_tab_f16</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00173">NEMath.inl:173</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018432</div><!-- fragment -->
18433</div>
18434</div>
18435<a class="anchor" id="ade3ef16de304661943c900ac9a47d28f"></a>
18436<div class="memitem">
18437<div class="memproto">
18438<table class="mlabels">
18439 <tr>
18440 <td class="mlabels-left">
18441 <table class="memname">
18442 <tr>
18443 <td class="memname">float32x4_t vexpq_f32 </td>
18444 <td>(</td>
18445 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018446 <td class="paramname"><em>x</em></td><td>)</td>
18447 <td></td>
18448 </tr>
18449 </table>
18450 </td>
18451 <td class="mlabels-right">
18452<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18453 </tr>
18454</table>
18455</div><div class="memdoc">
18456
18457<p>Calculate exponential. </p>
18458<dl class="params"><dt>Parameters</dt><dd>
18459 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018460 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F32 format.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000018461 </table>
18462 </dd>
18463</dl>
18464<dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
18465
Kaizen8938bd32017-09-28 14:38:23 +010018466<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">113</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000018467
Kaizen8938bd32017-09-28 14:38:23 +010018468<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00028">exp_tab</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">vtaylor_polyq_f32()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000018469
Kaizen8938bd32017-09-28 14:38:23 +010018470<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00167">vpowq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00152">vtanhq_f32()</a>.</p>
18471<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;{</div>
18472<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <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>
18473<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <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>
18474<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_0 = vdupq_n_f32(0.f);</div>
18475<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_NEGATIVE_126 = vdupq_n_s32(-126);</div>
18476<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
18477<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
18478<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; int32x4_t m = vcvtq_s32_f32(vmulq_f32(x, CONST_INV_LN2));</div>
18479<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; float32x4_t val = vmlsq_f32(x, vcvtq_f32_s32(m), CONST_LN2);</div>
18480<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
18481<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
18482<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a>);</div>
18483<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
18484<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// Reconstruct</span></div>
18485<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; poly = vreinterpretq_f32_s32(vqaddq_s32(vreinterpretq_s32_f32(poly), vqshlq_n_s32(m, 23)));</div>
18486<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; poly = vbslq_f32(vcltq_s32(m, CONST_NEGATIVE_126), CONST_0, poly);</div>
18487<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
18488<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> poly;</div>
18489<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;}</div>
18490<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&lt; float32x4_t, 8 &gt; exp_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00028">NEMath.inl:28</a></div></div>
18491<div class="ttc" id="namespacearm__compute_xhtml_a4fa76a98dce5ed1b655ff840f2ce6e57"><div class="ttname"><a href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(float32x4_t x, const std::array&lt; float32x4_t, 8 &gt; &amp;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_8inl_source.xhtml#l00101">NEMath.inl:101</a></div></div>
18492</div><!-- fragment -->
18493</div>
18494</div>
18495<a class="anchor" id="adb7ad6f2d80bafc0a8fb0c920909b9fb"></a>
18496<div class="memitem">
18497<div class="memproto">
18498<table class="mlabels">
18499 <tr>
18500 <td class="mlabels-left">
18501 <table class="memname">
18502 <tr>
18503 <td class="memname">float32x4_t vfloorq_f32 </td>
18504 <td>(</td>
18505 <td class="paramtype">float32x4_t&#160;</td>
18506 <td class="paramname"><em>val</em></td><td>)</td>
18507 <td></td>
18508 </tr>
18509 </table>
18510 </td>
18511 <td class="mlabels-right">
18512<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18513 </tr>
18514</table>
18515</div><div class="memdoc">
18516
18517<p>Calculate floor of a vector. </p>
18518<dl class="params"><dt>Parameters</dt><dd>
18519 <table class="params">
18520 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
18521 </table>
18522 </dd>
18523</dl>
18524<dl class="section return"><dt>Returns</dt><dd>The calculated floor vector. </dd></dl>
18525
18526<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00057">57</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18527<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{</div>
18528<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f);</div>
18529<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
18530<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">const</span> int32x4_t z = vcvtq_s32_f32(val);</div>
18531<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">const</span> float32x4_t r = vcvtq_f32_s32(z);</div>
18532<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
18533<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> vbslq_f32(vcgtq_f32(r, val), vsubq_f32(r, CONST_1), r);</div>
18534<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div>
18535</div><!-- fragment -->
18536</div>
18537</div>
18538<a class="anchor" id="ac2edef8bf07bce91b37aa02b952b8ed6"></a>
18539<div class="memitem">
18540<div class="memproto">
18541<table class="mlabels">
18542 <tr>
18543 <td class="mlabels-left">
18544 <table class="memname">
18545 <tr>
18546 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vget_high_qs16 </td>
18547 <td>(</td>
18548 <td class="paramtype">qint16x8_t&#160;</td>
18549 <td class="paramname"><em>a</em></td><td>)</td>
18550 <td></td>
18551 </tr>
18552 </table>
18553 </td>
18554 <td class="mlabels-right">
18555<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18556 </tr>
18557</table>
18558</div><div class="memdoc">
18559
18560<p>Get the higher half of a 16 elements vector. </p>
18561<dl class="params"><dt>Parameters</dt><dd>
18562 <table class="params">
18563 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 8 elements</td></tr>
18564 </table>
18565 </dd>
18566</dl>
18567<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
18568
Kaizenbf8b01d2017-10-12 14:26:51 +010018569<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">148</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018570
Kaizenbf8b01d2017-10-12 14:26:51 +010018571<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00975">vcvt_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01051">vcvtq_f32_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01011">vcvtq_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00704">vmlaq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00779">vqmlaq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
18572<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;{</div>
18573<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> vget_high_s16(a);</div>
18574<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000018575</div><!-- fragment -->
18576</div>
18577</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018578<a class="anchor" id="ab93c92d0f3228809b6a4bfaa24eb4924"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000018579<div class="memitem">
18580<div class="memproto">
18581<table class="mlabels">
18582 <tr>
18583 <td class="mlabels-left">
18584 <table class="memname">
18585 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018586 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vget_high_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018587 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018588 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018589 <td class="paramname"><em>a</em></td><td>)</td>
18590 <td></td>
18591 </tr>
18592 </table>
18593 </td>
18594 <td class="mlabels-right">
18595<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18596 </tr>
18597</table>
18598</div><div class="memdoc">
18599
18600<p>Get the higher half of a 16 elements vector. </p>
18601<dl class="params"><dt>Parameters</dt><dd>
18602 <table class="params">
18603 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 16 elements</td></tr>
18604 </table>
18605 </dd>
18606</dl>
18607<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
18608
Kaizenbf8b01d2017-10-12 14:26:51 +010018609<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00143">143</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18610<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;{</div>
18611<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> vget_high_s8(a);</div>
18612<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010018613</div><!-- fragment -->
18614</div>
18615</div>
18616<a class="anchor" id="ae895c5b470fcf069afd626bb36c63e3d"></a>
18617<div class="memitem">
18618<div class="memproto">
18619<table class="mlabels">
18620 <tr>
18621 <td class="mlabels-left">
18622 <table class="memname">
18623 <tr>
18624 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vget_low_qs16 </td>
18625 <td>(</td>
18626 <td class="paramtype">qint16x8_t&#160;</td>
18627 <td class="paramname"><em>a</em></td><td>)</td>
18628 <td></td>
18629 </tr>
18630 </table>
18631 </td>
18632 <td class="mlabels-right">
18633<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18634 </tr>
18635</table>
18636</div><div class="memdoc">
18637
18638<p>Get the lower half of a 16 elements vector. </p>
18639<dl class="params"><dt>Parameters</dt><dd>
18640 <table class="params">
18641 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 8 elements</td></tr>
18642 </table>
18643 </dd>
18644</dl>
18645<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
18646
Kaizenbf8b01d2017-10-12 14:26:51 +010018647<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">138</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018648
Kaizenbf8b01d2017-10-12 14:26:51 +010018649<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00975">vcvt_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01051">vcvtq_f32_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01011">vcvtq_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00704">vmlaq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00779">vqmlaq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
18650<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;{</div>
18651<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> vget_low_s16(a);</div>
18652<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010018653</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010018654</div>
18655</div>
18656<a class="anchor" id="a85ff7d135f7aa13359bd575139ba14dd"></a>
18657<div class="memitem">
18658<div class="memproto">
18659<table class="mlabels">
18660 <tr>
18661 <td class="mlabels-left">
18662 <table class="memname">
18663 <tr>
18664 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vget_low_qs8 </td>
18665 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010018666 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018667 <td class="paramname"><em>a</em></td><td>)</td>
18668 <td></td>
18669 </tr>
18670 </table>
18671 </td>
18672 <td class="mlabels-right">
18673<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18674 </tr>
18675</table>
18676</div><div class="memdoc">
18677
18678<p>Get the lower half of a 16 elements vector. </p>
18679<dl class="params"><dt>Parameters</dt><dd>
18680 <table class="params">
18681 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>vector of 16 elements</td></tr>
18682 </table>
18683 </dd>
18684</dl>
18685<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
18686
Kaizenbf8b01d2017-10-12 14:26:51 +010018687<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00133">133</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
18688<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div>
18689<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> vget_low_s8(a);</div>
18690<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010018691</div><!-- fragment -->
18692</div>
18693</div>
18694<a class="anchor" id="aba029f555d1868e560b8a278bdf87341"></a>
18695<div class="memitem">
18696<div class="memproto">
18697<table class="mlabels">
18698 <tr>
18699 <td class="mlabels-left">
18700 <table class="memname">
18701 <tr>
18702 <td class="memname">float16x4_t vinv_f16 </td>
18703 <td>(</td>
18704 <td class="paramtype">float16x4_t&#160;</td>
18705 <td class="paramname"><em>x</em></td><td>)</td>
18706 <td></td>
18707 </tr>
18708 </table>
18709 </td>
18710 <td class="mlabels-right">
18711<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18712 </tr>
18713</table>
18714</div><div class="memdoc">
18715
18716<p>Calculate reciprocal. </p>
18717<dl class="params"><dt>Parameters</dt><dd>
18718 <table class="params">
18719 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18720 </table>
18721 </dd>
18722</dl>
18723<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18724
18725<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18726<div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;{</div>
18727<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; float16x4_t recip = vrecpe_f16(x);</div>
18728<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; recip = vmul_f16(vrecps_f16(x, recip), recip);</div>
18729<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; recip = vmul_f16(vrecps_f16(x, recip), recip);</div>
18730<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> recip;</div>
18731<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;}</div>
18732</div><!-- fragment -->
18733</div>
18734</div>
18735<a class="anchor" id="a7bb067c606cdc07805181688b9bee569"></a>
18736<div class="memitem">
18737<div class="memproto">
18738<table class="mlabels">
18739 <tr>
18740 <td class="mlabels-left">
18741 <table class="memname">
18742 <tr>
18743 <td class="memname">float32x2_t vinv_f32 </td>
18744 <td>(</td>
18745 <td class="paramtype">float32x2_t&#160;</td>
18746 <td class="paramname"><em>x</em></td><td>)</td>
18747 <td></td>
18748 </tr>
18749 </table>
18750 </td>
18751 <td class="mlabels-right">
18752<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18753 </tr>
18754</table>
18755</div><div class="memdoc">
18756
18757<p>Calculate reciprocal. </p>
18758<dl class="params"><dt>Parameters</dt><dd>
18759 <table class="params">
18760 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18761 </table>
18762 </dd>
18763</dl>
18764<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18765
18766<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00085">85</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18767<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;{</div>
18768<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; float32x2_t recip = vrecpe_f32(x);</div>
18769<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; recip = vmul_f32(vrecps_f32(x, recip), recip);</div>
18770<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; recip = vmul_f32(vrecps_f32(x, recip), recip);</div>
18771<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> recip;</div>
18772<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
18773</div><!-- fragment -->
18774</div>
18775</div>
18776<a class="anchor" id="a5ccd23ffe952767d73334cabcdbff246"></a>
18777<div class="memitem">
18778<div class="memproto">
18779<table class="mlabels">
18780 <tr>
18781 <td class="mlabels-left">
18782 <table class="memname">
18783 <tr>
18784 <td class="memname">float16x8_t vinvq_f16 </td>
18785 <td>(</td>
18786 <td class="paramtype">float16x8_t&#160;</td>
18787 <td class="paramname"><em>x</em></td><td>)</td>
18788 <td></td>
18789 </tr>
18790 </table>
18791 </td>
18792 <td class="mlabels-right">
18793<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18794 </tr>
18795</table>
18796</div><div class="memdoc">
18797
18798<p>Calculate reciprocal. </p>
18799<dl class="params"><dt>Parameters</dt><dd>
18800 <table class="params">
18801 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18802 </table>
18803 </dd>
18804</dl>
18805<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18806
18807<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00226">226</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18808
18809<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00234">vtanhq_f16()</a>.</p>
18810<div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;{</div>
18811<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; float16x8_t recip = vrecpeq_f16(x);</div>
18812<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; recip = vmulq_f16(vrecpsq_f16(x, recip), recip);</div>
18813<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; recip = vmulq_f16(vrecpsq_f16(x, recip), recip);</div>
18814<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> recip;</div>
18815<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div>
18816</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010018817</div>
18818</div>
18819<a class="anchor" id="ac8f459d5899b79c00fb4042a5b3470fb"></a>
18820<div class="memitem">
18821<div class="memproto">
18822<table class="mlabels">
18823 <tr>
18824 <td class="mlabels-left">
18825 <table class="memname">
18826 <tr>
18827 <td class="memname">float32x4_t vinvq_f32 </td>
18828 <td>(</td>
18829 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018830 <td class="paramname"><em>x</em></td><td>)</td>
18831 <td></td>
18832 </tr>
18833 </table>
18834 </td>
18835 <td class="mlabels-right">
18836<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18837 </tr>
18838</table>
18839</div><div class="memdoc">
18840
18841<p>Calculate reciprocal. </p>
18842<dl class="params"><dt>Parameters</dt><dd>
18843 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018844 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000018845 </table>
18846 </dd>
18847</dl>
18848<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18849
Kaizen8938bd32017-09-28 14:38:23 +010018850<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00093">93</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000018851
Kaizen8938bd32017-09-28 14:38:23 +010018852<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00152">vtanhq_f32()</a>.</p>
18853<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;{</div>
18854<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; float32x4_t recip = vrecpeq_f32(x);</div>
18855<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div>
18856<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div>
18857<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">return</span> recip;</div>
18858<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;}</div>
18859</div><!-- fragment -->
18860</div>
18861</div>
18862<a class="anchor" id="ab74b7f62070607d8dfb02364664d7867"></a>
18863<div class="memitem">
18864<div class="memproto">
18865<table class="mlabels">
18866 <tr>
18867 <td class="mlabels-left">
18868 <table class="memname">
18869 <tr>
18870 <td class="memname">float16x4_t vinvsqrt_f16 </td>
18871 <td>(</td>
18872 <td class="paramtype">float16x4_t&#160;</td>
18873 <td class="paramname"><em>x</em></td><td>)</td>
18874 <td></td>
18875 </tr>
18876 </table>
18877 </td>
18878 <td class="mlabels-right">
18879<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18880 </tr>
18881</table>
18882</div><div class="memdoc">
18883
18884<p>Calculate inverse square root. </p>
18885<dl class="params"><dt>Parameters</dt><dd>
18886 <table class="params">
18887 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18888 </table>
18889 </dd>
18890</dl>
18891<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
18892
18893<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00202">202</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18894<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;{</div>
18895<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; float16x4_t sqrt_reciprocal = vrsqrte_f16(x);</div>
18896<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; sqrt_reciprocal = vmul_f16(vrsqrts_f16(vmul_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18897<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; sqrt_reciprocal = vmul_f16(vrsqrts_f16(vmul_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18898<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> sqrt_reciprocal;</div>
18899<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div>
18900</div><!-- fragment -->
18901</div>
18902</div>
18903<a class="anchor" id="a902d274ff1dbe2052b0f2364a98d2b41"></a>
18904<div class="memitem">
18905<div class="memproto">
18906<table class="mlabels">
18907 <tr>
18908 <td class="mlabels-left">
18909 <table class="memname">
18910 <tr>
18911 <td class="memname">float32x2_t vinvsqrt_f32 </td>
18912 <td>(</td>
18913 <td class="paramtype">float32x2_t&#160;</td>
18914 <td class="paramname"><em>x</em></td><td>)</td>
18915 <td></td>
18916 </tr>
18917 </table>
18918 </td>
18919 <td class="mlabels-right">
18920<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18921 </tr>
18922</table>
18923</div><div class="memdoc">
18924
18925<p>Calculate inverse square root. </p>
18926<dl class="params"><dt>Parameters</dt><dd>
18927 <table class="params">
18928 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18929 </table>
18930 </dd>
18931</dl>
18932<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
18933
18934<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00067">67</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
18935<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div>
18936<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; float32x2_t sqrt_reciprocal = vrsqrte_f32(x);</div>
18937<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; sqrt_reciprocal = vmul_f32(vrsqrts_f32(vmul_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18938<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; sqrt_reciprocal = vmul_f32(vrsqrts_f32(vmul_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
18939<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
18940<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> sqrt_reciprocal;</div>
18941<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
18942</div><!-- fragment -->
18943</div>
18944</div>
18945<a class="anchor" id="aed1eb26d2b6435ae9dba79558611b415"></a>
18946<div class="memitem">
18947<div class="memproto">
18948<table class="mlabels">
18949 <tr>
18950 <td class="mlabels-left">
18951 <table class="memname">
18952 <tr>
18953 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vinvsqrt_qs16 </td>
18954 <td>(</td>
18955 <td class="paramtype">qint16x4_t&#160;</td>
18956 <td class="paramname"><em>a</em>, </td>
18957 </tr>
18958 <tr>
18959 <td class="paramkey"></td>
18960 <td></td>
18961 <td class="paramtype">int&#160;</td>
18962 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
18963 </tr>
18964 <tr>
18965 <td></td>
18966 <td>)</td>
18967 <td></td><td></td>
18968 </tr>
18969 </table>
18970 </td>
18971 <td class="mlabels-right">
18972<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18973 </tr>
18974</table>
18975</div><div class="memdoc">
18976
18977<p>Calculate inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) </p>
18978<dl class="params"><dt>Parameters</dt><dd>
18979 <table class="params">
18980 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
18981 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
18982 </table>
18983 </dd>
18984</dl>
18985<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
18986
Kaizenbf8b01d2017-10-12 14:26:51 +010018987<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01729">1729</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010018988
Kaizenbf8b01d2017-10-12 14:26:51 +010018989<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00238">vdup_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>.</p>
18990<div class="fragment"><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;{</div>
18991<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_three = vdup_n_s16(3 &lt;&lt; fixed_point_position);</div>
18992<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;</div>
18993<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
18994<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vneg_s16(vsub_s16(vdup_n_s16(16), vadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
18995<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;</div>
18996<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
18997<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vsub_s16(vdup_n_s16(16), vadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position)));</div>
18998<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; uint16x4_t temp_ltz = vclt_s16(temp, <a class="code" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a>(0));</div>
18999<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160; temp = vbsl_s16(temp_ltz, vadd_s16(temp, vdup_n_s16(1)), temp);</div>
19000<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value2 = vneg_s16(vshr_n_s16(temp, 1));</div>
19001<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160;</div>
19002<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; temp = vshl_s16(a, shift_value);</div>
19003<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;</div>
19004<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; <span class="comment">// Initial guess</span></div>
19005<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = temp;</div>
19006<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;</div>
19007<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
19008<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; <span class="comment">// After five iterations we have the result for 8 bit</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010019009<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19010<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19011<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19012<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010019013<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19014<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;</div>
19015<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160; <span class="keywordflow">return</span> vshl_s16(x, shift_value2);</div>
19016<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;}</div>
19017<div class="ttc" id="namespacearm__compute_xhtml_a1f6c3965dec29d8ac84ff84a164e9d8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">arm_compute::vdup_n_qs16</a></div><div class="ttdeci">qint16x4_t vdup_n_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point vector duplicate (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00238">NEFixedPoint.inl:238</a></div></div>
19018<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019019<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
19020</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019021</div>
19022</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019023<a class="anchor" id="ab7fbbbe8d980de582a73b5546b303b1f"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000019024<div class="memitem">
19025<div class="memproto">
19026<table class="mlabels">
19027 <tr>
19028 <td class="mlabels-left">
19029 <table class="memname">
19030 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019031 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vinvsqrt_qs8 </td>
19032 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019033 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019034 <td class="paramname"><em>a</em>, </td>
19035 </tr>
19036 <tr>
19037 <td class="paramkey"></td>
19038 <td></td>
19039 <td class="paramtype">int&#160;</td>
19040 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19041 </tr>
19042 <tr>
19043 <td></td>
19044 <td>)</td>
19045 <td></td><td></td>
19046 </tr>
19047 </table>
19048 </td>
19049 <td class="mlabels-right">
19050<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19051 </tr>
19052</table>
19053</div><div class="memdoc">
19054
19055<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
19056<dl class="params"><dt>Parameters</dt><dd>
19057 <table class="params">
19058 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
19059 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
19060 </table>
19061 </dd>
19062</dl>
19063<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
19064
Kaizenbf8b01d2017-10-12 14:26:51 +010019065<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01702">1702</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019066
Kaizenbf8b01d2017-10-12 14:26:51 +010019067<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00233">vdup_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>.</p>
19068<div class="fragment"><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;{</div>
19069<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_three = vdup_n_s8(3 &lt;&lt; fixed_point_position);</div>
19070<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;</div>
19071<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
19072<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vneg_s8(vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
19073<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;</div>
19074<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
19075<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position)));</div>
19076<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; uint8x8_t temp_ltz = vclt_s8(temp, <a class="code" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a>(0));</div>
19077<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; temp = vbsl_s8(temp_ltz, vadd_s8(temp, vdup_n_s8(1)), temp);</div>
19078<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value2 = vneg_s8(vshr_n_s8(temp, 1));</div>
19079<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;</div>
19080<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; temp = vshl_s8(a, shift_value);</div>
19081<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;</div>
19082<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160; <span class="comment">// Initial guess</span></div>
19083<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = temp;</div>
19084<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;</div>
19085<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
19086<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; <span class="comment">// After three iterations we have the result for 8 bit</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010019087<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19088<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010019089<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19090<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;</div>
19091<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; <span class="keywordflow">return</span> vshl_s8(x, shift_value2);</div>
19092<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;}</div>
19093<div class="ttc" id="namespacearm__compute_xhtml_a1a226812e3cfdf3494adbdd92d4a1cb3"><div class="ttname"><a href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">arm_compute::vdup_n_qs8</a></div><div class="ttdeci">qint8x8_t vdup_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00233">NEFixedPoint.inl:233</a></div></div>
19094<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019095<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
19096</div><!-- fragment -->
19097</div>
19098</div>
Kaizen8938bd32017-09-28 14:38:23 +010019099<a class="anchor" id="a78ef1abe4de2152c366a40f638f7fb91"></a>
19100<div class="memitem">
19101<div class="memproto">
19102<table class="mlabels">
19103 <tr>
19104 <td class="mlabels-left">
19105 <table class="memname">
19106 <tr>
19107 <td class="memname">float16x8_t vinvsqrtq_f16 </td>
19108 <td>(</td>
19109 <td class="paramtype">float16x8_t&#160;</td>
19110 <td class="paramname"><em>x</em></td><td>)</td>
19111 <td></td>
19112 </tr>
19113 </table>
19114 </td>
19115 <td class="mlabels-right">
19116<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19117 </tr>
19118</table>
19119</div><div class="memdoc">
19120
19121<p>Calculate inverse square root. </p>
19122<dl class="params"><dt>Parameters</dt><dd>
19123 <table class="params">
19124 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
19125 </table>
19126 </dd>
19127</dl>
19128<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
19129
19130<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00210">210</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
19131<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;{</div>
19132<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; float16x8_t sqrt_reciprocal = vrsqrteq_f16(x);</div>
19133<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; sqrt_reciprocal = vmulq_f16(vrsqrtsq_f16(vmulq_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
19134<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; sqrt_reciprocal = vmulq_f16(vrsqrtsq_f16(vmulq_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
19135<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> sqrt_reciprocal;</div>
19136<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div>
19137</div><!-- fragment -->
19138</div>
19139</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019140<a class="anchor" id="a2e27db6b9692c4c2013653e276af654d"></a>
19141<div class="memitem">
19142<div class="memproto">
19143<table class="mlabels">
19144 <tr>
19145 <td class="mlabels-left">
19146 <table class="memname">
19147 <tr>
19148 <td class="memname">float32x4_t vinvsqrtq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019149 <td>(</td>
19150 <td class="paramtype">float32x4_t&#160;</td>
19151 <td class="paramname"><em>x</em></td><td>)</td>
19152 <td></td>
19153 </tr>
19154 </table>
19155 </td>
19156 <td class="mlabels-right">
19157<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19158 </tr>
19159</table>
19160</div><div class="memdoc">
19161
19162<p>Calculate inverse square root. </p>
19163<dl class="params"><dt>Parameters</dt><dd>
19164 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010019165 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000019166 </table>
19167 </dd>
19168</dl>
19169<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
19170
Kaizen8938bd32017-09-28 14:38:23 +010019171<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00076">76</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
19172<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div>
19173<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; float32x4_t sqrt_reciprocal = vrsqrteq_f32(x);</div>
19174<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
19175<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
19176<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
19177<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> sqrt_reciprocal;</div>
19178<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;}</div>
19179</div><!-- fragment -->
19180</div>
19181</div>
19182<a class="anchor" id="a7ddffc87df07ac9782f4e498865c66d4"></a>
19183<div class="memitem">
19184<div class="memproto">
19185<table class="mlabels">
19186 <tr>
19187 <td class="mlabels-left">
19188 <table class="memname">
19189 <tr>
19190 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vinvsqrtq_qs16 </td>
19191 <td>(</td>
19192 <td class="paramtype">qint16x8_t&#160;</td>
19193 <td class="paramname"><em>a</em>, </td>
19194 </tr>
19195 <tr>
19196 <td class="paramkey"></td>
19197 <td></td>
19198 <td class="paramtype">int&#160;</td>
19199 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19200 </tr>
19201 <tr>
19202 <td></td>
19203 <td>)</td>
19204 <td></td><td></td>
19205 </tr>
19206 </table>
19207 </td>
19208 <td class="mlabels-right">
19209<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19210 </tr>
19211</table>
19212</div><div class="memdoc">
19213
19214<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
19215<dl class="params"><dt>Parameters</dt><dd>
19216 <table class="params">
19217 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
19218 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
19219 </table>
19220 </dd>
19221</dl>
19222<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
19223
Kaizenbf8b01d2017-10-12 14:26:51 +010019224<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01841">1841</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010019225
Kaizenbf8b01d2017-10-12 14:26:51 +010019226<p>References <a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>.</p>
19227<div class="fragment"><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;{</div>
19228<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_three = vdupq_n_s16(3 &lt;&lt; fixed_point_position);</div>
19229<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160;</div>
19230<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
19231<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vnegq_s16(vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
19232<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;</div>
19233<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
19234<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position)));</div>
19235<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160; uint16x8_t temp_ltz = vcltq_s16(temp, <a class="code" href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a>(0));</div>
19236<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160; temp = vbslq_s16(temp_ltz, vaddq_s16(temp, vdupq_n_s16(1)), temp);</div>
19237<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value2 = vnegq_s16(vshrq_n_s16(temp, 1));</div>
19238<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;</div>
19239<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160; temp = vshlq_s16(a, shift_value);</div>
19240<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160;</div>
19241<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; <span class="comment">// Initial guess</span></div>
19242<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = temp;</div>
19243<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;</div>
19244<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
19245<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160; <span class="comment">// After five iterations we have the result for 16 bit</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010019246<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19247<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19248<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19249<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010019250<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19251<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;</div>
19252<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160; <span class="keywordflow">return</span> vshlq_s16(x, shift_value2);</div>
19253<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;}</div>
19254<div class="ttc" id="namespacearm__compute_xhtml_aed2fc8d1b9642b7625379a930ef4914a"><div class="ttname"><a href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">arm_compute::vdupq_n_qs16</a></div><div class="ttdeci">qint16x8_t vdupq_n_qs16(qint16_t a)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00274">NEFixedPoint.inl:274</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019255<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010019256<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00533">NEFixedPoint.inl:533</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019257</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000019258</div>
19259</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019260<a class="anchor" id="a4be9120d5c04e6aab0831095acd24534"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000019261<div class="memitem">
19262<div class="memproto">
19263<table class="mlabels">
19264 <tr>
19265 <td class="mlabels-left">
19266 <table class="memname">
19267 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019268 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vinvsqrtq_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019269 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019270 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019271 <td class="paramname"><em>a</em>, </td>
19272 </tr>
19273 <tr>
19274 <td class="paramkey"></td>
19275 <td></td>
19276 <td class="paramtype">int&#160;</td>
19277 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19278 </tr>
19279 <tr>
19280 <td></td>
19281 <td>)</td>
19282 <td></td><td></td>
19283 </tr>
19284 </table>
19285 </td>
19286 <td class="mlabels-right">
19287<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19288 </tr>
19289</table>
19290</div><div class="memdoc">
19291
19292<p>Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) </p>
19293<dl class="params"><dt>Parameters</dt><dd>
19294 <table class="params">
19295 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
19296 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
19297 </table>
19298 </dd>
19299</dl>
19300<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
19301
Kaizenbf8b01d2017-10-12 14:26:51 +010019302<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01814">1814</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019303
Kaizenbf8b01d2017-10-12 14:26:51 +010019304<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00243">vdupq_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>.</p>
19305<div class="fragment"><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160;{</div>
19306<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_three = vdupq_n_s8(3 &lt;&lt; fixed_point_position);</div>
19307<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;</div>
19308<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
19309<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vnegq_s8(vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
19310<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;</div>
19311<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
19312<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position)));</div>
19313<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160; uint8x16_t temp_ltz = vcltq_s8(temp, <a class="code" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a>(0));</div>
19314<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160; temp = vbslq_s8(temp_ltz, vaddq_s8(temp, vdupq_n_s8(1)), temp);</div>
19315<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value2 = vnegq_s8(vshrq_n_s8(temp, 1));</div>
19316<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;</div>
19317<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160; temp = vshlq_s8(a, shift_value);</div>
19318<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;</div>
19319<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; <span class="comment">// Initial guess</span></div>
19320<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = temp;</div>
19321<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;</div>
19322<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
19323<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160; <span class="comment">// After three iterations we have the result for 8 bit</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010019324<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19325<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010019326<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
19327<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160;</div>
19328<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160; <span class="keywordflow">return</span> vshlq_s8(x, shift_value2);</div>
19329<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019330<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010019331<div class="ttc" id="namespacearm__compute_xhtml_adbd4df93ed00fcda54f91e669ea2be04"><div class="ttname"><a href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">arm_compute::vdupq_n_qs8</a></div><div class="ttdeci">qint8x16_t vdupq_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00243">NEFixedPoint.inl:243</a></div></div>
19332<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019333</div><!-- fragment -->
19334</div>
19335</div>
19336<a class="anchor" id="a4cd20897bfcf3b38125c1b1cd3642d2f"></a>
19337<div class="memitem">
19338<div class="memproto">
19339<table class="mlabels">
19340 <tr>
19341 <td class="mlabels-left">
19342 <table class="memname">
19343 <tr>
19344 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vld1_dup_qs16 </td>
19345 <td>(</td>
19346 <td class="paramtype">const qint16_t *&#160;</td>
19347 <td class="paramname"><em>addr</em></td><td>)</td>
19348 <td></td>
19349 </tr>
19350 </table>
19351 </td>
19352 <td class="mlabels-right">
19353<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19354 </tr>
19355</table>
19356</div><div class="memdoc">
19357
19358<p>Load all lanes of 16 bit fixed point vector with same value from memory (4 elements) </p>
19359<dl class="params"><dt>Parameters</dt><dd>
19360 <table class="params">
19361 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point scalar value to load</td></tr>
19362 </table>
19363 </dd>
19364</dl>
19365<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
19366
Kaizenbf8b01d2017-10-12 14:26:51 +010019367<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00178">178</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19368<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;{</div>
19369<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> vld1_dup_s16(addr);</div>
19370<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019371</div><!-- fragment -->
19372</div>
19373</div>
19374<a class="anchor" id="ada853a8e19c80626633d95392d2b4a8b"></a>
19375<div class="memitem">
19376<div class="memproto">
19377<table class="mlabels">
19378 <tr>
19379 <td class="mlabels-left">
19380 <table class="memname">
19381 <tr>
19382 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vld1_dup_qs8 </td>
19383 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019384 <td class="paramtype">const qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019385 <td class="paramname"><em>addr</em></td><td>)</td>
19386 <td></td>
19387 </tr>
19388 </table>
19389 </td>
19390 <td class="mlabels-right">
19391<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19392 </tr>
19393</table>
19394</div><div class="memdoc">
19395
19396<p>Load all lanes of 8 bit fixed point vector with same value from memory (8 elements) </p>
19397<dl class="params"><dt>Parameters</dt><dd>
19398 <table class="params">
19399 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point scalar value to load</td></tr>
19400 </table>
19401 </dd>
19402</dl>
19403<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
19404
Kaizenbf8b01d2017-10-12 14:26:51 +010019405<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00173">173</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19406<div class="fragment"><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;{</div>
19407<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> vld1_dup_s8(addr);</div>
19408<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019409</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019410</div>
19411</div>
19412<a class="anchor" id="a1470ca9d692f773f33ddbd9b3a37f1f9"></a>
19413<div class="memitem">
19414<div class="memproto">
19415<table class="mlabels">
19416 <tr>
19417 <td class="mlabels-left">
19418 <table class="memname">
19419 <tr>
19420 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vld1_qs16 </td>
19421 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019422 <td class="paramtype">const qint16_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019423 <td class="paramname"><em>addr</em></td><td>)</td>
19424 <td></td>
19425 </tr>
19426 </table>
19427 </td>
19428 <td class="mlabels-right">
19429<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19430 </tr>
19431</table>
19432</div><div class="memdoc">
19433
19434<p>Load a single 16 bit fixed point vector from memory (4 elements) </p>
19435<dl class="params"><dt>Parameters</dt><dd>
19436 <table class="params">
19437 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point vector to load</td></tr>
19438 </table>
19439 </dd>
19440</dl>
19441<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
19442
Kaizenbf8b01d2017-10-12 14:26:51 +010019443<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00158">158</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19444<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;{</div>
19445<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> vld1_s16(addr);</div>
19446<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019447</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019448</div>
19449</div>
19450<a class="anchor" id="a77ef79482edac98140bbdfaeffb78b8f"></a>
19451<div class="memitem">
19452<div class="memproto">
19453<table class="mlabels">
19454 <tr>
19455 <td class="mlabels-left">
19456 <table class="memname">
19457 <tr>
19458 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vld1_qs8 </td>
19459 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019460 <td class="paramtype">const qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019461 <td class="paramname"><em>addr</em></td><td>)</td>
19462 <td></td>
19463 </tr>
19464 </table>
19465 </td>
19466 <td class="mlabels-right">
19467<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19468 </tr>
19469</table>
19470</div><div class="memdoc">
19471
19472<p>Load a single 8 bit fixed point vector from memory (8 elements) </p>
19473<dl class="params"><dt>Parameters</dt><dd>
19474 <table class="params">
19475 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point vector to load</td></tr>
19476 </table>
19477 </dd>
19478</dl>
19479<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
19480
Kaizenbf8b01d2017-10-12 14:26:51 +010019481<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00153">153</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19482<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;{</div>
19483<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> vld1_s8(addr);</div>
19484<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019485</div><!-- fragment -->
19486</div>
19487</div>
19488<a class="anchor" id="aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"></a>
19489<div class="memitem">
19490<div class="memproto">
19491<table class="mlabels">
19492 <tr>
19493 <td class="mlabels-left">
19494 <table class="memname">
19495 <tr>
19496 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vld1q_dup_qs16 </td>
19497 <td>(</td>
19498 <td class="paramtype">const qint16_t *&#160;</td>
19499 <td class="paramname"><em>addr</em></td><td>)</td>
19500 <td></td>
19501 </tr>
19502 </table>
19503 </td>
19504 <td class="mlabels-right">
19505<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19506 </tr>
19507</table>
19508</div><div class="memdoc">
19509
19510<p>Load all lanes of 16 bit fixed point vector with same value from memory (8 elements) </p>
19511<dl class="params"><dt>Parameters</dt><dd>
19512 <table class="params">
19513 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point scalar value to load</td></tr>
19514 </table>
19515 </dd>
19516</dl>
19517<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
19518
Kaizenbf8b01d2017-10-12 14:26:51 +010019519<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00188">188</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19520<div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;{</div>
19521<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> vld1q_dup_s16(addr);</div>
19522<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019523</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019524</div>
19525</div>
19526<a class="anchor" id="ad988b528a38525b8ceca56ed8d09c801"></a>
19527<div class="memitem">
19528<div class="memproto">
19529<table class="mlabels">
19530 <tr>
19531 <td class="mlabels-left">
19532 <table class="memname">
19533 <tr>
19534 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vld1q_dup_qs8 </td>
19535 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019536 <td class="paramtype">const qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019537 <td class="paramname"><em>addr</em></td><td>)</td>
19538 <td></td>
19539 </tr>
19540 </table>
19541 </td>
19542 <td class="mlabels-right">
19543<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19544 </tr>
19545</table>
19546</div><div class="memdoc">
19547
19548<p>Load all lanes of 8 bit fixed point vector with same value from memory (16 elements) </p>
19549<dl class="params"><dt>Parameters</dt><dd>
19550 <table class="params">
19551 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point scalar value to load</td></tr>
19552 </table>
19553 </dd>
19554</dl>
19555<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
19556
Kaizenbf8b01d2017-10-12 14:26:51 +010019557<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00183">183</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19558<div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;{</div>
19559<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> vld1q_dup_s8(addr);</div>
19560<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019561</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019562</div>
19563</div>
19564<a class="anchor" id="aaa2cfaf59eb25ffb975bea87844e23c6"></a>
19565<div class="memitem">
19566<div class="memproto">
19567<table class="mlabels">
19568 <tr>
19569 <td class="mlabels-left">
19570 <table class="memname">
19571 <tr>
19572 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vld1q_qs16 </td>
19573 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019574 <td class="paramtype">const qint16_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019575 <td class="paramname"><em>addr</em></td><td>)</td>
19576 <td></td>
19577 </tr>
19578 </table>
19579 </td>
19580 <td class="mlabels-right">
19581<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19582 </tr>
19583</table>
19584</div><div class="memdoc">
19585
19586<p>Load a single 16 bit fixed point vector from memory (8 elements) </p>
19587<dl class="params"><dt>Parameters</dt><dd>
19588 <table class="params">
19589 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point vector to load</td></tr>
19590 </table>
19591 </dd>
19592</dl>
19593<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
19594
Kaizenbf8b01d2017-10-12 14:26:51 +010019595<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00168">168</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19596<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;{</div>
19597<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> vld1q_s16(addr);</div>
19598<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019599</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019600</div>
19601</div>
19602<a class="anchor" id="aba22755f7d41ffc62e23e5594751ecaa"></a>
19603<div class="memitem">
19604<div class="memproto">
19605<table class="mlabels">
19606 <tr>
19607 <td class="mlabels-left">
19608 <table class="memname">
19609 <tr>
19610 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vld1q_qs8 </td>
19611 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019612 <td class="paramtype">const qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019613 <td class="paramname"><em>addr</em></td><td>)</td>
19614 <td></td>
19615 </tr>
19616 </table>
19617 </td>
19618 <td class="mlabels-right">
19619<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19620 </tr>
19621</table>
19622</div><div class="memdoc">
19623
19624<p>Load a single 8 bit fixed point vector from memory (16 elements) </p>
19625<dl class="params"><dt>Parameters</dt><dd>
19626 <table class="params">
19627 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point vector to load</td></tr>
19628 </table>
19629 </dd>
19630</dl>
19631<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
19632
Kaizenbf8b01d2017-10-12 14:26:51 +010019633<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00163">163</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19634<div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;{</div>
19635<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> vld1q_s8(addr);</div>
19636<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019637</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010019638</div>
19639</div>
Kaizen8938bd32017-09-28 14:38:23 +010019640<a class="anchor" id="a8bab58697ee7d7df117384a05d4e2f92"></a>
19641<div class="memitem">
19642<div class="memproto">
19643 <table class="memname">
19644 <tr>
19645 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> arm_compute::vld2q_qs16 </td>
19646 <td>(</td>
19647 <td class="paramtype">qint16_t *&#160;</td>
19648 <td class="paramname"><em>addr</em></td><td>)</td>
19649 <td></td>
19650 </tr>
19651 </table>
19652</div><div class="memdoc">
19653
19654<p>Load two 16 bit fixed point vectors from memory (8x2 elements) </p>
19655<dl class="params"><dt>Parameters</dt><dd>
19656 <table class="params">
19657 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point vectors to load</td></tr>
19658 </table>
19659 </dd>
19660</dl>
19661<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vectors (8x2 elements) </dd></dl>
19662
19663</div>
19664</div>
19665<a class="anchor" id="a1c9f2b26b64fd697fa1b22450521876d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019666<div class="memitem">
19667<div class="memproto">
19668<table class="mlabels">
19669 <tr>
19670 <td class="mlabels-left">
19671 <table class="memname">
19672 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010019673 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> arm_compute::vld2q_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019674 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010019675 <td class="paramtype">const qint16_t *&#160;</td>
19676 <td class="paramname"><em>addr</em></td><td>)</td>
19677 <td></td>
19678 </tr>
19679 </table>
19680 </td>
19681 <td class="mlabels-right">
19682<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19683 </tr>
19684</table>
19685</div><div class="memdoc">
19686
Kaizenbf8b01d2017-10-12 14:26:51 +010019687<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00193">193</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
19688<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;{</div>
19689<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">return</span> vld2q_s16(addr);</div>
19690<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019691</div><!-- fragment -->
19692</div>
19693</div>
19694<a class="anchor" id="ad9e26d94cb0b929e30b88400cd5c60d2"></a>
19695<div class="memitem">
19696<div class="memproto">
19697<table class="mlabels">
19698 <tr>
19699 <td class="mlabels-left">
19700 <table class="memname">
19701 <tr>
19702 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vlog_qs16 </td>
19703 <td>(</td>
19704 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019705 <td class="paramname"><em>a</em>, </td>
19706 </tr>
19707 <tr>
19708 <td class="paramkey"></td>
19709 <td></td>
19710 <td class="paramtype">int&#160;</td>
19711 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19712 </tr>
19713 <tr>
19714 <td></td>
19715 <td>)</td>
19716 <td></td><td></td>
19717 </tr>
19718 </table>
19719 </td>
19720 <td class="mlabels-right">
19721<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19722 </tr>
19723</table>
19724</div><div class="memdoc">
19725
Kaizen8938bd32017-09-28 14:38:23 +010019726<p>Calculate logarithm fixed point 16 bit (4 elements) </p>
19727<dl class="params"><dt>Parameters</dt><dd>
19728 <table class="params">
19729 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
19730 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
19731 </table>
19732 </dd>
19733</dl>
19734<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit logarithm. </dd></dl>
19735
Kaizenbf8b01d2017-10-12 14:26:51 +010019736<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01585">1585</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010019737
Kaizenbf8b01d2017-10-12 14:26:51 +010019738<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01103">vrecip_qs16()</a>.</p>
19739<div class="fragment"><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;{</div>
19740<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
19741<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_fifteen_dec = vdup_n_s16(15);</div>
19742<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_ln2 = vdup_n_s16(0x58B9 &gt;&gt; (15 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
19743<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;</div>
19744<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; <span class="comment">// If 0 &lt; a &lt; 1, calculate log(1/x)</span></div>
19745<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; uint16x4_t calc_reciprocal = vclt_s16(a, const_one);</div>
19746<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> recip = vdup_n_s16(0);</div>
19747<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; recip = vbsl_s16(calc_reciprocal, recip, a);</div>
19748<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;</div>
19749<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; <span class="comment">// Calculate reciprocal</span></div>
19750<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; recip = <a class="code" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a>(recip, fixed_point_position);</div>
19751<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; a = vbsl_s16(calc_reciprocal, recip, a);</div>
19752<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;</div>
19753<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; <span class="comment">// Get decimal part of a</span></div>
19754<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-fixed_point_position);</div>
19755<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> dec_a = vshl_s16(a, shift_value); <span class="comment">// a &gt;&gt; fixed_point_position</span></div>
19756<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;</div>
19757<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
19758<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; shift_value = vsub_s16(const_fifteen_dec, vclz_s16(dec_a));</div>
19759<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;</div>
19760<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; <span class="comment">// Get x to range (1, 2]</span></div>
19761<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value_neg = vneg_s16(shift_value);</div>
19762<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vsub_s16(vrshl_s16(a, shift_value_neg), const_one);</div>
19763<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmul_s16(shift_value, const_one);</div>
19764<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;</div>
19765<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19766<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> poly = vtaylor_poly_qs16&lt;true&gt;(temp, fixed_point_position);</div>
19767<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;</div>
19768<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; <span class="comment">// Reconstruct</span></div>
19769<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; poly = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(vadd_s16(poly, sum), const_ln2, fixed_point_position);</div>
19770<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160;</div>
19771<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; <span class="comment">// Set negative value for 0 &lt; a &lt; 1</span></div>
19772<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160; poly = vbsl_s16(calc_reciprocal, vneg_s16(poly), poly);</div>
19773<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;</div>
19774<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; <span class="keywordflow">return</span> poly;</div>
19775<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019776<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>
Kaizenbf8b01d2017-10-12 14:26:51 +010019777<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019778<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010019779<div class="ttc" id="namespacearm__compute_xhtml_a8e14017f1276f4a4e14078d93ed692bd"><div class="ttname"><a href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">arm_compute::vrecip_qs16</a></div><div class="ttdeci">qint16x4_t vrecip_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01103">NEFixedPoint.inl:1103</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010019780</div><!-- fragment -->
19781</div>
19782</div>
19783<a class="anchor" id="a475d617b2ee92ec39588e6d6e488471a"></a>
19784<div class="memitem">
19785<div class="memproto">
19786<table class="mlabels">
19787 <tr>
19788 <td class="mlabels-left">
19789 <table class="memname">
19790 <tr>
19791 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vlog_qs8 </td>
19792 <td>(</td>
19793 <td class="paramtype">qint8x8_t&#160;</td>
19794 <td class="paramname"><em>a</em>, </td>
19795 </tr>
19796 <tr>
19797 <td class="paramkey"></td>
19798 <td></td>
19799 <td class="paramtype">int&#160;</td>
19800 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19801 </tr>
19802 <tr>
19803 <td></td>
19804 <td>)</td>
19805 <td></td><td></td>
19806 </tr>
19807 </table>
19808 </td>
19809 <td class="mlabels-right">
19810<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19811 </tr>
19812</table>
19813</div><div class="memdoc">
19814
19815<p>Calculate logarithm fixed point 8 bit (8 elements) </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019816<dl class="params"><dt>Parameters</dt><dd>
19817 <table class="params">
19818 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
19819 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
19820 </table>
19821 </dd>
19822</dl>
19823<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit logarithm. </dd></dl>
19824
Kaizenbf8b01d2017-10-12 14:26:51 +010019825<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01546">1546</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019826
Kaizenbf8b01d2017-10-12 14:26:51 +010019827<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01077">vrecip_qs8()</a>.</p>
19828<div class="fragment"><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;{</div>
19829<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
19830<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_seven_dec = vdup_n_s8(7);</div>
19831<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_ln2 = vdup_n_s8(0x58 &gt;&gt; (7 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
19832<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;</div>
19833<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160; <span class="comment">// If 0 &lt; a &lt; 1, calculate log(1/x)</span></div>
19834<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160; uint8x8_t calc_reciprocal = vclt_s8(a, const_one);</div>
19835<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> recip = vdup_n_s8(0);</div>
19836<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160; recip = vbsl_s8(calc_reciprocal, recip, a);</div>
19837<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;</div>
19838<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160; <span class="comment">// Calculate reciprocal</span></div>
19839<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160; recip = <a class="code" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a>(recip, fixed_point_position);</div>
19840<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160; a = vbsl_s8(calc_reciprocal, recip, a);</div>
19841<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;</div>
19842<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160; <span class="comment">// Get decimal part of a</span></div>
19843<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-fixed_point_position);</div>
19844<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> dec_a = vshl_s8(a, shift_value); <span class="comment">// a &gt;&gt; fixed_point_position</span></div>
19845<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;</div>
19846<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
19847<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160; shift_value = vsub_s8(const_seven_dec, vclz_s8(dec_a));</div>
19848<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;</div>
19849<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; <span class="comment">// Get x to range (1, 2]</span></div>
19850<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value_neg = vneg_s8(shift_value);</div>
19851<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vsub_s8(vrshl_s8(a, shift_value_neg), const_one);</div>
19852<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmul_s8(shift_value, const_one);</div>
19853<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;</div>
19854<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19855<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> poly = vtaylor_poly_qs8&lt;true&gt;(temp, fixed_point_position);</div>
19856<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;</div>
19857<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160; <span class="comment">// Reconstruct</span></div>
19858<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160; poly = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(vadd_s8(poly, sum), const_ln2, fixed_point_position);</div>
19859<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;</div>
19860<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160; <span class="comment">// Set negative value for 0 &lt; a &lt; 1</span></div>
19861<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160; poly = vbsl_s8(calc_reciprocal, vneg_s8(poly), poly);</div>
19862<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;</div>
19863<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; <span class="keywordflow">return</span> poly;</div>
19864<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010019865<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>
Kaizenbf8b01d2017-10-12 14:26:51 +010019866<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
19867<div class="ttc" id="namespacearm__compute_xhtml_aa24b270b0193ad8983dfecd6105c4936"><div class="ttname"><a href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">arm_compute::vrecip_qs8</a></div><div class="ttdeci">qint8x8_t vrecip_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01077">NEFixedPoint.inl:1077</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019868<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
19869</div><!-- fragment -->
19870</div>
19871</div>
Kaizen8938bd32017-09-28 14:38:23 +010019872<a class="anchor" id="a38bedb9142df17a66ff1b90974f19512"></a>
19873<div class="memitem">
19874<div class="memproto">
19875<table class="mlabels">
19876 <tr>
19877 <td class="mlabels-left">
19878 <table class="memname">
19879 <tr>
19880 <td class="memname">float16x8_t arm_compute::vlogq_f16 </td>
19881 <td>(</td>
19882 <td class="paramtype">float16x8_t&#160;</td>
19883 <td class="paramname"><em>x</em></td><td>)</td>
19884 <td></td>
19885 </tr>
19886 </table>
19887 </td>
19888 <td class="mlabels-right">
19889<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19890 </tr>
19891</table>
19892</div><div class="memdoc">
19893
19894<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">282</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
19895
19896<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00188">log_tab_f16</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00249">vtaylor_polyq_f16()</a>.</p>
19897
19898<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00300">vpowq_f16()</a>.</p>
19899<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{</div>
19900<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int16x8_t CONST_127 = vdupq_n_s16(127); <span class="comment">// 127</span></div>
19901<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_LN2 = vdupq_n_f16(0.6931471805f); <span class="comment">// ln(2)</span></div>
19902<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div>
19903<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="comment">// Extract exponent</span></div>
19904<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keyword">const</span> int16x8_t m = vsubq_s16(vreinterpretq_s16_u16(vshrq_n_u16(vreinterpretq_u16_f16(x), 9)), CONST_127);</div>
19905<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">const</span> float16x8_t val = vreinterpretq_f16_s16(vsubq_s16(vreinterpretq_s16_f16(x), vshlq_n_s16(m, 9)));</div>
19906<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div>
19907<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19908<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; float16x8_t poly = <a class="code" href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">vtaylor_polyq_f16</a>(val, <a class="code" href="namespacearm__compute.xhtml#a0a8b2a577b2f9370e7b1c4735f007be1">log_tab_f16</a>);</div>
19909<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;</div>
19910<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="comment">// Reconstruct</span></div>
19911<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; poly = vaddq_f16(poly, vmulq_f16(vcvtq_f16_s16(m), CONST_LN2));</div>
19912<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div>
19913<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> poly;</div>
19914<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;}</div>
19915<div class="ttc" id="namespacearm__compute_xhtml_afaad64bc527ee67d3374b67610a34a13"><div class="ttname"><a href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">arm_compute::vtaylor_polyq_f16</a></div><div class="ttdeci">float16x8_t vtaylor_polyq_f16(float16x8_t x, const std::array&lt; float16x8_t, 8 &gt; &amp;coeffs)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00249">NEMath.inl:249</a></div></div>
19916<div class="ttc" id="namespacearm__compute_xhtml_a0a8b2a577b2f9370e7b1c4735f007be1"><div class="ttname"><a href="namespacearm__compute.xhtml#a0a8b2a577b2f9370e7b1c4735f007be1">arm_compute::log_tab_f16</a></div><div class="ttdeci">const std::array&lt; float16x8_t, 8 &gt; log_tab_f16</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00188">NEMath.inl:188</a></div></div>
19917</div><!-- fragment -->
19918</div>
19919</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019920<a class="anchor" id="a37a3e03a22ad160a2e9e5c133607e020"></a>
19921<div class="memitem">
19922<div class="memproto">
19923<table class="mlabels">
19924 <tr>
19925 <td class="mlabels-left">
19926 <table class="memname">
19927 <tr>
19928 <td class="memname">float32x4_t vlogq_f32 </td>
19929 <td>(</td>
19930 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019931 <td class="paramname"><em>x</em></td><td>)</td>
19932 <td></td>
19933 </tr>
19934 </table>
19935 </td>
19936 <td class="mlabels-right">
19937<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19938 </tr>
19939</table>
19940</div><div class="memdoc">
19941
19942<p>Calculate logarithm. </p>
19943<dl class="params"><dt>Parameters</dt><dd>
19944 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010019945 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F32 format.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000019946 </table>
19947 </dd>
19948</dl>
19949<dl class="section return"><dt>Returns</dt><dd>The calculated logarithm. </dd></dl>
19950
Kaizen8938bd32017-09-28 14:38:23 +010019951<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">134</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019952
Kaizen8938bd32017-09-28 14:38:23 +010019953<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00043">log_tab</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">vtaylor_polyq_f32()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019954
Kaizen8938bd32017-09-28 14:38:23 +010019955<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00167">vpowq_f32()</a>.</p>
19956<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;{</div>
19957<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_127 = vdupq_n_s32(127); <span class="comment">// 127</span></div>
19958<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <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>
19959<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
19960<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="comment">// Extract exponent</span></div>
19961<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; int32x4_t m = vsubq_s32(vreinterpretq_s32_u32(vshrq_n_u32(vreinterpretq_u32_f32(x), 23)), CONST_127);</div>
19962<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; float32x4_t val = vreinterpretq_f32_s32(vsubq_s32(vreinterpretq_s32_f32(x), vshlq_n_s32(m, 23)));</div>
19963<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
19964<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
19965<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a>);</div>
19966<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
19967<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">// Reconstruct</span></div>
19968<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; poly = vmlaq_f32(poly, vcvtq_f32_s32(m), CONST_LN2);</div>
19969<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
19970<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> poly;</div>
19971<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
19972<div class="ttc" id="namespacearm__compute_xhtml_a4fa76a98dce5ed1b655ff840f2ce6e57"><div class="ttname"><a href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(float32x4_t x, const std::array&lt; float32x4_t, 8 &gt; &amp;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_8inl_source.xhtml#l00101">NEMath.inl:101</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019973<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&lt; float32x4_t, 8 &gt; log_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00043">NEMath.inl:43</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000019974</div><!-- fragment -->
19975</div>
19976</div>
Kaizen8938bd32017-09-28 14:38:23 +010019977<a class="anchor" id="a756ac701185cfc4924443db164fd65ae"></a>
19978<div class="memitem">
19979<div class="memproto">
19980<table class="mlabels">
19981 <tr>
19982 <td class="mlabels-left">
19983 <table class="memname">
19984 <tr>
19985 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vlogq_qs16 </td>
19986 <td>(</td>
19987 <td class="paramtype">qint16x8_t&#160;</td>
19988 <td class="paramname"><em>a</em>, </td>
19989 </tr>
19990 <tr>
19991 <td class="paramkey"></td>
19992 <td></td>
19993 <td class="paramtype">int&#160;</td>
19994 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
19995 </tr>
19996 <tr>
19997 <td></td>
19998 <td>)</td>
19999 <td></td><td></td>
20000 </tr>
20001 </table>
20002 </td>
20003 <td class="mlabels-right">
20004<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20005 </tr>
20006</table>
20007</div><div class="memdoc">
20008
20009<p>Calculate logarithm fixed point 16 bit (8 elements) </p>
20010<dl class="params"><dt>Parameters</dt><dd>
20011 <table class="params">
20012 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
20013 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
20014 </table>
20015 </dd>
20016</dl>
20017<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit logarithm. </dd></dl>
20018
Kaizenbf8b01d2017-10-12 14:26:51 +010020019<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01663">1663</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010020020
Kaizenbf8b01d2017-10-12 14:26:51 +010020021<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01265">vqrecipq_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010020022
Kaizenbf8b01d2017-10-12 14:26:51 +010020023<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01983">vqpowq_qs16()</a>.</p>
20024<div class="fragment"><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;{</div>
20025<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
20026<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_fifteen_dec = vdupq_n_s16(15);</div>
20027<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_ln2 = vdupq_n_s16(0x58B9 &gt;&gt; (15 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
20028<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;</div>
20029<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; <span class="comment">// If 0 &lt; a &lt; 1, calculate log(1/x)</span></div>
20030<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; uint16x8_t calc_reciprocal = vcltq_s16(a, const_one);</div>
20031<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> recip = vdupq_n_s16(0);</div>
20032<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; recip = vbslq_s16(calc_reciprocal, a, recip);</div>
20033<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;</div>
20034<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <span class="comment">// Calculate reciprocal</span></div>
20035<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; recip = <a class="code" href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a>(recip, fixed_point_position);</div>
20036<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; a = vbslq_s16(calc_reciprocal, recip, a);</div>
20037<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;</div>
20038<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; <span class="comment">// Get decimal part of a</span></div>
20039<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-fixed_point_position);</div>
20040<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> dec_a = vshlq_s16(a, shift_value); <span class="comment">// a &gt;&gt; fixed_point_position</span></div>
20041<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;</div>
20042<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
20043<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; shift_value = vqsubq_s16(const_fifteen_dec, vclzq_s16(dec_a));</div>
20044<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;</div>
20045<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; <span class="comment">// Get x to range (1, 2]</span></div>
20046<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value_neg = vnegq_s16(shift_value);</div>
20047<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqsubq_s16(vrshlq_s16(a, shift_value_neg), const_one);</div>
20048<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmulq_s16(shift_value, const_one);</div>
20049<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;</div>
20050<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
20051<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> poly = vtaylor_polyq_qs16&lt;true&gt;(temp, fixed_point_position);</div>
20052<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;</div>
20053<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; <span class="comment">// Reconstruct</span></div>
20054<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; poly = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(vqaddq_s16(poly, sum), const_ln2, fixed_point_position);</div>
20055<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;</div>
20056<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; <span class="comment">// Set negative value for 0 &lt; a &lt; 1</span></div>
20057<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; poly = vbslq_s16(calc_reciprocal, vnegq_s16(poly), poly);</div>
20058<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;</div>
20059<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; <span class="keywordflow">return</span> poly;</div>
20060<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020061<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>
Kaizenbf8b01d2017-10-12 14:26:51 +010020062<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
20063<div class="ttc" id="namespacearm__compute_xhtml_a6a368d809128ff6bce989cda02c536d8"><div class="ttname"><a href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">arm_compute::vqrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vqrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01265">NEFixedPoint.inl:1265</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010020064<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
20065</div><!-- fragment -->
20066</div>
20067</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020068<a class="anchor" id="a340b9cd5ad88f1a821498c6fad80e82c"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000020069<div class="memitem">
20070<div class="memproto">
20071<table class="mlabels">
20072 <tr>
20073 <td class="mlabels-left">
20074 <table class="memname">
20075 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020076 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vlogq_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000020077 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020078 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020079 <td class="paramname"><em>a</em>, </td>
20080 </tr>
20081 <tr>
20082 <td class="paramkey"></td>
20083 <td></td>
20084 <td class="paramtype">int&#160;</td>
20085 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20086 </tr>
20087 <tr>
20088 <td></td>
20089 <td>)</td>
20090 <td></td><td></td>
20091 </tr>
20092 </table>
20093 </td>
20094 <td class="mlabels-right">
20095<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20096 </tr>
20097</table>
20098</div><div class="memdoc">
20099
20100<p>Calculate logarithm fixed point 16bit (16 elements) </p>
20101<dl class="params"><dt>Parameters</dt><dd>
20102 <table class="params">
20103 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
20104 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
20105 </table>
20106 </dd>
20107</dl>
20108<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit logarithm. </dd></dl>
20109
Kaizenbf8b01d2017-10-12 14:26:51 +010020110<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01624">1624</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020111
Kaizenbf8b01d2017-10-12 14:26:51 +010020112<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01183">vrecipq_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020113
Kaizenbf8b01d2017-10-12 14:26:51 +010020114<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01978">vqpowq_qs8()</a>.</p>
20115<div class="fragment"><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;{</div>
20116<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
20117<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_seven_dec = vdupq_n_s8(7);</div>
20118<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_ln2 = vdupq_n_s8(0x58 &gt;&gt; (7 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
20119<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;</div>
20120<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160; <span class="comment">// If 0 &lt; a &lt; 1, calculate log(1/x)</span></div>
20121<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; uint8x16_t calc_reciprocal = vcltq_s8(a, const_one);</div>
20122<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> recip = vdupq_n_s8(0);</div>
20123<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160; recip = vbslq_s8(calc_reciprocal, a, recip);</div>
20124<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160;</div>
20125<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; <span class="comment">// Calculate reciprocal</span></div>
20126<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; recip = <a class="code" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a>(recip, fixed_point_position);</div>
20127<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; a = vbslq_s8(calc_reciprocal, recip, a);</div>
20128<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;</div>
20129<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; <span class="comment">// Get decimal part of a</span></div>
20130<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-fixed_point_position);</div>
20131<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> dec_a = vshlq_s8(a, shift_value); <span class="comment">// a &gt;&gt; fixed_point_position</span></div>
20132<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;</div>
20133<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
20134<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160; shift_value = vsubq_s8(const_seven_dec, vclzq_s8(dec_a));</div>
20135<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;</div>
20136<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; <span class="comment">// Get x to range (1, 2]</span></div>
20137<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value_neg = vnegq_s8(shift_value);</div>
20138<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vsubq_s8(vrshlq_s8(a, shift_value_neg), const_one);</div>
20139<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmulq_s8(shift_value, const_one);</div>
20140<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;</div>
20141<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
20142<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> poly = vtaylor_polyq_qs8&lt;true&gt;(temp, fixed_point_position);</div>
20143<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;</div>
20144<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; <span class="comment">// Reconstruct</span></div>
20145<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; poly = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(vaddq_s8(poly, sum), const_ln2, fixed_point_position);</div>
20146<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160;</div>
20147<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; <span class="comment">// Set negative value for 0 &lt; a &lt; 1</span></div>
20148<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; poly = vbslq_s8(calc_reciprocal, vnegq_s8(poly), poly);</div>
20149<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;</div>
20150<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; <span class="keywordflow">return</span> poly;</div>
20151<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020152<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>
20153<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010020154<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
20155<div class="ttc" id="namespacearm__compute_xhtml_abbeb1dc4834fb4e97cf94d702d0e0f91"><div class="ttname"><a href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">arm_compute::vrecipq_qs8</a></div><div class="ttdeci">qint8x16_t vrecipq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01183">NEFixedPoint.inl:1183</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010020156</div><!-- fragment -->
20157</div>
20158</div>
20159<a class="anchor" id="a4e6c2516e84e006167b046690d9a0c84"></a>
20160<div class="memitem">
20161<div class="memproto">
20162<table class="mlabels">
20163 <tr>
20164 <td class="mlabels-left">
20165 <table class="memname">
20166 <tr>
20167 <td class="memname">float32x4x2_t vmax2q_f32 </td>
20168 <td>(</td>
20169 <td class="paramtype">float32x4x2_t&#160;</td>
20170 <td class="paramname"><em>a</em>, </td>
20171 </tr>
20172 <tr>
20173 <td class="paramkey"></td>
20174 <td></td>
20175 <td class="paramtype">float32x4x2_t&#160;</td>
20176 <td class="paramname"><em>b</em>&#160;</td>
20177 </tr>
20178 <tr>
20179 <td></td>
20180 <td>)</td>
20181 <td></td><td></td>
20182 </tr>
20183 </table>
20184 </td>
20185 <td class="mlabels-right">
20186<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20187 </tr>
20188</table>
20189</div><div class="memdoc">
20190
20191<p>Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. </p>
20192<dl class="params"><dt>Parameters</dt><dd>
20193 <table class="params">
20194 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
20195 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Float input vector</td></tr>
20196 </table>
20197 </dd>
20198</dl>
20199<dl class="section return"><dt>Returns</dt><dd>The lane-by-lane maximum -&gt; float32x4x2 </dd></dl>
20200
Kaizenbf8b01d2017-10-12 14:26:51 +010020201<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01988">1988</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20202<div class="fragment"><div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160;{</div>
20203<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160; float32x4x2_t res =</div>
20204<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160; {</div>
20205<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160; {</div>
20206<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160; vmaxq_f32(a.val[0], b.val[0]),</div>
20207<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160; vmaxq_f32(a.val[1], b.val[1])</div>
20208<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160; }</div>
20209<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160; };</div>
20210<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160; <span class="keywordflow">return</span> res;</div>
20211<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020212</div><!-- fragment -->
20213</div>
20214</div>
20215<a class="anchor" id="a5db8c0cf0dba918904733f0c9a8bedc8"></a>
20216<div class="memitem">
20217<div class="memproto">
20218<table class="mlabels">
20219 <tr>
20220 <td class="mlabels-left">
20221 <table class="memname">
20222 <tr>
20223 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmax_qs16 </td>
20224 <td>(</td>
20225 <td class="paramtype">qint16x4_t&#160;</td>
20226 <td class="paramname"><em>a</em>, </td>
20227 </tr>
20228 <tr>
20229 <td class="paramkey"></td>
20230 <td></td>
20231 <td class="paramtype">qint16x4_t&#160;</td>
20232 <td class="paramname"><em>b</em>&#160;</td>
20233 </tr>
20234 <tr>
20235 <td></td>
20236 <td>)</td>
20237 <td></td><td></td>
20238 </tr>
20239 </table>
20240 </td>
20241 <td class="mlabels-right">
20242<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20243 </tr>
20244</table>
20245</div><div class="memdoc">
20246
20247<p>16 bit fixed point vector max (4 elements) </p>
20248<dl class="params"><dt>Parameters</dt><dd>
20249 <table class="params">
20250 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
20251 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
20252 </table>
20253 </dd>
20254</dl>
20255<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
20256
Kaizenbf8b01d2017-10-12 14:26:51 +010020257<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00329">329</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20258<div class="fragment"><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;{</div>
20259<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> vmax_s16(a, b);</div>
20260<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020261</div><!-- fragment -->
20262</div>
20263</div>
20264<a class="anchor" id="a3e913e95e286244f24f9a381909c8b26"></a>
20265<div class="memitem">
20266<div class="memproto">
20267<table class="mlabels">
20268 <tr>
20269 <td class="mlabels-left">
20270 <table class="memname">
20271 <tr>
20272 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmax_qs8 </td>
20273 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020274 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020275 <td class="paramname"><em>a</em>, </td>
20276 </tr>
20277 <tr>
20278 <td class="paramkey"></td>
20279 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020280 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020281 <td class="paramname"><em>b</em>&#160;</td>
20282 </tr>
20283 <tr>
20284 <td></td>
20285 <td>)</td>
20286 <td></td><td></td>
20287 </tr>
20288 </table>
20289 </td>
20290 <td class="mlabels-right">
20291<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20292 </tr>
20293</table>
20294</div><div class="memdoc">
20295
20296<p>8 bit fixed point vector max (8 elements) </p>
20297<dl class="params"><dt>Parameters</dt><dd>
20298 <table class="params">
20299 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
20300 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
20301 </table>
20302 </dd>
20303</dl>
20304<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
20305
Kaizenbf8b01d2017-10-12 14:26:51 +010020306<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00324">324</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20307<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{</div>
20308<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> vmax_s8(a, b);</div>
20309<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020310</div><!-- fragment -->
20311</div>
20312</div>
20313<a class="anchor" id="a952d1f0a7f47167985554aed39b737ac"></a>
20314<div class="memitem">
20315<div class="memproto">
20316<table class="mlabels">
20317 <tr>
20318 <td class="mlabels-left">
20319 <table class="memname">
20320 <tr>
20321 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmaxq_qs16 </td>
20322 <td>(</td>
20323 <td class="paramtype">qint16x8_t&#160;</td>
20324 <td class="paramname"><em>a</em>, </td>
20325 </tr>
20326 <tr>
20327 <td class="paramkey"></td>
20328 <td></td>
20329 <td class="paramtype">qint16x8_t&#160;</td>
20330 <td class="paramname"><em>b</em>&#160;</td>
20331 </tr>
20332 <tr>
20333 <td></td>
20334 <td>)</td>
20335 <td></td><td></td>
20336 </tr>
20337 </table>
20338 </td>
20339 <td class="mlabels-right">
20340<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20341 </tr>
20342</table>
20343</div><div class="memdoc">
20344
20345<p>16 bit fixed point vector max (8 elements) </p>
20346<dl class="params"><dt>Parameters</dt><dd>
20347 <table class="params">
20348 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
20349 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
20350 </table>
20351 </dd>
20352</dl>
20353<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
20354
Kaizenbf8b01d2017-10-12 14:26:51 +010020355<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00349">349</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20356<div class="fragment"><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;{</div>
20357<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> vmaxq_s16(a, b);</div>
20358<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020359</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010020360</div>
20361</div>
20362<a class="anchor" id="a1627f818fb2ca90f7c3880f959030556"></a>
20363<div class="memitem">
20364<div class="memproto">
20365<table class="mlabels">
20366 <tr>
20367 <td class="mlabels-left">
20368 <table class="memname">
20369 <tr>
20370 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vmaxq_qs8 </td>
20371 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020372 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020373 <td class="paramname"><em>a</em>, </td>
20374 </tr>
20375 <tr>
20376 <td class="paramkey"></td>
20377 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020378 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020379 <td class="paramname"><em>b</em>&#160;</td>
20380 </tr>
20381 <tr>
20382 <td></td>
20383 <td>)</td>
20384 <td></td><td></td>
20385 </tr>
20386 </table>
20387 </td>
20388 <td class="mlabels-right">
20389<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20390 </tr>
20391</table>
20392</div><div class="memdoc">
20393
20394<p>8 bit fixed point vector max (16 elements) </p>
20395<dl class="params"><dt>Parameters</dt><dd>
20396 <table class="params">
20397 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
20398 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
20399 </table>
20400 </dd>
20401</dl>
20402<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
20403
Kaizenbf8b01d2017-10-12 14:26:51 +010020404<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00334">334</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20405<div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;{</div>
20406<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> vmaxq_s8(a, b);</div>
20407<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020408</div><!-- fragment -->
20409</div>
20410</div>
20411<a class="anchor" id="ac0eb95618787b12b93aeb2f3f101dad2"></a>
20412<div class="memitem">
20413<div class="memproto">
20414<table class="mlabels">
20415 <tr>
20416 <td class="mlabels-left">
20417 <table class="memname">
20418 <tr>
20419 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmin_qs16 </td>
20420 <td>(</td>
20421 <td class="paramtype">qint16x4_t&#160;</td>
20422 <td class="paramname"><em>a</em>, </td>
20423 </tr>
20424 <tr>
20425 <td class="paramkey"></td>
20426 <td></td>
20427 <td class="paramtype">qint16x4_t&#160;</td>
20428 <td class="paramname"><em>b</em>&#160;</td>
20429 </tr>
20430 <tr>
20431 <td></td>
20432 <td>)</td>
20433 <td></td><td></td>
20434 </tr>
20435 </table>
20436 </td>
20437 <td class="mlabels-right">
20438<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20439 </tr>
20440</table>
20441</div><div class="memdoc">
20442
20443<p>16 bit fixed point vector min (4 elements) </p>
20444<dl class="params"><dt>Parameters</dt><dd>
20445 <table class="params">
20446 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
20447 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
20448 </table>
20449 </dd>
20450</dl>
20451<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
20452
Kaizenbf8b01d2017-10-12 14:26:51 +010020453<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00359">359</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20454<div class="fragment"><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;{</div>
20455<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> vmin_s16(a, b);</div>
20456<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020457</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010020458</div>
20459</div>
20460<a class="anchor" id="abed4a7c95569e1fa72d0f8bfe5a50c84"></a>
20461<div class="memitem">
20462<div class="memproto">
20463<table class="mlabels">
20464 <tr>
20465 <td class="mlabels-left">
20466 <table class="memname">
20467 <tr>
20468 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmin_qs8 </td>
20469 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020470 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020471 <td class="paramname"><em>a</em>, </td>
20472 </tr>
20473 <tr>
20474 <td class="paramkey"></td>
20475 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020476 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020477 <td class="paramname"><em>b</em>&#160;</td>
20478 </tr>
20479 <tr>
20480 <td></td>
20481 <td>)</td>
20482 <td></td><td></td>
20483 </tr>
20484 </table>
20485 </td>
20486 <td class="mlabels-right">
20487<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20488 </tr>
20489</table>
20490</div><div class="memdoc">
20491
20492<p>8 bit fixed point vector min (8 elements) </p>
20493<dl class="params"><dt>Parameters</dt><dd>
20494 <table class="params">
20495 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
20496 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
20497 </table>
20498 </dd>
20499</dl>
20500<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
20501
Kaizenbf8b01d2017-10-12 14:26:51 +010020502<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00354">354</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20503<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;{</div>
20504<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> vmin_s8(a, b);</div>
20505<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020506</div><!-- fragment -->
20507</div>
20508</div>
20509<a class="anchor" id="a9724e1c56a877ce483c84420297dd638"></a>
20510<div class="memitem">
20511<div class="memproto">
20512<table class="mlabels">
20513 <tr>
20514 <td class="mlabels-left">
20515 <table class="memname">
20516 <tr>
20517 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vminq_qs16 </td>
20518 <td>(</td>
20519 <td class="paramtype">qint16x8_t&#160;</td>
20520 <td class="paramname"><em>a</em>, </td>
20521 </tr>
20522 <tr>
20523 <td class="paramkey"></td>
20524 <td></td>
20525 <td class="paramtype">qint16x8_t&#160;</td>
20526 <td class="paramname"><em>b</em>&#160;</td>
20527 </tr>
20528 <tr>
20529 <td></td>
20530 <td>)</td>
20531 <td></td><td></td>
20532 </tr>
20533 </table>
20534 </td>
20535 <td class="mlabels-right">
20536<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20537 </tr>
20538</table>
20539</div><div class="memdoc">
20540
20541<p>16 bit fixed point vector min (8 elements) </p>
20542<dl class="params"><dt>Parameters</dt><dd>
20543 <table class="params">
20544 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
20545 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
20546 </table>
20547 </dd>
20548</dl>
20549<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector min operation </dd></dl>
20550
Kaizenbf8b01d2017-10-12 14:26:51 +010020551<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00379">379</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20552<div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;{</div>
20553<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">return</span> vminq_s16(a, b);</div>
20554<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020555</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010020556</div>
20557</div>
20558<a class="anchor" id="a3b393341c8500b469780137b3548f70b"></a>
20559<div class="memitem">
20560<div class="memproto">
20561<table class="mlabels">
20562 <tr>
20563 <td class="mlabels-left">
20564 <table class="memname">
20565 <tr>
20566 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vminq_qs8 </td>
20567 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020568 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020569 <td class="paramname"><em>a</em>, </td>
20570 </tr>
20571 <tr>
20572 <td class="paramkey"></td>
20573 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020574 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020575 <td class="paramname"><em>b</em>&#160;</td>
20576 </tr>
20577 <tr>
20578 <td></td>
20579 <td>)</td>
20580 <td></td><td></td>
20581 </tr>
20582 </table>
20583 </td>
20584 <td class="mlabels-right">
20585<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20586 </tr>
20587</table>
20588</div><div class="memdoc">
20589
20590<p>8 bit fixed point vector min (16 elements) </p>
20591<dl class="params"><dt>Parameters</dt><dd>
20592 <table class="params">
20593 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
20594 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
20595 </table>
20596 </dd>
20597</dl>
20598<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector min operation </dd></dl>
20599
Kaizenbf8b01d2017-10-12 14:26:51 +010020600<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00364">364</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20601<div class="fragment"><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;{</div>
20602<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">return</span> vminq_s8(a, b);</div>
20603<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020604</div><!-- fragment -->
20605</div>
20606</div>
20607<a class="anchor" id="a274a6a8a684dd31dbd2a1ebef37b38db"></a>
20608<div class="memitem">
20609<div class="memproto">
20610<table class="mlabels">
20611 <tr>
20612 <td class="mlabels-left">
20613 <table class="memname">
20614 <tr>
20615 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmla_qs16 </td>
20616 <td>(</td>
20617 <td class="paramtype">qint16x4_t&#160;</td>
20618 <td class="paramname"><em>a</em>, </td>
20619 </tr>
20620 <tr>
20621 <td class="paramkey"></td>
20622 <td></td>
20623 <td class="paramtype">qint16x4_t&#160;</td>
20624 <td class="paramname"><em>b</em>, </td>
20625 </tr>
20626 <tr>
20627 <td class="paramkey"></td>
20628 <td></td>
20629 <td class="paramtype">qint16x4_t&#160;</td>
20630 <td class="paramname"><em>c</em>, </td>
20631 </tr>
20632 <tr>
20633 <td class="paramkey"></td>
20634 <td></td>
20635 <td class="paramtype">int&#160;</td>
20636 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20637 </tr>
20638 <tr>
20639 <td></td>
20640 <td>)</td>
20641 <td></td><td></td>
20642 </tr>
20643 </table>
20644 </td>
20645 <td class="mlabels-right">
20646<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20647 </tr>
20648</table>
20649</div><div class="memdoc">
20650
20651<p>16 bit fixed point vector multiply-accumulate (4 elements). </p>
20652<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
20653<dl class="params"><dt>Parameters</dt><dd>
20654 <table class="params">
20655 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
20656 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
20657 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
20658 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
20659 </table>
20660 </dd>
20661</dl>
20662<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate </dd></dl>
20663
Kaizenbf8b01d2017-10-12 14:26:51 +010020664<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00667">667</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20665<div class="fragment"><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;{</div>
20666<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
20667<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;</div>
20668<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20669<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
20670<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;</div>
20671<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20672<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; tmp = vmlal_s16(tmp, b, c);</div>
20673<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;</div>
20674<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20675<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; tmp = vshlq_s32(tmp, fixed_point_position_s32);</div>
20676<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;</div>
20677<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="comment">// Convert back to qint16 and accumulate</span></div>
20678<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">return</span> vadd_s16(a, vmovn_s32(tmp));</div>
20679<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020680<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
20681</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010020682</div>
20683</div>
20684<a class="anchor" id="a26fd8532b87adbcf27214504c38918e4"></a>
20685<div class="memitem">
20686<div class="memproto">
20687<table class="mlabels">
20688 <tr>
20689 <td class="mlabels-left">
20690 <table class="memname">
20691 <tr>
20692 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmla_qs8 </td>
20693 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020694 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020695 <td class="paramname"><em>a</em>, </td>
20696 </tr>
20697 <tr>
20698 <td class="paramkey"></td>
20699 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020700 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020701 <td class="paramname"><em>b</em>, </td>
20702 </tr>
20703 <tr>
20704 <td class="paramkey"></td>
20705 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020706 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020707 <td class="paramname"><em>c</em>, </td>
20708 </tr>
20709 <tr>
20710 <td class="paramkey"></td>
20711 <td></td>
20712 <td class="paramtype">int&#160;</td>
20713 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20714 </tr>
20715 <tr>
20716 <td></td>
20717 <td>)</td>
20718 <td></td><td></td>
20719 </tr>
20720 </table>
20721 </td>
20722 <td class="mlabels-right">
20723<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20724 </tr>
20725</table>
20726</div><div class="memdoc">
20727
20728<p>8 bit fixed point vector multiply-accumulate (8 elements). </p>
20729<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
20730<dl class="params"><dt>Parameters</dt><dd>
20731 <table class="params">
20732 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
20733 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
20734 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
20735 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
20736 </table>
20737 </dd>
20738</dl>
20739<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
20740
Kaizenbf8b01d2017-10-12 14:26:51 +010020741<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00650">650</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20742<div class="fragment"><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;{</div>
20743<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
20744<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;</div>
20745<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20746<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
20747<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;</div>
20748<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20749<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; tmp = vmlal_s8(tmp, b, c);</div>
20750<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;</div>
20751<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20752<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; tmp = vshlq_s16(tmp, fixed_point_position_s16);</div>
20753<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;</div>
20754<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
20755<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">return</span> vadd_s8(a, vmovn_s16(tmp));</div>
20756<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020757<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
20758</div><!-- fragment -->
20759</div>
20760</div>
20761<a class="anchor" id="ae236b9df08e568bb4b1dcc89896cff7e"></a>
20762<div class="memitem">
20763<div class="memproto">
20764<table class="mlabels">
20765 <tr>
20766 <td class="mlabels-left">
20767 <table class="memname">
20768 <tr>
20769 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> vmlal_qs16 </td>
20770 <td>(</td>
20771 <td class="paramtype">qint32x4_t&#160;</td>
20772 <td class="paramname"><em>a</em>, </td>
20773 </tr>
20774 <tr>
20775 <td class="paramkey"></td>
20776 <td></td>
20777 <td class="paramtype">qint16x4_t&#160;</td>
20778 <td class="paramname"><em>b</em>, </td>
20779 </tr>
20780 <tr>
20781 <td class="paramkey"></td>
20782 <td></td>
20783 <td class="paramtype">qint16x4_t&#160;</td>
20784 <td class="paramname"><em>c</em>, </td>
20785 </tr>
20786 <tr>
20787 <td class="paramkey"></td>
20788 <td></td>
20789 <td class="paramtype">int&#160;</td>
20790 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20791 </tr>
20792 <tr>
20793 <td></td>
20794 <td>)</td>
20795 <td></td><td></td>
20796 </tr>
20797 </table>
20798 </td>
20799 <td class="mlabels-right">
20800<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20801 </tr>
20802</table>
20803</div><div class="memdoc">
20804
20805<p>16 bit fixed point vector multiply-accumulate long (4 elements). </p>
20806<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 32 bit fixed point vector <code>a</code> (a + b * c). 4 elements</p>
20807<dl class="params"><dt>Parameters</dt><dd>
20808 <table class="params">
20809 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input vector where the result of multiplication must be added to </td></tr>
20810 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
20811 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
20812 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
20813 </table>
20814 </dd>
20815</dl>
20816<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
20817
Kaizenbf8b01d2017-10-12 14:26:51 +010020818<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00817">817</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20819<div class="fragment"><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;{</div>
20820<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
20821<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;</div>
20822<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20823<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
20824<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;</div>
20825<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20826<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; tmp = vmlal_s16(tmp, b, c);</div>
20827<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;</div>
20828<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20829<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; tmp = vshlq_s32(tmp, fixed_point_position_s32);</div>
20830<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160;</div>
20831<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="comment">// Accumulate</span></div>
20832<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keywordflow">return</span> vaddq_s32(a, tmp);</div>
20833<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020834<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020835</div><!-- fragment -->
20836</div>
20837</div>
20838<a class="anchor" id="a13873b51e98dcb41229ccf911e671693"></a>
20839<div class="memitem">
20840<div class="memproto">
20841<table class="mlabels">
20842 <tr>
20843 <td class="mlabels-left">
20844 <table class="memname">
20845 <tr>
20846 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmlal_qs8 </td>
20847 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010020848 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020849 <td class="paramname"><em>a</em>, </td>
20850 </tr>
20851 <tr>
20852 <td class="paramkey"></td>
20853 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020854 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020855 <td class="paramname"><em>b</em>, </td>
20856 </tr>
20857 <tr>
20858 <td class="paramkey"></td>
20859 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010020860 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020861 <td class="paramname"><em>c</em>, </td>
20862 </tr>
20863 <tr>
20864 <td class="paramkey"></td>
20865 <td></td>
20866 <td class="paramtype">int&#160;</td>
20867 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20868 </tr>
20869 <tr>
20870 <td></td>
20871 <td>)</td>
20872 <td></td><td></td>
20873 </tr>
20874 </table>
20875 </td>
20876 <td class="mlabels-right">
20877<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20878 </tr>
20879</table>
20880</div><div class="memdoc">
20881
20882<p>8 bit fixed point vector multiply-accumulate long (8 elements). </p>
20883<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 16 bit fixed point vector <code>a</code> (a + b * c). 8 elements</p>
20884<dl class="params"><dt>Parameters</dt><dd>
20885 <table class="params">
20886 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
20887 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
20888 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
20889 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
20890 </table>
20891 </dd>
20892</dl>
20893<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
20894
Kaizenbf8b01d2017-10-12 14:26:51 +010020895<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00800">800</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
20896<div class="fragment"><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;{</div>
20897<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
20898<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;</div>
20899<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20900<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
20901<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;</div>
20902<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20903<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; tmp = vmlal_s8(tmp, b, c);</div>
20904<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;</div>
20905<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20906<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; tmp = vshlq_s16(tmp, fixed_point_position_s16);</div>
20907<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;</div>
20908<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="comment">// Accumulate</span></div>
20909<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="keywordflow">return</span> vaddq_s16(a, tmp);</div>
20910<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010020911<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
20912</div><!-- fragment -->
20913</div>
20914</div>
20915<a class="anchor" id="afac88503bedaf0d617729062991518d7"></a>
20916<div class="memitem">
20917<div class="memproto">
20918<table class="mlabels">
20919 <tr>
20920 <td class="mlabels-left">
20921 <table class="memname">
20922 <tr>
20923 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmlaq_qs16 </td>
20924 <td>(</td>
20925 <td class="paramtype">qint16x8_t&#160;</td>
20926 <td class="paramname"><em>a</em>, </td>
20927 </tr>
20928 <tr>
20929 <td class="paramkey"></td>
20930 <td></td>
20931 <td class="paramtype">qint16x8_t&#160;</td>
20932 <td class="paramname"><em>b</em>, </td>
20933 </tr>
20934 <tr>
20935 <td class="paramkey"></td>
20936 <td></td>
20937 <td class="paramtype">qint16x8_t&#160;</td>
20938 <td class="paramname"><em>c</em>, </td>
20939 </tr>
20940 <tr>
20941 <td class="paramkey"></td>
20942 <td></td>
20943 <td class="paramtype">int&#160;</td>
20944 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
20945 </tr>
20946 <tr>
20947 <td></td>
20948 <td>)</td>
20949 <td></td><td></td>
20950 </tr>
20951 </table>
20952 </td>
20953 <td class="mlabels-right">
20954<span class="mlabels"><span class="mlabel">inline</span></span> </td>
20955 </tr>
20956</table>
20957</div><div class="memdoc">
20958
20959<p>16 bit fixed point vector multiply-accumulate (16 elements). </p>
20960<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
20961<dl class="params"><dt>Parameters</dt><dd>
20962 <table class="params">
20963 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
20964 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
20965 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
20966 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
20967 </table>
20968 </dd>
20969</dl>
20970<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate </dd></dl>
20971
Kaizenbf8b01d2017-10-12 14:26:51 +010020972<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00704">704</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010020973
Kaizenbf8b01d2017-10-12 14:26:51 +010020974<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
20975<div class="fragment"><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;{</div>
20976<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
20977<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;</div>
20978<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
20979<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp0 = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
20980<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp1 = tmp0;</div>
20981<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;</div>
20982<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
20983<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; tmp0 = vmlal_s16(tmp0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(c));</div>
20984<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; tmp1 = vmlal_s16(tmp1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(c));</div>
20985<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;</div>
20986<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
20987<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; tmp0 = vshlq_s32(tmp0, fixed_point_position_s32);</div>
20988<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; tmp1 = vshlq_s32(tmp1, fixed_point_position_s32);</div>
20989<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;</div>
20990<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="comment">// Convert back to qint16 and accumulate</span></div>
20991<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keywordflow">return</span> vcombine_s16(vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a), vmovn_s32(tmp0)), vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a), vmovn_s32(tmp1)));</div>
20992<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;}</div>
20993<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
20994<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010020995<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010020996</div><!-- fragment -->
20997</div>
20998</div>
20999<a class="anchor" id="aca905840b37a91fff71e163aa619904c"></a>
21000<div class="memitem">
21001<div class="memproto">
21002<table class="mlabels">
21003 <tr>
21004 <td class="mlabels-left">
21005 <table class="memname">
21006 <tr>
21007 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vmlaq_qs8 </td>
21008 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021009 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021010 <td class="paramname"><em>a</em>, </td>
21011 </tr>
21012 <tr>
21013 <td class="paramkey"></td>
21014 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021015 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021016 <td class="paramname"><em>b</em>, </td>
21017 </tr>
21018 <tr>
21019 <td class="paramkey"></td>
21020 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021021 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021022 <td class="paramname"><em>c</em>, </td>
21023 </tr>
21024 <tr>
21025 <td class="paramkey"></td>
21026 <td></td>
21027 <td class="paramtype">int&#160;</td>
21028 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21029 </tr>
21030 <tr>
21031 <td></td>
21032 <td>)</td>
21033 <td></td><td></td>
21034 </tr>
21035 </table>
21036 </td>
21037 <td class="mlabels-right">
21038<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21039 </tr>
21040</table>
21041</div><div class="memdoc">
21042
21043<p>8 bit fixed point vector multiply-accumulate (16 elements). </p>
21044<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
21045<dl class="params"><dt>Parameters</dt><dd>
21046 <table class="params">
21047 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
21048 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
21049 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
21050 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21051 </table>
21052 </dd>
21053</dl>
21054<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
21055
Kaizenbf8b01d2017-10-12 14:26:51 +010021056<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00684">684</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21057<div class="fragment"><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;{</div>
21058<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
21059<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;</div>
21060<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
21061<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp0 = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
21062<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp1 = tmp0;</div>
21063<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;</div>
21064<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
21065<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; tmp0 = vmlal_s8(tmp0, vget_low_s8(b), vget_low_s8(c));</div>
21066<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; tmp1 = vmlal_s8(tmp1, vget_high_s8(b), vget_high_s8(c));</div>
21067<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;</div>
21068<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
21069<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; tmp0 = vshlq_s16(tmp0, fixed_point_position_s16);</div>
21070<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; tmp1 = vshlq_s16(tmp1, fixed_point_position_s16);</div>
21071<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;</div>
21072<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
21073<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">return</span> vcombine_s8(vadd_s8(vget_low_s8(a), vmovn_s16(tmp0)), vadd_s8(vget_high_s8(a), vmovn_s16(tmp1)));</div>
21074<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021075<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
21076</div><!-- fragment -->
21077</div>
21078</div>
21079<a class="anchor" id="ac1b67e3283a1cae4d57b7f64137f5f5c"></a>
21080<div class="memitem">
21081<div class="memproto">
21082<table class="mlabels">
21083 <tr>
21084 <td class="mlabels-left">
21085 <table class="memname">
21086 <tr>
21087 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmul_qs16 </td>
21088 <td>(</td>
21089 <td class="paramtype">qint16x4_t&#160;</td>
21090 <td class="paramname"><em>a</em>, </td>
21091 </tr>
21092 <tr>
21093 <td class="paramkey"></td>
21094 <td></td>
21095 <td class="paramtype">qint16x4_t&#160;</td>
21096 <td class="paramname"><em>b</em>, </td>
21097 </tr>
21098 <tr>
21099 <td class="paramkey"></td>
21100 <td></td>
21101 <td class="paramtype">int&#160;</td>
21102 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21103 </tr>
21104 <tr>
21105 <td></td>
21106 <td>)</td>
21107 <td></td><td></td>
21108 </tr>
21109 </table>
21110 </td>
21111 <td class="mlabels-right">
21112<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21113 </tr>
21114</table>
21115</div><div class="memdoc">
21116
21117<p>16 bit fixed point vector multiply (4 elements) </p>
21118<dl class="params"><dt>Parameters</dt><dd>
21119 <table class="params">
21120 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21121 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
21122 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21123 </table>
21124 </dd>
21125</dl>
21126<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. </dd></dl>
21127
Kaizenbf8b01d2017-10-12 14:26:51 +010021128<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">496</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010021129
Kaizenbf8b01d2017-10-12 14:26:51 +010021130<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01299">vdiv_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01729">vinvsqrt_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01585">vlog_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01103">vrecip_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01331">vtaylor_poly_qs16()</a>.</p>
21131<div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;{</div>
21132<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
21133<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;</div>
21134<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
21135<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
21136<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div>
21137<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
21138<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; res = vmlal_s16(res, a, b);</div>
21139<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;</div>
21140<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
21141<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; res = vshlq_s32(res, fixed_point_position_s32);</div>
21142<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;</div>
21143<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="comment">// Convert back to qint16</span></div>
21144<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">return</span> vmovn_s32(res);</div>
21145<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021146<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021147</div><!-- fragment -->
21148</div>
21149</div>
21150<a class="anchor" id="afccf1305c480f2338af8925bba6b54cd"></a>
21151<div class="memitem">
21152<div class="memproto">
21153<table class="mlabels">
21154 <tr>
21155 <td class="mlabels-left">
21156 <table class="memname">
21157 <tr>
21158 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmul_qs8 </td>
21159 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021160 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021161 <td class="paramname"><em>a</em>, </td>
21162 </tr>
21163 <tr>
21164 <td class="paramkey"></td>
21165 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021166 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021167 <td class="paramname"><em>b</em>, </td>
21168 </tr>
21169 <tr>
21170 <td class="paramkey"></td>
21171 <td></td>
21172 <td class="paramtype">int&#160;</td>
21173 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21174 </tr>
21175 <tr>
21176 <td></td>
21177 <td>)</td>
21178 <td></td><td></td>
21179 </tr>
21180 </table>
21181 </td>
21182 <td class="mlabels-right">
21183<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21184 </tr>
21185</table>
21186</div><div class="memdoc">
21187
21188<p>8 bit fixed point vector multiply (8 elements) </p>
21189<dl class="params"><dt>Parameters</dt><dd>
21190 <table class="params">
21191 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21192 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
21193 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21194 </table>
21195 </dd>
21196</dl>
21197<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. </dd></dl>
21198
Kaizenbf8b01d2017-10-12 14:26:51 +010021199<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">479</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021200
Kaizenbf8b01d2017-10-12 14:26:51 +010021201<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01294">vdiv_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01702">vinvsqrt_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01546">vlog_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01077">vrecip_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01315">vtaylor_poly_qs8()</a>.</p>
21202<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;{</div>
21203<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
21204<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div>
21205<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
21206<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
21207<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;</div>
21208<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
21209<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; res = vmlal_s8(res, a, b);</div>
21210<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;</div>
21211<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
21212<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; res = vshlq_s16(res, fixed_point_position_s16);</div>
21213<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;</div>
21214<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="comment">// Convert back to qint8</span></div>
21215<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">return</span> vmovn_s16(res);</div>
21216<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021217<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
21218</div><!-- fragment -->
21219</div>
21220</div>
21221<a class="anchor" id="afce8b13d7a800aa8ac24733160130cfc"></a>
21222<div class="memitem">
21223<div class="memproto">
21224<table class="mlabels">
21225 <tr>
21226 <td class="mlabels-left">
21227 <table class="memname">
21228 <tr>
21229 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> vmull_qs16 </td>
21230 <td>(</td>
21231 <td class="paramtype">qint16x4_t&#160;</td>
21232 <td class="paramname"><em>a</em>, </td>
21233 </tr>
21234 <tr>
21235 <td class="paramkey"></td>
21236 <td></td>
21237 <td class="paramtype">qint16x4_t&#160;</td>
21238 <td class="paramname"><em>b</em>, </td>
21239 </tr>
21240 <tr>
21241 <td class="paramkey"></td>
21242 <td></td>
21243 <td class="paramtype">int&#160;</td>
21244 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21245 </tr>
21246 <tr>
21247 <td></td>
21248 <td>)</td>
21249 <td></td><td></td>
21250 </tr>
21251 </table>
21252 </td>
21253 <td class="mlabels-right">
21254<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21255 </tr>
21256</table>
21257</div><div class="memdoc">
21258
21259<p>16 bit fixed point vector long multiply (4 elements) </p>
21260<dl class="params"><dt>Parameters</dt><dd>
21261 <table class="params">
21262 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21263 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
21264 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21265 </table>
21266 </dd>
21267</dl>
21268<dl class="section return"><dt>Returns</dt><dd>The result of the 32 bit fixed point long vector multiplication. </dd></dl>
21269
Kaizenbf8b01d2017-10-12 14:26:51 +010021270<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00636">636</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21271<div class="fragment"><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;{</div>
21272<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
21273<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;</div>
21274<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
21275<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
21276<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;</div>
21277<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
21278<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; tmp = vmull_s16(a, b);</div>
21279<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;</div>
21280<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
21281<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">return</span> vqshlq_s32(tmp, fixed_point_position_s32);</div>
21282<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021283<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021284</div><!-- fragment -->
21285</div>
21286</div>
21287<a class="anchor" id="a3e959a9add1078033f3a27725323df13"></a>
21288<div class="memitem">
21289<div class="memproto">
21290<table class="mlabels">
21291 <tr>
21292 <td class="mlabels-left">
21293 <table class="memname">
21294 <tr>
21295 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmull_qs8 </td>
21296 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021297 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021298 <td class="paramname"><em>a</em>, </td>
21299 </tr>
21300 <tr>
21301 <td class="paramkey"></td>
21302 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021303 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021304 <td class="paramname"><em>b</em>, </td>
21305 </tr>
21306 <tr>
21307 <td class="paramkey"></td>
21308 <td></td>
21309 <td class="paramtype">int&#160;</td>
21310 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21311 </tr>
21312 <tr>
21313 <td></td>
21314 <td>)</td>
21315 <td></td><td></td>
21316 </tr>
21317 </table>
21318 </td>
21319 <td class="mlabels-right">
21320<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21321 </tr>
21322</table>
21323</div><div class="memdoc">
21324
21325<p>8 bit fixed point vector long multiply (8 elements) </p>
21326<dl class="params"><dt>Parameters</dt><dd>
21327 <table class="params">
21328 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21329 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
21330 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21331 </table>
21332 </dd>
21333</dl>
21334<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point long vector multiplication. </dd></dl>
21335
Kaizenbf8b01d2017-10-12 14:26:51 +010021336<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00627">627</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21337<div class="fragment"><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;{</div>
21338<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
21339<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;</div>
21340<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vmull_s8(a, b);</div>
21341<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;</div>
21342<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">return</span> vqrshlq_s16(res, fixed_point_position_s16);</div>
21343<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021344<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
21345</div><!-- fragment -->
21346</div>
21347</div>
21348<a class="anchor" id="a74ea79cda0ff6a819b2e5176fe0fc622"></a>
21349<div class="memitem">
21350<div class="memproto">
21351<table class="mlabels">
21352 <tr>
21353 <td class="mlabels-left">
21354 <table class="memname">
21355 <tr>
21356 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmulq_qs16 </td>
21357 <td>(</td>
21358 <td class="paramtype">qint16x8_t&#160;</td>
21359 <td class="paramname"><em>a</em>, </td>
21360 </tr>
21361 <tr>
21362 <td class="paramkey"></td>
21363 <td></td>
21364 <td class="paramtype">qint16x8_t&#160;</td>
21365 <td class="paramname"><em>b</em>, </td>
21366 </tr>
21367 <tr>
21368 <td class="paramkey"></td>
21369 <td></td>
21370 <td class="paramtype">int&#160;</td>
21371 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21372 </tr>
21373 <tr>
21374 <td></td>
21375 <td>)</td>
21376 <td></td><td></td>
21377 </tr>
21378 </table>
21379 </td>
21380 <td class="mlabels-right">
21381<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21382 </tr>
21383</table>
21384</div><div class="memdoc">
21385
21386<p>16 bit fixed point vector multiply (8 elements) </p>
21387<dl class="params"><dt>Parameters</dt><dd>
21388 <table class="params">
21389 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21390 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
21391 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21392 </table>
21393 </dd>
21394</dl>
21395<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. </dd></dl>
21396
Kaizenbf8b01d2017-10-12 14:26:51 +010021397<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">533</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010021398
Kaizenbf8b01d2017-10-12 14:26:51 +010021399<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010021400
Kaizenbf8b01d2017-10-12 14:26:51 +010021401<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01309">vdivq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01841">vinvsqrtq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01210">vrecipq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01395">vtaylor_polyq_qs16()</a>.</p>
21402<div class="fragment"><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160;{</div>
21403<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
21404<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div>
21405<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
21406<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res0 = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
21407<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res1 = res0;</div>
21408<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div>
21409<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
21410<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; res0 = vmlal_s16(res0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b));</div>
21411<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; res1 = vmlal_s16(res1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b));</div>
21412<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;</div>
21413<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
21414<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; res0 = vshlq_s32(res0, fixed_point_position_s32);</div>
21415<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; res1 = vshlq_s32(res1, fixed_point_position_s32);</div>
21416<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;</div>
21417<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="comment">// Convert back to qint16</span></div>
21418<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">return</span> vcombine_s16(vmovn_s32(res0), vmovn_s32(res1));</div>
21419<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;}</div>
21420<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
21421<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010021422<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021423</div><!-- fragment -->
21424</div>
21425</div>
21426<a class="anchor" id="a031b17d4102856aa4d6bf7ebf83bf0ab"></a>
21427<div class="memitem">
21428<div class="memproto">
21429<table class="mlabels">
21430 <tr>
21431 <td class="mlabels-left">
21432 <table class="memname">
21433 <tr>
21434 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vmulq_qs8 </td>
21435 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021436 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021437 <td class="paramname"><em>a</em>, </td>
21438 </tr>
21439 <tr>
21440 <td class="paramkey"></td>
21441 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021442 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021443 <td class="paramname"><em>b</em>, </td>
21444 </tr>
21445 <tr>
21446 <td class="paramkey"></td>
21447 <td></td>
21448 <td class="paramtype">int&#160;</td>
21449 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
21450 </tr>
21451 <tr>
21452 <td></td>
21453 <td>)</td>
21454 <td></td><td></td>
21455 </tr>
21456 </table>
21457 </td>
21458 <td class="mlabels-right">
21459<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21460 </tr>
21461</table>
21462</div><div class="memdoc">
21463
21464<p>8 bit fixed point vector multiply (16 elements) </p>
21465<dl class="params"><dt>Parameters</dt><dd>
21466 <table class="params">
21467 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21468 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
21469 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
21470 </table>
21471 </dd>
21472</dl>
21473<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. </dd></dl>
21474
Kaizenbf8b01d2017-10-12 14:26:51 +010021475<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">513</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021476
Kaizenbf8b01d2017-10-12 14:26:51 +010021477<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01304">vdivq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01814">vinvsqrtq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01624">vlogq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01183">vrecipq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01379">vtaylor_polyq_qs8()</a>.</p>
21478<div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;{</div>
21479<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
21480<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;</div>
21481<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
21482<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res0 = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
21483<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res1 = res0;</div>
21484<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;</div>
21485<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
21486<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; res0 = vmlal_s8(res0, vget_low_s8(a), vget_low_s8(b));</div>
21487<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; res1 = vmlal_s8(res1, vget_high_s8(a), vget_high_s8(b));</div>
21488<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;</div>
21489<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
21490<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; res0 = vshlq_s16(res0, fixed_point_position_s16);</div>
21491<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; res1 = vshlq_s16(res1, fixed_point_position_s16);</div>
21492<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;</div>
21493<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="comment">// Convert back to qint8</span></div>
21494<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">return</span> vcombine_s8(vmovn_s16(res0), vmovn_s16(res1));</div>
21495<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021496<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021497</div><!-- fragment -->
21498</div>
21499</div>
21500<a class="anchor" id="ac73b89ba44bae1df9a8998ad2a99996e"></a>
21501<div class="memitem">
21502<div class="memproto">
21503<table class="mlabels">
21504 <tr>
21505 <td class="mlabels-left">
21506 <table class="memname">
21507 <tr>
21508 <td class="memname">int16x4_t vpaddl_qs8 </td>
21509 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021510 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021511 <td class="paramname"><em>a</em></td><td>)</td>
21512 <td></td>
21513 </tr>
21514 </table>
21515 </td>
21516 <td class="mlabels-right">
21517<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21518 </tr>
21519</table>
21520</div><div class="memdoc">
21521
21522<p>8 bit fixed point vector saturating pairwise add (8 elements) </p>
21523<dl class="params"><dt>Parameters</dt><dd>
21524 <table class="params">
21525 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
21526 </table>
21527 </dd>
21528</dl>
21529<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
21530
Kaizenbf8b01d2017-10-12 14:26:51 +010021531<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00434">434</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21532<div class="fragment"><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;{</div>
21533<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">return</span> vpaddl_s8(a);</div>
21534<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021535</div><!-- fragment -->
21536</div>
21537</div>
21538<a class="anchor" id="a8ee6fe28466be3c48a70debe663b08d4"></a>
21539<div class="memitem">
21540<div class="memproto">
21541<table class="mlabels">
21542 <tr>
21543 <td class="mlabels-left">
21544 <table class="memname">
21545 <tr>
21546 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vpmax_qs16 </td>
21547 <td>(</td>
21548 <td class="paramtype">qint16x4_t&#160;</td>
21549 <td class="paramname"><em>a</em>, </td>
21550 </tr>
21551 <tr>
21552 <td class="paramkey"></td>
21553 <td></td>
21554 <td class="paramtype">qint16x4_t&#160;</td>
21555 <td class="paramname"><em>b</em>&#160;</td>
21556 </tr>
21557 <tr>
21558 <td></td>
21559 <td>)</td>
21560 <td></td><td></td>
21561 </tr>
21562 </table>
21563 </td>
21564 <td class="mlabels-right">
21565<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21566 </tr>
21567</table>
21568</div><div class="memdoc">
21569
21570<p>16 bit fixed point vector pairwise max (4 elements) </p>
21571<dl class="params"><dt>Parameters</dt><dd>
21572 <table class="params">
21573 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21574 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
21575 </table>
21576 </dd>
21577</dl>
21578<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise max operation </dd></dl>
21579
Kaizenbf8b01d2017-10-12 14:26:51 +010021580<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00344">344</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21581<div class="fragment"><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;{</div>
21582<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">return</span> vpmax_s16(a, b);</div>
21583<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021584</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021585</div>
21586</div>
21587<a class="anchor" id="a1ecd37cd4eb461a98ca7c429e51802d2"></a>
21588<div class="memitem">
21589<div class="memproto">
21590<table class="mlabels">
21591 <tr>
21592 <td class="mlabels-left">
21593 <table class="memname">
21594 <tr>
21595 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vpmax_qs8 </td>
21596 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021597 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021598 <td class="paramname"><em>a</em>, </td>
21599 </tr>
21600 <tr>
21601 <td class="paramkey"></td>
21602 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021603 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021604 <td class="paramname"><em>b</em>&#160;</td>
21605 </tr>
21606 <tr>
21607 <td></td>
21608 <td>)</td>
21609 <td></td><td></td>
21610 </tr>
21611 </table>
21612 </td>
21613 <td class="mlabels-right">
21614<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21615 </tr>
21616</table>
21617</div><div class="memdoc">
21618
21619<p>8 bit fixed point vector pairwise max (8 elements) </p>
21620<dl class="params"><dt>Parameters</dt><dd>
21621 <table class="params">
21622 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21623 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
21624 </table>
21625 </dd>
21626</dl>
21627<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise max operation </dd></dl>
21628
Kaizenbf8b01d2017-10-12 14:26:51 +010021629<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00339">339</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21630<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;{</div>
21631<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> vpmax_s8(a, b);</div>
21632<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021633</div><!-- fragment -->
21634</div>
21635</div>
21636<a class="anchor" id="a9d9d1279b08f3e79fd0cf019b79138f9"></a>
21637<div class="memitem">
21638<div class="memproto">
21639<table class="mlabels">
21640 <tr>
21641 <td class="mlabels-left">
21642 <table class="memname">
21643 <tr>
21644 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vpmin_qs16 </td>
21645 <td>(</td>
21646 <td class="paramtype">qint16x4_t&#160;</td>
21647 <td class="paramname"><em>a</em>, </td>
21648 </tr>
21649 <tr>
21650 <td class="paramkey"></td>
21651 <td></td>
21652 <td class="paramtype">qint16x4_t&#160;</td>
21653 <td class="paramname"><em>b</em>&#160;</td>
21654 </tr>
21655 <tr>
21656 <td></td>
21657 <td>)</td>
21658 <td></td><td></td>
21659 </tr>
21660 </table>
21661 </td>
21662 <td class="mlabels-right">
21663<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21664 </tr>
21665</table>
21666</div><div class="memdoc">
21667
21668<p>16 bit fixed point vector pairwise min (4 elements) </p>
21669<dl class="params"><dt>Parameters</dt><dd>
21670 <table class="params">
21671 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
21672 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
21673 </table>
21674 </dd>
21675</dl>
21676<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise min operation </dd></dl>
21677
Kaizenbf8b01d2017-10-12 14:26:51 +010021678<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00374">374</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21679<div class="fragment"><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;{</div>
21680<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> vpmin_s16(a, b);</div>
21681<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021682</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021683</div>
21684</div>
21685<a class="anchor" id="ad3f599d91685017d37e87d36170a5342"></a>
21686<div class="memitem">
21687<div class="memproto">
21688<table class="mlabels">
21689 <tr>
21690 <td class="mlabels-left">
21691 <table class="memname">
21692 <tr>
21693 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vpmin_qs8 </td>
21694 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021695 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021696 <td class="paramname"><em>a</em>, </td>
21697 </tr>
21698 <tr>
21699 <td class="paramkey"></td>
21700 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010021701 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021702 <td class="paramname"><em>b</em>&#160;</td>
21703 </tr>
21704 <tr>
21705 <td></td>
21706 <td>)</td>
21707 <td></td><td></td>
21708 </tr>
21709 </table>
21710 </td>
21711 <td class="mlabels-right">
21712<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21713 </tr>
21714</table>
21715</div><div class="memdoc">
21716
21717<p>8 bit fixed point vector pairwise min (8 elements) </p>
21718<dl class="params"><dt>Parameters</dt><dd>
21719 <table class="params">
21720 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
21721 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
21722 </table>
21723 </dd>
21724</dl>
21725<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise min operation </dd></dl>
21726
Kaizenbf8b01d2017-10-12 14:26:51 +010021727<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00369">369</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
21728<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;{</div>
21729<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">return</span> vpmin_s8(a, b);</div>
21730<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021731</div><!-- fragment -->
21732</div>
21733</div>
21734<a class="anchor" id="a0b601c13358a452569202d3fb718963d"></a>
21735<div class="memitem">
21736<div class="memproto">
21737<table class="mlabels">
21738 <tr>
21739 <td class="mlabels-left">
21740 <table class="memname">
21741 <tr>
21742 <td class="memname">float16x8_t vpowq_f16 </td>
21743 <td>(</td>
21744 <td class="paramtype">float16x8_t&#160;</td>
21745 <td class="paramname"><em>val</em>, </td>
21746 </tr>
21747 <tr>
21748 <td class="paramkey"></td>
21749 <td></td>
21750 <td class="paramtype">float16x8_t&#160;</td>
21751 <td class="paramname"><em>n</em>&#160;</td>
21752 </tr>
21753 <tr>
21754 <td></td>
21755 <td>)</td>
21756 <td></td><td></td>
21757 </tr>
21758 </table>
21759 </td>
21760 <td class="mlabels-right">
21761<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21762 </tr>
21763</table>
21764</div><div class="memdoc">
21765
21766<p>Calculate n power of a number. </p>
21767<p>pow(x,n) = e^(n*log(x))</p>
21768<dl class="params"><dt>Parameters</dt><dd>
21769 <table class="params">
21770 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F16 format. </td></tr>
21771 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Powers to raise the input to.</td></tr>
21772 </table>
21773 </dd>
21774</dl>
21775<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
21776
21777<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00300">300</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
21778
21779<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">vlogq_f16()</a>.</p>
21780<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;{</div>
21781<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">vexpq_f16</a>(vmulq_f16(n, <a class="code" href="namespacearm__compute.xhtml#a38bedb9142df17a66ff1b90974f19512">vlogq_f16</a>(val)));</div>
21782<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;}</div>
21783<div class="ttc" id="namespacearm__compute_xhtml_a829992d2c673006879696821024df5b7"><div class="ttname"><a href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">arm_compute::vexpq_f16</a></div><div class="ttdeci">float16x8_t vexpq_f16(float16x8_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00261">NEMath.inl:261</a></div></div>
21784<div class="ttc" id="namespacearm__compute_xhtml_a38bedb9142df17a66ff1b90974f19512"><div class="ttname"><a href="namespacearm__compute.xhtml#a38bedb9142df17a66ff1b90974f19512">arm_compute::vlogq_f16</a></div><div class="ttdeci">float16x8_t vlogq_f16(float16x8_t x)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00282">NEMath.inl:282</a></div></div>
21785</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021786</div>
21787</div>
21788<a class="anchor" id="a45c3c1474c3e3ec31ec13efaf6acd261"></a>
21789<div class="memitem">
21790<div class="memproto">
21791<table class="mlabels">
21792 <tr>
21793 <td class="mlabels-left">
21794 <table class="memname">
21795 <tr>
21796 <td class="memname">float32x4_t vpowq_f32 </td>
21797 <td>(</td>
21798 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021799 <td class="paramname"><em>val</em>, </td>
21800 </tr>
21801 <tr>
21802 <td class="paramkey"></td>
21803 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021804 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021805 <td class="paramname"><em>n</em>&#160;</td>
21806 </tr>
21807 <tr>
21808 <td></td>
21809 <td>)</td>
21810 <td></td><td></td>
21811 </tr>
21812 </table>
21813 </td>
21814 <td class="mlabels-right">
21815<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21816 </tr>
21817</table>
21818</div><div class="memdoc">
21819
21820<p>Calculate n power of a number. </p>
21821<p>pow(x,n) = e^(n*log(x))</p>
21822<dl class="params"><dt>Parameters</dt><dd>
21823 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010021824 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format. </td></tr>
21825 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Powers to raise the input to.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000021826 </table>
21827 </dd>
21828</dl>
21829<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
21830
Kaizen8938bd32017-09-28 14:38:23 +010021831<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00167">167</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000021832
Kaizen8938bd32017-09-28 14:38:23 +010021833<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
21834<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;{</div>
21835<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a>(vmulq_f32(n, <a class="code" href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">vlogq_f32</a>(val)));</div>
21836<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;}</div>
21837<div class="ttc" id="namespacearm__compute_xhtml_ade3ef16de304661943c900ac9a47d28f"><div class="ttname"><a href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00113">NEMath.inl:113</a></div></div>
21838<div class="ttc" id="namespacearm__compute_xhtml_a37a3e03a22ad160a2e9e5c133607e020"><div class="ttname"><a href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">arm_compute::vlogq_f32</a></div><div class="ttdeci">float32x4_t vlogq_f32(float32x4_t x)</div><div class="ttdoc">Calculate logarithm. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00134">NEMath.inl:134</a></div></div>
21839</div><!-- fragment -->
21840</div>
21841</div>
21842<a class="anchor" id="a7c97511a35de87be34f48b4ab4b3c222"></a>
21843<div class="memitem">
21844<div class="memproto">
21845<table class="mlabels">
21846 <tr>
21847 <td class="mlabels-left">
21848 <table class="memname">
21849 <tr>
21850 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqabs_qs16 </td>
21851 <td>(</td>
21852 <td class="paramtype">qint16x4_t&#160;</td>
21853 <td class="paramname"><em>a</em></td><td>)</td>
21854 <td></td>
21855 </tr>
21856 </table>
21857 </td>
21858 <td class="mlabels-right">
21859<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21860 </tr>
21861</table>
21862</div><div class="memdoc">
21863
21864<p>Saturating absolute value of 16 bit fixed point vector (4 elements) </p>
21865<dl class="params"><dt>Parameters</dt><dd>
21866 <table class="params">
21867 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>4 bit fixed point input vector</td></tr>
21868 </table>
21869 </dd>
21870</dl>
21871<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
21872
Kaizenbf8b01d2017-10-12 14:26:51 +010021873<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00309">309</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010021874
Kaizenbf8b01d2017-10-12 14:26:51 +010021875<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01468">vqexp_qs16()</a>.</p>
21876<div class="fragment"><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;{</div>
21877<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">return</span> vqabs_s16(a);</div>
21878<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;}</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000021879</div><!-- fragment -->
21880</div>
21881</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021882<a class="anchor" id="a4b2c9440d5fa4909ae909869877f39e3"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000021883<div class="memitem">
21884<div class="memproto">
21885<table class="mlabels">
21886 <tr>
21887 <td class="mlabels-left">
21888 <table class="memname">
21889 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021890 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqabs_qs8 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000021891 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021892 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021893 <td class="paramname"><em>a</em></td><td>)</td>
21894 <td></td>
21895 </tr>
21896 </table>
21897 </td>
21898 <td class="mlabels-right">
21899<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21900 </tr>
21901</table>
21902</div><div class="memdoc">
21903
21904<p>Saturating absolute value of 8 bit fixed point vector (8 elements) </p>
21905<dl class="params"><dt>Parameters</dt><dd>
21906 <table class="params">
21907 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
21908 </table>
21909 </dd>
21910</dl>
21911<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
21912
Kaizenbf8b01d2017-10-12 14:26:51 +010021913<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00304">304</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021914
Kaizenbf8b01d2017-10-12 14:26:51 +010021915<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01442">vqexp_qs8()</a>.</p>
21916<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;{</div>
21917<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">return</span> vqabs_s8(a);</div>
21918<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021919</div><!-- fragment -->
21920</div>
21921</div>
21922<a class="anchor" id="aa001ed913705cf378d947052435917aa"></a>
21923<div class="memitem">
21924<div class="memproto">
21925<table class="mlabels">
21926 <tr>
21927 <td class="mlabels-left">
21928 <table class="memname">
21929 <tr>
21930 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqabsq_qs16 </td>
21931 <td>(</td>
21932 <td class="paramtype">qint16x8_t&#160;</td>
21933 <td class="paramname"><em>a</em></td><td>)</td>
21934 <td></td>
21935 </tr>
21936 </table>
21937 </td>
21938 <td class="mlabels-right">
21939<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21940 </tr>
21941</table>
21942</div><div class="memdoc">
21943
21944<p>Saturating absolute value of 16 bit fixed point vector (8 elements) </p>
21945<dl class="params"><dt>Parameters</dt><dd>
21946 <table class="params">
21947 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector</td></tr>
21948 </table>
21949 </dd>
21950</dl>
21951<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
21952
Kaizenbf8b01d2017-10-12 14:26:51 +010021953<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00319">319</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010021954
Kaizenbf8b01d2017-10-12 14:26:51 +010021955<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>.</p>
21956<div class="fragment"><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;{</div>
21957<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">return</span> vqabsq_s16(a);</div>
21958<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021959</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010021960</div>
21961</div>
21962<a class="anchor" id="ac8095edd652a1f3a76bf9d0f4251827a"></a>
21963<div class="memitem">
21964<div class="memproto">
21965<table class="mlabels">
21966 <tr>
21967 <td class="mlabels-left">
21968 <table class="memname">
21969 <tr>
21970 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqabsq_qs8 </td>
21971 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010021972 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021973 <td class="paramname"><em>a</em></td><td>)</td>
21974 <td></td>
21975 </tr>
21976 </table>
21977 </td>
21978 <td class="mlabels-right">
21979<span class="mlabels"><span class="mlabel">inline</span></span> </td>
21980 </tr>
21981</table>
21982</div><div class="memdoc">
21983
21984<p>Saturating absolute value of 8 bit fixed point vector (16 elements) </p>
21985<dl class="params"><dt>Parameters</dt><dd>
21986 <table class="params">
21987 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8 bit fixed point input vector</td></tr>
21988 </table>
21989 </dd>
21990</dl>
21991<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
21992
Kaizenbf8b01d2017-10-12 14:26:51 +010021993<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00314">314</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010021994
Kaizenbf8b01d2017-10-12 14:26:51 +010021995<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>.</p>
21996<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;{</div>
21997<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">return</span> vqabsq_s8(a);</div>
21998<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010021999</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010022000</div>
22001</div>
22002<a class="anchor" id="ad80ab0f6b783c10e0488cb84a8812e8f"></a>
22003<div class="memitem">
22004<div class="memproto">
22005<table class="mlabels">
22006 <tr>
22007 <td class="mlabels-left">
22008 <table class="memname">
22009 <tr>
22010 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqadd_qs16 </td>
22011 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022012 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022013 <td class="paramname"><em>a</em>, </td>
22014 </tr>
22015 <tr>
22016 <td class="paramkey"></td>
22017 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010022018 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022019 <td class="paramname"><em>b</em>&#160;</td>
22020 </tr>
22021 <tr>
22022 <td></td>
22023 <td>)</td>
22024 <td></td><td></td>
22025 </tr>
22026 </table>
22027 </td>
22028 <td class="mlabels-right">
22029<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22030 </tr>
22031</table>
22032</div><div class="memdoc">
22033
22034<p>16 bit fixed point vector saturating add (4 elements) </p>
22035<dl class="params"><dt>Parameters</dt><dd>
22036 <table class="params">
22037 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
22038 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
22039 </table>
22040 </dd>
22041</dl>
22042<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
22043
Kaizenbf8b01d2017-10-12 14:26:51 +010022044<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00409">409</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010022045
Kaizenbf8b01d2017-10-12 14:26:51 +010022046<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>.</p>
22047<div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;{</div>
22048<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> vqadd_s16(a, b);</div>
22049<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022050</div><!-- fragment -->
22051</div>
22052</div>
22053<a class="anchor" id="af4ce9287cfb7aef16f79a3152c3f3bbd"></a>
22054<div class="memitem">
22055<div class="memproto">
22056<table class="mlabels">
22057 <tr>
22058 <td class="mlabels-left">
22059 <table class="memname">
22060 <tr>
22061 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> arm_compute::vqadd_qs32 </td>
22062 <td>(</td>
22063 <td class="paramtype">qint32x2_t&#160;</td>
22064 <td class="paramname"><em>a</em>, </td>
22065 </tr>
22066 <tr>
22067 <td class="paramkey"></td>
22068 <td></td>
22069 <td class="paramtype">qint32x2_t&#160;</td>
22070 <td class="paramname"><em>b</em>&#160;</td>
22071 </tr>
22072 <tr>
22073 <td></td>
22074 <td>)</td>
22075 <td></td><td></td>
22076 </tr>
22077 </table>
22078 </td>
22079 <td class="mlabels-right">
22080<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22081 </tr>
22082</table>
22083</div><div class="memdoc">
22084
Kaizenbf8b01d2017-10-12 14:26:51 +010022085<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00414">414</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22086<div class="fragment"><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;{</div>
22087<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> vqadd_s32(a, b);</div>
22088<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022089</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010022090</div>
22091</div>
22092<a class="anchor" id="a8a14fe5fc71105c9bfebb28a58f06a52"></a>
22093<div class="memitem">
22094<div class="memproto">
22095<table class="mlabels">
22096 <tr>
22097 <td class="mlabels-left">
22098 <table class="memname">
22099 <tr>
22100 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqadd_qs8 </td>
22101 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022102 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022103 <td class="paramname"><em>a</em>, </td>
22104 </tr>
22105 <tr>
22106 <td class="paramkey"></td>
22107 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010022108 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022109 <td class="paramname"><em>b</em>&#160;</td>
22110 </tr>
22111 <tr>
22112 <td></td>
22113 <td>)</td>
22114 <td></td><td></td>
22115 </tr>
22116 </table>
22117 </td>
22118 <td class="mlabels-right">
22119<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22120 </tr>
22121</table>
22122</div><div class="memdoc">
22123
22124<p>8 bit fixed point vector saturating add (8 elements) </p>
22125<dl class="params"><dt>Parameters</dt><dd>
22126 <table class="params">
22127 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
22128 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
22129 </table>
22130 </dd>
22131</dl>
22132<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
22133
Kaizenbf8b01d2017-10-12 14:26:51 +010022134<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00404">404</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022135
Kaizenbf8b01d2017-10-12 14:26:51 +010022136<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>.</p>
22137<div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;{</div>
22138<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">return</span> vqadd_s8(a, b);</div>
22139<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022140</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010022141</div>
22142</div>
22143<a class="anchor" id="a9d88750b393cdfe6f5685107bb1d98f7"></a>
22144<div class="memitem">
22145<div class="memproto">
22146<table class="mlabels">
22147 <tr>
22148 <td class="mlabels-left">
22149 <table class="memname">
22150 <tr>
22151 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqaddq_qs16 </td>
22152 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022153 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022154 <td class="paramname"><em>a</em>, </td>
22155 </tr>
22156 <tr>
22157 <td class="paramkey"></td>
22158 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010022159 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022160 <td class="paramname"><em>b</em>&#160;</td>
22161 </tr>
22162 <tr>
22163 <td></td>
22164 <td>)</td>
22165 <td></td><td></td>
22166 </tr>
22167 </table>
22168 </td>
22169 <td class="mlabels-right">
22170<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22171 </tr>
22172</table>
22173</div><div class="memdoc">
22174
22175<p>16 bit fixed point vector saturating add (8 elements) </p>
22176<dl class="params"><dt>Parameters</dt><dd>
22177 <table class="params">
22178 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
22179 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
22180 </table>
22181 </dd>
22182</dl>
22183<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
22184
Kaizenbf8b01d2017-10-12 14:26:51 +010022185<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00424">424</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010022186
Kaizenbf8b01d2017-10-12 14:26:51 +010022187<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>.</p>
22188<div class="fragment"><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;{</div>
22189<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">return</span> vqaddq_s16(a, b);</div>
22190<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022191</div><!-- fragment -->
22192</div>
22193</div>
22194<a class="anchor" id="a4158859b4b6af057b01b2c2d745d66b2"></a>
22195<div class="memitem">
22196<div class="memproto">
22197<table class="mlabels">
22198 <tr>
22199 <td class="mlabels-left">
22200 <table class="memname">
22201 <tr>
22202 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vqaddq_qs32 </td>
22203 <td>(</td>
22204 <td class="paramtype">qint32x4_t&#160;</td>
22205 <td class="paramname"><em>a</em>, </td>
22206 </tr>
22207 <tr>
22208 <td class="paramkey"></td>
22209 <td></td>
22210 <td class="paramtype">qint32x4_t&#160;</td>
22211 <td class="paramname"><em>b</em>&#160;</td>
22212 </tr>
22213 <tr>
22214 <td></td>
22215 <td>)</td>
22216 <td></td><td></td>
22217 </tr>
22218 </table>
22219 </td>
22220 <td class="mlabels-right">
22221<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22222 </tr>
22223</table>
22224</div><div class="memdoc">
22225
Kaizenbf8b01d2017-10-12 14:26:51 +010022226<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00429">429</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22227<div class="fragment"><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;{</div>
22228<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">return</span> vqaddq_s32(a, b);</div>
22229<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022230</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010022231</div>
22232</div>
22233<a class="anchor" id="a9765c5ee2d3cc9e3ca983fd2f47ba916"></a>
22234<div class="memitem">
22235<div class="memproto">
22236<table class="mlabels">
22237 <tr>
22238 <td class="mlabels-left">
22239 <table class="memname">
22240 <tr>
22241 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqaddq_qs8 </td>
22242 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022243 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022244 <td class="paramname"><em>a</em>, </td>
22245 </tr>
22246 <tr>
22247 <td class="paramkey"></td>
22248 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010022249 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022250 <td class="paramname"><em>b</em>&#160;</td>
22251 </tr>
22252 <tr>
22253 <td></td>
22254 <td>)</td>
22255 <td></td><td></td>
22256 </tr>
22257 </table>
22258 </td>
22259 <td class="mlabels-right">
22260<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22261 </tr>
22262</table>
22263</div><div class="memdoc">
22264
22265<p>8 bit fixed point vector saturating add (16 elements) </p>
22266<dl class="params"><dt>Parameters</dt><dd>
22267 <table class="params">
22268 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
22269 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
22270 </table>
22271 </dd>
22272</dl>
22273<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
22274
Kaizenbf8b01d2017-10-12 14:26:51 +010022275<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00419">419</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022276
Kaizenbf8b01d2017-10-12 14:26:51 +010022277<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>.</p>
22278<div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;{</div>
22279<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">return</span> vqaddq_s8(a, b);</div>
22280<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022281</div><!-- fragment -->
22282</div>
22283</div>
22284<a class="anchor" id="afbaee7c07c41b0138ee0f3aefecc6160"></a>
22285<div class="memitem">
22286<div class="memproto">
22287<table class="mlabels">
22288 <tr>
22289 <td class="mlabels-left">
22290 <table class="memname">
22291 <tr>
22292 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqcvt_qs16_f32 </td>
22293 <td>(</td>
22294 <td class="paramtype">const float32x4_t&#160;</td>
22295 <td class="paramname"><em>a</em>, </td>
22296 </tr>
22297 <tr>
22298 <td class="paramkey"></td>
22299 <td></td>
22300 <td class="paramtype">int&#160;</td>
22301 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22302 </tr>
22303 <tr>
22304 <td></td>
22305 <td>)</td>
22306 <td></td><td></td>
22307 </tr>
22308 </table>
22309 </td>
22310 <td class="mlabels-right">
22311<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22312 </tr>
22313</table>
22314</div><div class="memdoc">
22315
22316<p>Convert a float vector with 4 elements to 16 bit fixed point vector with 4 elements. </p>
22317<dl class="params"><dt>Parameters</dt><dd>
22318 <table class="params">
22319 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
22320 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22321 </table>
22322 </dd>
22323</dl>
22324<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 16 bit fixed point. The result is saturated in case of overflow </dd></dl>
22325
Kaizenbf8b01d2017-10-12 14:26:51 +010022326<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00896">896</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22327<div class="fragment"><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;{</div>
22328<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast&lt;float&gt;(1 &lt;&lt; fixed_point_position));</div>
22329<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;</div>
22330<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; float32x4_t res_f32 = vbslq_f32(vcgeq_f32(a, vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f));</div>
22331<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;</div>
22332<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; res_f32 = vmlaq_f32(res_f32, a, pow2);</div>
22333<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160;</div>
22334<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <span class="keyword">const</span> int32x4_t res_s32 = vcvtq_s32_f32(res_f32);</div>
22335<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;</div>
22336<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <span class="keywordflow">return</span> vqmovn_s32(res_s32);</div>
22337<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022338</div><!-- fragment -->
22339</div>
22340</div>
22341<a class="anchor" id="a371a36182341de1fa885d16e8780302f"></a>
22342<div class="memitem">
22343<div class="memproto">
22344 <table class="memname">
22345 <tr>
22346 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqcvt_qs8_f32 </td>
22347 <td>(</td>
22348 <td class="paramtype">const float32x4x2_t&#160;</td>
22349 <td class="paramname"><em>a</em>, </td>
22350 </tr>
22351 <tr>
22352 <td class="paramkey"></td>
22353 <td></td>
22354 <td class="paramtype">int&#160;</td>
22355 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22356 </tr>
22357 <tr>
22358 <td></td>
22359 <td>)</td>
22360 <td></td><td></td>
22361 </tr>
22362 </table>
22363</div><div class="memdoc">
22364
22365<p>Convert a float vector with 4x2 elements to 8 bit fixed point vector with 8 elements. </p>
22366<dl class="params"><dt>Parameters</dt><dd>
22367 <table class="params">
22368 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
22369 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22370 </table>
22371 </dd>
22372</dl>
22373<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point. The result is saturated in case of overflow </dd></dl>
22374
22375</div>
22376</div>
22377<a class="anchor" id="abc68ac054570316bfd48d4c4c84c3b0e"></a>
22378<div class="memitem">
22379<div class="memproto">
22380<table class="mlabels">
22381 <tr>
22382 <td class="mlabels-left">
22383 <table class="memname">
22384 <tr>
22385 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqcvt_qs8_f32 </td>
22386 <td>(</td>
22387 <td class="paramtype">const float32x4x2_t &amp;&#160;</td>
22388 <td class="paramname"><em>a</em>, </td>
22389 </tr>
22390 <tr>
22391 <td class="paramkey"></td>
22392 <td></td>
22393 <td class="paramtype">int&#160;</td>
22394 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22395 </tr>
22396 <tr>
22397 <td></td>
22398 <td>)</td>
22399 <td></td><td></td>
22400 </tr>
22401 </table>
22402 </td>
22403 <td class="mlabels-right">
22404<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22405 </tr>
22406</table>
22407</div><div class="memdoc">
22408
Kaizenbf8b01d2017-10-12 14:26:51 +010022409<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00868">868</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
22410<div class="fragment"><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;{</div>
22411<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast&lt;float&gt;(1 &lt;&lt; fixed_point_position));</div>
22412<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160;</div>
22413<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; float32x4x2_t res_f32 =</div>
22414<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; {</div>
22415<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; {</div>
22416<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; vbslq_f32(vcgeq_f32(a.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22417<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; vbslq_f32(vcgeq_f32(a.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div>
22418<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; }</div>
22419<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; };</div>
22420<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160;</div>
22421<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; res_f32.val[0] = vmlaq_f32(res_f32.val[0], a.val[0], pow2);</div>
22422<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; res_f32.val[1] = vmlaq_f32(res_f32.val[1], a.val[1], pow2);</div>
22423<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;</div>
22424<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
22425<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; {</div>
22426<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; {</div>
22427<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; vcvtq_s32_f32(res_f32.val[0]),</div>
22428<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; vcvtq_s32_f32(res_f32.val[1]),</div>
22429<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; }</div>
22430<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; };</div>
22431<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;</div>
22432<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keyword">const</span> int16x8_t res_s16 = vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1]));</div>
22433<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;</div>
22434<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <span class="keywordflow">return</span> vqmovn_s16(res_s16);</div>
22435<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022436</div><!-- fragment -->
22437</div>
22438</div>
22439<a class="anchor" id="afe99b690ec0046061f66f699fa055b47"></a>
22440<div class="memitem">
22441<div class="memproto">
22442<table class="mlabels">
22443 <tr>
22444 <td class="mlabels-left">
22445 <table class="memname">
22446 <tr>
22447 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqcvtq_qs16_f32 </td>
22448 <td>(</td>
22449 <td class="paramtype">const float32x4x2_t &amp;&#160;</td>
22450 <td class="paramname"><em>a</em>, </td>
22451 </tr>
22452 <tr>
22453 <td class="paramkey"></td>
22454 <td></td>
22455 <td class="paramtype">int&#160;</td>
22456 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22457 </tr>
22458 <tr>
22459 <td></td>
22460 <td>)</td>
22461 <td></td><td></td>
22462 </tr>
22463 </table>
22464 </td>
22465 <td class="mlabels-right">
22466<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22467 </tr>
22468</table>
22469</div><div class="memdoc">
22470
22471<p>Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. </p>
22472<dl class="params"><dt>Parameters</dt><dd>
22473 <table class="params">
22474 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
22475 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22476 </table>
22477 </dd>
22478</dl>
22479<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 16 bit fixed point. The result is saturated in case of overflow </dd></dl>
22480
Kaizenbf8b01d2017-10-12 14:26:51 +010022481<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00949">949</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010022482
Kaizenbf8b01d2017-10-12 14:26:51 +010022483<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00262">vdupq_n_qs16_f32()</a>.</p>
22484<div class="fragment"><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;{</div>
22485<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast&lt;float&gt;(1 &lt;&lt; fixed_point_position));</div>
22486<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;</div>
22487<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; float32x4x2_t res_f32 =</div>
22488<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; {</div>
22489<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div>
22490<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; vbslq_f32(vcgeq_f32(a.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22491<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; vbslq_f32(vcgeq_f32(a.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div>
22492<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; }</div>
22493<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; };</div>
22494<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;</div>
22495<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; res_f32.val[0] = vmlaq_f32(res_f32.val[0], a.val[0], pow2);</div>
22496<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; res_f32.val[1] = vmlaq_f32(res_f32.val[1], a.val[1], pow2);</div>
22497<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;</div>
22498<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
22499<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; {</div>
22500<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; {</div>
22501<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; vcvtq_s32_f32(res_f32.val[0]),</div>
22502<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; vcvtq_s32_f32(res_f32.val[1])</div>
22503<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; }</div>
22504<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; };</div>
22505<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160;</div>
22506<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1]));</div>
22507<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022508</div><!-- fragment -->
22509</div>
22510</div>
22511<a class="anchor" id="ad7eb7d308bb87e94eb693bc13eda5adc"></a>
22512<div class="memitem">
22513<div class="memproto">
22514<table class="mlabels">
22515 <tr>
22516 <td class="mlabels-left">
22517 <table class="memname">
22518 <tr>
22519 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqcvtq_qs8_f32 </td>
22520 <td>(</td>
22521 <td class="paramtype">const float32x4x4_t &amp;&#160;</td>
22522 <td class="paramname"><em>a</em>, </td>
22523 </tr>
22524 <tr>
22525 <td class="paramkey"></td>
22526 <td></td>
22527 <td class="paramtype">int&#160;</td>
22528 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22529 </tr>
22530 <tr>
22531 <td></td>
22532 <td>)</td>
22533 <td></td><td></td>
22534 </tr>
22535 </table>
22536 </td>
22537 <td class="mlabels-right">
22538<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22539 </tr>
22540</table>
22541</div><div class="memdoc">
22542
22543<p>Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. </p>
22544<dl class="params"><dt>Parameters</dt><dd>
22545 <table class="params">
22546 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
22547 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22548 </table>
22549 </dd>
22550</dl>
22551<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -&gt; 8 bit fixed point. The result is saturated in case of overflow </dd></dl>
22552
Kaizenbf8b01d2017-10-12 14:26:51 +010022553<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00909">909</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010022554
Kaizenbf8b01d2017-10-12 14:26:51 +010022555<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00248">vdupq_n_qs8_f32()</a>.</p>
22556<div class="fragment"><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160;{</div>
22557<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast&lt;float&gt;(1 &lt;&lt; fixed_point_position));</div>
22558<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;</div>
22559<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; float32x4x4_t res_f32 =</div>
22560<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; {</div>
22561<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; {</div>
22562<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; vbslq_f32(vcgeq_f32(a.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22563<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; vbslq_f32(vcgeq_f32(a.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22564<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; vbslq_f32(vcgeq_f32(a.val[2], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
22565<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; vbslq_f32(vcgeq_f32(a.val[3], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div>
22566<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; }</div>
22567<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; };</div>
22568<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160;</div>
22569<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; res_f32.val[0] = vmlaq_f32(res_f32.val[0], a.val[0], pow2);</div>
22570<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; res_f32.val[1] = vmlaq_f32(res_f32.val[1], a.val[1], pow2);</div>
22571<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; res_f32.val[2] = vmlaq_f32(res_f32.val[2], a.val[2], pow2);</div>
22572<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; res_f32.val[3] = vmlaq_f32(res_f32.val[3], a.val[3], pow2);</div>
22573<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160;</div>
22574<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keyword">const</span> int32x4x4_t res_s32 =</div>
22575<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; {</div>
22576<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; {</div>
22577<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; vcvtq_s32_f32(res_f32.val[0]),</div>
22578<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; vcvtq_s32_f32(res_f32.val[1]),</div>
22579<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; vcvtq_s32_f32(res_f32.val[2]),</div>
22580<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; vcvtq_s32_f32(res_f32.val[3]),</div>
22581<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; }</div>
22582<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; };</div>
22583<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;</div>
22584<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="keyword">const</span> int16x8x2_t res_s16 =</div>
22585<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; {</div>
22586<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; {</div>
22587<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1])),</div>
22588<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; vcombine_s16(vqmovn_s32(res_s32.val[2]), vqmovn_s32(res_s32.val[3])),</div>
22589<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; }</div>
22590<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; };</div>
22591<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;</div>
22592<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">return</span> vcombine_s8(vqmovn_s16(res_s16.val[0]), vqmovn_s16(res_s16.val[1]));</div>
22593<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022594</div><!-- fragment -->
22595</div>
22596</div>
22597<a class="anchor" id="aa3c9489e850081532442f4da59515852"></a>
22598<div class="memitem">
22599<div class="memproto">
22600<table class="mlabels">
22601 <tr>
22602 <td class="mlabels-left">
22603 <table class="memname">
22604 <tr>
22605 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqexp_qs16 </td>
22606 <td>(</td>
22607 <td class="paramtype">qint16x4_t&#160;</td>
22608 <td class="paramname"><em>a</em>, </td>
22609 </tr>
22610 <tr>
22611 <td class="paramkey"></td>
22612 <td></td>
22613 <td class="paramtype">int&#160;</td>
22614 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22615 </tr>
22616 <tr>
22617 <td></td>
22618 <td>)</td>
22619 <td></td><td></td>
22620 </tr>
22621 </table>
22622 </td>
22623 <td class="mlabels-right">
22624<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22625 </tr>
22626</table>
22627</div><div class="memdoc">
22628
22629<p>Calculate saturating exponential fixed point 16 bit (4 elements) </p>
22630<dl class="params"><dt>Parameters</dt><dd>
22631 <table class="params">
22632 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22633 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22634 </table>
22635 </dd>
22636</dl>
22637<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit saturating exponential </dd></dl>
22638
Kaizenbf8b01d2017-10-12 14:26:51 +010022639<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01468">1468</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010022640
Kaizenbf8b01d2017-10-12 14:26:51 +010022641<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00309">vqabs_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010022642
Kaizenbf8b01d2017-10-12 14:26:51 +010022643<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>.</p>
22644<div class="fragment"><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;{</div>
22645<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(fixed_point_position - 15);</div>
22646<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
22647<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_ln2 = vqrshl_s16(vdup_n_s16(0x58B9), shift_value); <span class="comment">// ln(2)</span></div>
22648<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_inv_ln2 = vorr_s16(vqrshl_s16(vdup_n_s16(0x38AA), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
22649<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;</div>
22650<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
22651<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> m = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
22652<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;</div>
22653<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; <span class="comment">// get decimal part from m</span></div>
22654<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> dec_m = vqshl_s16(m, vdup_n_s16(-fixed_point_position));</div>
22655<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;</div>
22656<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(vqshl_s16(dec_m, vdup_n_s16(fixed_point_position)), const_ln2, fixed_point_position);</div>
22657<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160; alpha = <a class="code" href="namespacearm__compute.xhtml#a7c97511a35de87be34f48b4ab4b3c222">vqabs_qs16</a>(vqsub_s16(a, alpha));</div>
22658<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;</div>
22659<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
22660<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> poly = vqtaylor_poly_qs16&lt;false&gt;(alpha, fixed_point_position);</div>
22661<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160; poly = vqadd_s16(poly, const_one);</div>
22662<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;</div>
22663<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160; <span class="comment">// Reconstruct</span></div>
22664<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160; poly = vqshl_s16(poly, dec_m);</div>
22665<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;</div>
22666<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160; <span class="keywordflow">return</span> poly;</div>
22667<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;}</div>
22668<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
22669<div class="ttc" id="namespacearm__compute_xhtml_a7c97511a35de87be34f48b4ab4b3c222"><div class="ttname"><a href="namespacearm__compute.xhtml#a7c97511a35de87be34f48b4ab4b3c222">arm_compute::vqabs_qs16</a></div><div class="ttdeci">qint16x4_t vqabs_qs16(qint16x4_t a)</div><div class="ttdoc">Saturating absolute value of 16 bit fixed point vector (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00309">NEFixedPoint.inl:309</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010022670<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
22671</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010022672</div>
22673</div>
22674<a class="anchor" id="a635b41196d74b1f2c4d9ee9298444796"></a>
22675<div class="memitem">
22676<div class="memproto">
22677<table class="mlabels">
22678 <tr>
22679 <td class="mlabels-left">
22680 <table class="memname">
22681 <tr>
22682 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqexp_qs8 </td>
22683 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022684 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022685 <td class="paramname"><em>a</em>, </td>
22686 </tr>
22687 <tr>
22688 <td class="paramkey"></td>
22689 <td></td>
22690 <td class="paramtype">int&#160;</td>
22691 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22692 </tr>
22693 <tr>
22694 <td></td>
22695 <td>)</td>
22696 <td></td><td></td>
22697 </tr>
22698 </table>
22699 </td>
22700 <td class="mlabels-right">
22701<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22702 </tr>
22703</table>
22704</div><div class="memdoc">
22705
22706<p>Calculate saturating exponential fixed point 8bit (8 elements) </p>
22707<dl class="params"><dt>Parameters</dt><dd>
22708 <table class="params">
22709 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22710 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22711 </table>
22712 </dd>
22713</dl>
22714<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit saturating exponential </dd></dl>
22715
Kaizenbf8b01d2017-10-12 14:26:51 +010022716<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01442">1442</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022717
Kaizenbf8b01d2017-10-12 14:26:51 +010022718<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00304">vqabs_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022719
Kaizenbf8b01d2017-10-12 14:26:51 +010022720<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>.</p>
22721<div class="fragment"><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;{</div>
22722<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(fixed_point_position - 7);</div>
22723<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
22724<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_ln2 = vqrshl_s8(vdup_n_s8(0x58), shift_value); <span class="comment">// ln(2)</span></div>
22725<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_inv_ln2 = vorr_s8(vqrshl_s8(vdup_n_s8(0x38), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
22726<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;</div>
22727<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
22728<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
22729<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;</div>
22730<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; <span class="comment">// get decimal part from m</span></div>
22731<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> dec_m = vqshl_s8(m, vdup_n_s8(-fixed_point_position));</div>
22732<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;</div>
22733<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(vqshl_s8(dec_m, vdup_n_s8(fixed_point_position)), const_ln2, fixed_point_position);</div>
22734<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160; alpha = <a class="code" href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">vqabs_qs8</a>(vqsub_s8(a, alpha));</div>
22735<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;</div>
22736<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
22737<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> poly = vqtaylor_poly_qs8&lt;false&gt;(alpha, fixed_point_position);</div>
22738<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; poly = vqadd_s8(poly, const_one);</div>
22739<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;</div>
22740<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; <span class="comment">// Reconstruct</span></div>
22741<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160; poly = vqshl_s8(poly, dec_m);</div>
22742<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;</div>
22743<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160; <span class="keywordflow">return</span> poly;</div>
22744<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;}</div>
22745<div class="ttc" id="namespacearm__compute_xhtml_a4b2c9440d5fa4909ae909869877f39e3"><div class="ttname"><a href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">arm_compute::vqabs_qs8</a></div><div class="ttdeci">qint8x8_t vqabs_qs8(qint8x8_t a)</div><div class="ttdoc">Saturating absolute value of 8 bit fixed point vector (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00304">NEFixedPoint.inl:304</a></div></div>
22746<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022747<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
22748</div><!-- fragment -->
22749</div>
22750</div>
Kaizen8938bd32017-09-28 14:38:23 +010022751<a class="anchor" id="a5b5e085002cf5a69fb80e6991d0a4556"></a>
22752<div class="memitem">
22753<div class="memproto">
22754<table class="mlabels">
22755 <tr>
22756 <td class="mlabels-left">
22757 <table class="memname">
22758 <tr>
22759 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqexpq_qs16 </td>
22760 <td>(</td>
22761 <td class="paramtype">qint16x8_t&#160;</td>
22762 <td class="paramname"><em>a</em>, </td>
22763 </tr>
22764 <tr>
22765 <td class="paramkey"></td>
22766 <td></td>
22767 <td class="paramtype">int&#160;</td>
22768 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22769 </tr>
22770 <tr>
22771 <td></td>
22772 <td>)</td>
22773 <td></td><td></td>
22774 </tr>
22775 </table>
22776 </td>
22777 <td class="mlabels-right">
22778<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22779 </tr>
22780</table>
22781</div><div class="memdoc">
22782
22783<p>Calculate saturating exponential fixed point 16 bit (8 elements) </p>
22784<dl class="params"><dt>Parameters</dt><dd>
22785 <table class="params">
22786 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
22787 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22788 </table>
22789 </dd>
22790</dl>
22791<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit saturating exponential </dd></dl>
22792
Kaizenbf8b01d2017-10-12 14:26:51 +010022793<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">1520</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010022794
Kaizenbf8b01d2017-10-12 14:26:51 +010022795<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00319">vqabsq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00474">vqsubq_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010022796
Kaizenbf8b01d2017-10-12 14:26:51 +010022797<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01983">vqpowq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>.</p>
22798<div class="fragment"><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;{</div>
22799<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(fixed_point_position - 15);</div>
22800<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
22801<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_ln2 = vqrshlq_s16(vdupq_n_s16(0x58B9), shift_value); <span class="comment">// ln(2)</span></div>
22802<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_inv_ln2 = vorrq_s16(vqrshlq_s16(vdupq_n_s16(0x38AA), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
22803<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;</div>
22804<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
22805<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
22806<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;</div>
22807<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; <span class="comment">// get decimal part from m</span></div>
22808<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> dec_m = vqshlq_s16(m, vdupq_n_s16(-fixed_point_position));</div>
22809<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;</div>
22810<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(vqshlq_s16(dec_m, vdupq_n_s16(fixed_point_position)), const_ln2, fixed_point_position);</div>
22811<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160; alpha = <a class="code" href="namespacearm__compute.xhtml#aa001ed913705cf378d947052435917aa">vqabsq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(a, alpha));</div>
22812<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;</div>
22813<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
22814<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> poly = vqtaylor_polyq_qs16&lt;false&gt;(alpha, fixed_point_position);</div>
22815<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160; poly = vqaddq_s16(poly, const_one);</div>
22816<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;</div>
22817<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160; <span class="comment">// Reconstruct</span></div>
22818<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160; poly = vqshlq_s16(poly, dec_m);</div>
22819<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;</div>
22820<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160; <span class="keywordflow">return</span> poly;</div>
22821<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;}</div>
22822<div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00474">NEFixedPoint.inl:474</a></div></div>
22823<div class="ttc" id="namespacearm__compute_xhtml_aa001ed913705cf378d947052435917aa"><div class="ttname"><a href="namespacearm__compute.xhtml#aa001ed913705cf378d947052435917aa">arm_compute::vqabsq_qs16</a></div><div class="ttdeci">qint16x8_t vqabsq_qs16(qint16x8_t a)</div><div class="ttdoc">Saturating absolute value of 16 bit fixed point vector (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00319">NEFixedPoint.inl:319</a></div></div>
22824<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010022825<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
22826</div><!-- fragment -->
22827</div>
22828</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022829<a class="anchor" id="ae6cf1822b8fbad305677650a2b751247"></a>
22830<div class="memitem">
22831<div class="memproto">
22832<table class="mlabels">
22833 <tr>
22834 <td class="mlabels-left">
22835 <table class="memname">
22836 <tr>
22837 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqexpq_qs8 </td>
22838 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022839 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022840 <td class="paramname"><em>a</em>, </td>
22841 </tr>
22842 <tr>
22843 <td class="paramkey"></td>
22844 <td></td>
22845 <td class="paramtype">int&#160;</td>
22846 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22847 </tr>
22848 <tr>
22849 <td></td>
22850 <td>)</td>
22851 <td></td><td></td>
22852 </tr>
22853 </table>
22854 </td>
22855 <td class="mlabels-right">
22856<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22857 </tr>
22858</table>
22859</div><div class="memdoc">
22860
22861<p>Calculate saturating exponential fixed point 8bit (16 elements) </p>
22862<dl class="params"><dt>Parameters</dt><dd>
22863 <table class="params">
22864 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
22865 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22866 </table>
22867 </dd>
22868</dl>
22869<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit saturating exponential </dd></dl>
22870
Kaizenbf8b01d2017-10-12 14:26:51 +010022871<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">1494</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022872
Kaizenbf8b01d2017-10-12 14:26:51 +010022873<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00314">vqabsq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00469">vqsubq_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022874
Kaizenbf8b01d2017-10-12 14:26:51 +010022875<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01978">vqpowq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>.</p>
22876<div class="fragment"><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;{</div>
22877<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(fixed_point_position - 7);</div>
22878<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
22879<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_ln2 = vqrshlq_s8(vdupq_n_s8(0x58), shift_value); <span class="comment">// ln(2)</span></div>
22880<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_inv_ln2 = vorrq_s8(vqrshlq_s8(vdupq_n_s8(0x38), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
22881<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;</div>
22882<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
22883<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
22884<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;</div>
22885<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160; <span class="comment">// get decimal part from m</span></div>
22886<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> dec_m = vqshlq_s8(m, vdupq_n_s8(-fixed_point_position));</div>
22887<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;</div>
22888<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(vqshlq_s8(dec_m, vdupq_n_s8(fixed_point_position)), const_ln2, fixed_point_position);</div>
22889<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; alpha = <a class="code" href="namespacearm__compute.xhtml#ac8095edd652a1f3a76bf9d0f4251827a">vqabsq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(a, alpha));</div>
22890<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;</div>
22891<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; <span class="comment">// Polynomial Approximation</span></div>
22892<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> poly = vqtaylor_polyq_qs8&lt;false&gt;(alpha, fixed_point_position);</div>
22893<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; poly = vqaddq_s8(poly, const_one);</div>
22894<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;</div>
22895<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160; <span class="comment">// Reconstruct</span></div>
22896<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160; poly = vqshlq_s8(poly, dec_m);</div>
22897<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;</div>
22898<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; <span class="keywordflow">return</span> poly;</div>
22899<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010022900<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010022901<div class="ttc" id="namespacearm__compute_xhtml_ac8095edd652a1f3a76bf9d0f4251827a"><div class="ttname"><a href="namespacearm__compute.xhtml#ac8095edd652a1f3a76bf9d0f4251827a">arm_compute::vqabsq_qs8</a></div><div class="ttdeci">qint8x16_t vqabsq_qs8(qint8x16_t a)</div><div class="ttdoc">Saturating absolute value of 8 bit fixed point vector (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00314">NEFixedPoint.inl:314</a></div></div>
22902<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
22903<div class="ttc" id="namespacearm__compute_xhtml_ab2a6ce3d8239e49c81af1ebc617680b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">arm_compute::vqsubq_qs8</a></div><div class="ttdeci">qint8x16_t vqsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00469">NEFixedPoint.inl:469</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010022904</div><!-- fragment -->
22905</div>
22906</div>
22907<a class="anchor" id="a23041b440c544f24afd9b1e79a6d77df"></a>
22908<div class="memitem">
22909<div class="memproto">
22910<table class="mlabels">
22911 <tr>
22912 <td class="mlabels-left">
22913 <table class="memname">
22914 <tr>
22915 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqinvsqrt_qs16 </td>
22916 <td>(</td>
22917 <td class="paramtype">qint16x4_t&#160;</td>
22918 <td class="paramname"><em>a</em>, </td>
22919 </tr>
22920 <tr>
22921 <td class="paramkey"></td>
22922 <td></td>
22923 <td class="paramtype">int&#160;</td>
22924 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
22925 </tr>
22926 <tr>
22927 <td></td>
22928 <td>)</td>
22929 <td></td><td></td>
22930 </tr>
22931 </table>
22932 </td>
22933 <td class="mlabels-right">
22934<span class="mlabels"><span class="mlabel">inline</span></span> </td>
22935 </tr>
22936</table>
22937</div><div class="memdoc">
22938
22939<p>Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) </p>
22940<dl class="params"><dt>Parameters</dt><dd>
22941 <table class="params">
22942 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
22943 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
22944 </table>
22945 </dd>
22946</dl>
22947<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
22948
Kaizenbf8b01d2017-10-12 14:26:51 +010022949<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01785">1785</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010022950
Kaizenbf8b01d2017-10-12 14:26:51 +010022951<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00238">vdup_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>.</p>
22952<div class="fragment"><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;{</div>
22953<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_three = vdup_n_s16(3 &lt;&lt; fixed_point_position);</div>
22954<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;</div>
22955<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
22956<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vqneg_s16(vqsub_s16(vdup_n_s16(16), vqadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
22957<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;</div>
22958<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
22959<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vqsub_s16(vdup_n_s16(16), vqadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position)));</div>
22960<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; uint16x4_t temp_ltz = vclt_s16(temp, <a class="code" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a>(0));</div>
22961<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; temp = vbsl_s16(temp_ltz, vqadd_s16(temp, vdup_n_s16(1)), temp);</div>
22962<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value2 = vqneg_s16(vshr_n_s16(temp, 1));</div>
22963<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;</div>
22964<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160; temp = vqshl_s16(a, shift_value);</div>
22965<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;</div>
22966<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; <span class="comment">// Initial guess</span></div>
22967<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = temp;</div>
22968<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;</div>
22969<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
22970<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160; <span class="comment">// After five iterations we have the result for 16 bit</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010022971<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22972<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22973<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22974<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010022975<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160; x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
22976<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160;</div>
22977<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; <span class="keywordflow">return</span> vqshl_s16(x, shift_value2);</div>
22978<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;}</div>
22979<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
22980<div class="ttc" id="namespacearm__compute_xhtml_a1f6c3965dec29d8ac84ff84a164e9d8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">arm_compute::vdup_n_qs16</a></div><div class="ttdeci">qint16x4_t vdup_n_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point vector duplicate (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00238">NEFixedPoint.inl:238</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010022981<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022982</div><!-- fragment -->
22983</div>
22984</div>
22985<a class="anchor" id="a5ddc3dc4b4ee6847fd96c6a8599e20e4"></a>
22986<div class="memitem">
22987<div class="memproto">
22988<table class="mlabels">
22989 <tr>
22990 <td class="mlabels-left">
22991 <table class="memname">
22992 <tr>
22993 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqinvsqrt_qs8 </td>
22994 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010022995 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010022996 <td class="paramname"><em>a</em>, </td>
22997 </tr>
22998 <tr>
22999 <td class="paramkey"></td>
23000 <td></td>
23001 <td class="paramtype">int&#160;</td>
23002 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23003 </tr>
23004 <tr>
23005 <td></td>
23006 <td>)</td>
23007 <td></td><td></td>
23008 </tr>
23009 </table>
23010 </td>
23011 <td class="mlabels-right">
23012<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23013 </tr>
23014</table>
23015</div><div class="memdoc">
23016
23017<p>Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) </p>
23018<dl class="params"><dt>Parameters</dt><dd>
23019 <table class="params">
23020 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
23021 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23022 </table>
23023 </dd>
23024</dl>
23025<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
23026
Kaizenbf8b01d2017-10-12 14:26:51 +010023027<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01758">1758</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023028
Kaizenbf8b01d2017-10-12 14:26:51 +010023029<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00233">vdup_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>.</p>
23030<div class="fragment"><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;{</div>
23031<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_three = vdup_n_s8(3 &lt;&lt; fixed_point_position);</div>
23032<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;</div>
23033<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
23034<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vqneg_s8(vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
23035<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;</div>
23036<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
23037<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position)));</div>
23038<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; uint8x8_t temp_ltz = vclt_s8(temp, <a class="code" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a>(0));</div>
23039<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160; temp = vbsl_s8(temp_ltz, vqadd_s8(temp, vdup_n_s8(1)), temp);</div>
23040<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value2 = vqneg_s8(vshr_n_s8(temp, 1));</div>
23041<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160;</div>
23042<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160; temp = vqshl_s8(a, shift_value);</div>
23043<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;</div>
23044<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; <span class="comment">// Initial guess</span></div>
23045<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = temp;</div>
23046<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160;</div>
23047<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
23048<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160; <span class="comment">// After three iterations we have the result for 8 bit</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010023049<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
23050<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010023051<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160; x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
23052<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;</div>
23053<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; <span class="keywordflow">return</span> vqshl_s8(x, shift_value2);</div>
23054<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;}</div>
23055<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
23056<div class="ttc" id="namespacearm__compute_xhtml_a1a226812e3cfdf3494adbdd92d4a1cb3"><div class="ttname"><a href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">arm_compute::vdup_n_qs8</a></div><div class="ttdeci">qint8x8_t vdup_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00233">NEFixedPoint.inl:233</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023057<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
23058</div><!-- fragment -->
23059</div>
23060</div>
Kaizen8938bd32017-09-28 14:38:23 +010023061<a class="anchor" id="a74613d11a6b769ddcdd28d80fb8d74a8"></a>
23062<div class="memitem">
23063<div class="memproto">
23064<table class="mlabels">
23065 <tr>
23066 <td class="mlabels-left">
23067 <table class="memname">
23068 <tr>
23069 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqinvsqrtq_qs16 </td>
23070 <td>(</td>
23071 <td class="paramtype">qint16x8_t&#160;</td>
23072 <td class="paramname"><em>a</em>, </td>
23073 </tr>
23074 <tr>
23075 <td class="paramkey"></td>
23076 <td></td>
23077 <td class="paramtype">int&#160;</td>
23078 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23079 </tr>
23080 <tr>
23081 <td></td>
23082 <td>)</td>
23083 <td></td><td></td>
23084 </tr>
23085 </table>
23086 </td>
23087 <td class="mlabels-right">
23088<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23089 </tr>
23090</table>
23091</div><div class="memdoc">
23092
23093<p>Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (8 elements) </p>
23094<dl class="params"><dt>Parameters</dt><dd>
23095 <table class="params">
23096 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
23097 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23098 </table>
23099 </dd>
23100</dl>
23101<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit inverse sqrt. </dd></dl>
23102
Kaizenbf8b01d2017-10-12 14:26:51 +010023103<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01897">1897</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010023104
Kaizenbf8b01d2017-10-12 14:26:51 +010023105<p>References <a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
23106<div class="fragment"><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;{</div>
23107<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_three = vdupq_n_s16(3 &lt;&lt; fixed_point_position);</div>
23108<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;</div>
23109<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
23110<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vqnegq_s16(vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
23111<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;</div>
23112<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
23113<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position)));</div>
23114<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160; uint16x8_t temp_ltz = vcltq_s16(temp, <a class="code" href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a>(0));</div>
23115<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160; temp = vbslq_s16(temp_ltz, vqaddq_s16(temp, vdupq_n_s16(1)), temp);</div>
23116<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value2 = vqnegq_s16(vshrq_n_s16(temp, 1));</div>
23117<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160;</div>
23118<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160; temp = vqshlq_s16(a, shift_value);</div>
23119<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;</div>
23120<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160; <span class="comment">// Initial guess</span></div>
23121<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = temp;</div>
23122<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;</div>
23123<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
23124<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160; <span class="comment">// After five iterations we have the result for 16 bit</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010023125<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
23126<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
23127<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
23128<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010023129<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160; x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
23130<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;</div>
23131<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160; <span class="keywordflow">return</span> vqshlq_s16(x, shift_value2);</div>
23132<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;}</div>
23133<div class="ttc" id="namespacearm__compute_xhtml_aed2fc8d1b9642b7625379a930ef4914a"><div class="ttname"><a href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">arm_compute::vdupq_n_qs16</a></div><div class="ttdeci">qint16x8_t vdupq_n_qs16(qint16_t a)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00274">NEFixedPoint.inl:274</a></div></div>
23134<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010023135<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
23136</div><!-- fragment -->
23137</div>
23138</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023139<a class="anchor" id="ad5d5110467053814882fb616c6cb855b"></a>
23140<div class="memitem">
23141<div class="memproto">
23142<table class="mlabels">
23143 <tr>
23144 <td class="mlabels-left">
23145 <table class="memname">
23146 <tr>
23147 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqinvsqrtq_qs8 </td>
23148 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023149 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023150 <td class="paramname"><em>a</em>, </td>
23151 </tr>
23152 <tr>
23153 <td class="paramkey"></td>
23154 <td></td>
23155 <td class="paramtype">int&#160;</td>
23156 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23157 </tr>
23158 <tr>
23159 <td></td>
23160 <td>)</td>
23161 <td></td><td></td>
23162 </tr>
23163 </table>
23164 </td>
23165 <td class="mlabels-right">
23166<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23167 </tr>
23168</table>
23169</div><div class="memdoc">
23170
23171<p>Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) </p>
23172<dl class="params"><dt>Parameters</dt><dd>
23173 <table class="params">
23174 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
23175 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23176 </table>
23177 </dd>
23178</dl>
23179<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit inverse sqrt. </dd></dl>
23180
Kaizenbf8b01d2017-10-12 14:26:51 +010023181<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01870">1870</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023182
Kaizenbf8b01d2017-10-12 14:26:51 +010023183<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00243">vdupq_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>.</p>
23184<div class="fragment"><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160;{</div>
23185<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_three = vdupq_n_s8(3 &lt;&lt; fixed_point_position);</div>
23186<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;</div>
23187<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160; <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
23188<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vqnegq_s8(vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
23189<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;</div>
23190<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160; <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
23191<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position)));</div>
23192<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160; uint8x16_t temp_ltz = vcltq_s8(temp, <a class="code" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a>(0));</div>
23193<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160; temp = vbslq_s8(temp_ltz, vqaddq_s8(temp, vdupq_n_s8(1)), temp);</div>
23194<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value2 = vqnegq_s8(vshrq_n_s8(temp, 1));</div>
23195<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;</div>
23196<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160; temp = vqshlq_s8(a, shift_value);</div>
23197<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;</div>
23198<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160; <span class="comment">// Initial guess</span></div>
23199<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = temp;</div>
23200<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160;</div>
23201<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160; <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
23202<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160; <span class="comment">// After three iterations we have the result for 8 bit</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010023203<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
23204<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010023205<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160; x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
23206<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160;</div>
23207<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160; <span class="keywordflow">return</span> vqshlq_s8(x, shift_value2);</div>
23208<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023209<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010023210<div class="ttc" id="namespacearm__compute_xhtml_adbd4df93ed00fcda54f91e669ea2be04"><div class="ttname"><a href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">arm_compute::vdupq_n_qs8</a></div><div class="ttdeci">qint8x16_t vdupq_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00243">NEFixedPoint.inl:243</a></div></div>
23211<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010023212</div><!-- fragment -->
23213</div>
23214</div>
23215<a class="anchor" id="aa761736badde8e65c51952cc613be3b9"></a>
23216<div class="memitem">
23217<div class="memproto">
23218<table class="mlabels">
23219 <tr>
23220 <td class="mlabels-left">
23221 <table class="memname">
23222 <tr>
23223 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqmla_qs16 </td>
23224 <td>(</td>
23225 <td class="paramtype">qint16x4_t&#160;</td>
23226 <td class="paramname"><em>a</em>, </td>
23227 </tr>
23228 <tr>
23229 <td class="paramkey"></td>
23230 <td></td>
23231 <td class="paramtype">qint16x4_t&#160;</td>
23232 <td class="paramname"><em>b</em>, </td>
23233 </tr>
23234 <tr>
23235 <td class="paramkey"></td>
23236 <td></td>
23237 <td class="paramtype">qint16x4_t&#160;</td>
23238 <td class="paramname"><em>c</em>, </td>
23239 </tr>
23240 <tr>
23241 <td class="paramkey"></td>
23242 <td></td>
23243 <td class="paramtype">int&#160;</td>
23244 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23245 </tr>
23246 <tr>
23247 <td></td>
23248 <td>)</td>
23249 <td></td><td></td>
23250 </tr>
23251 </table>
23252 </td>
23253 <td class="mlabels-right">
23254<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23255 </tr>
23256</table>
23257</div><div class="memdoc">
23258
23259<p>16 bit fixed point vector saturating multiply-accumulate (4 elements). </p>
23260<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
23261<dl class="params"><dt>Parameters</dt><dd>
23262 <table class="params">
23263 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23264 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23265 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
23266 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23267 </table>
23268 </dd>
23269</dl>
23270<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate. The result is saturated in case of overflow </dd></dl>
23271
Kaizenbf8b01d2017-10-12 14:26:51 +010023272<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00741">741</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23273<div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;{</div>
23274<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
23275<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;</div>
23276<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23277<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
23278<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;</div>
23279<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23280<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; tmp = vmlal_s16(tmp, b, c);</div>
23281<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;</div>
23282<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23283<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; tmp = vqshlq_s32(tmp, fixed_point_position_s32);</div>
23284<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;</div>
23285<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
23286<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">return</span> vqadd_s16(a, vqmovn_s32(tmp));</div>
23287<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023288<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023289</div><!-- fragment -->
23290</div>
23291</div>
23292<a class="anchor" id="ac6cb55578e8ff1f3c20aa50f2e728679"></a>
23293<div class="memitem">
23294<div class="memproto">
23295<table class="mlabels">
23296 <tr>
23297 <td class="mlabels-left">
23298 <table class="memname">
23299 <tr>
23300 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqmla_qs8 </td>
23301 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023302 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023303 <td class="paramname"><em>a</em>, </td>
23304 </tr>
23305 <tr>
23306 <td class="paramkey"></td>
23307 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023308 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023309 <td class="paramname"><em>b</em>, </td>
23310 </tr>
23311 <tr>
23312 <td class="paramkey"></td>
23313 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023314 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023315 <td class="paramname"><em>c</em>, </td>
23316 </tr>
23317 <tr>
23318 <td class="paramkey"></td>
23319 <td></td>
23320 <td class="paramtype">int&#160;</td>
23321 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23322 </tr>
23323 <tr>
23324 <td></td>
23325 <td>)</td>
23326 <td></td><td></td>
23327 </tr>
23328 </table>
23329 </td>
23330 <td class="mlabels-right">
23331<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23332 </tr>
23333</table>
23334</div><div class="memdoc">
23335
23336<p>8 bit fixed point vector saturating multiply-accumulate (8 elements). </p>
23337<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
23338<dl class="params"><dt>Parameters</dt><dd>
23339 <table class="params">
23340 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23341 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23342 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
23343 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23344 </table>
23345 </dd>
23346</dl>
23347<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate. The result is saturated in case of overflow </dd></dl>
23348
Kaizenbf8b01d2017-10-12 14:26:51 +010023349<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00724">724</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23350<div class="fragment"><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;{</div>
23351<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
23352<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;</div>
23353<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23354<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
23355<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;</div>
23356<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23357<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; tmp = vmlal_s8(tmp, b, c);</div>
23358<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160;</div>
23359<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23360<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; tmp = vqshlq_s16(tmp, fixed_point_position_s16);</div>
23361<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;</div>
23362<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
23363<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">return</span> vqadd_s8(a, vqmovn_s16(tmp));</div>
23364<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023365<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
23366</div><!-- fragment -->
23367</div>
23368</div>
23369<a class="anchor" id="a71633dedee7ccca61420733d9fd24fae"></a>
23370<div class="memitem">
23371<div class="memproto">
23372<table class="mlabels">
23373 <tr>
23374 <td class="mlabels-left">
23375 <table class="memname">
23376 <tr>
23377 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> vqmlal_qs16 </td>
23378 <td>(</td>
23379 <td class="paramtype">qint32x4_t&#160;</td>
23380 <td class="paramname"><em>a</em>, </td>
23381 </tr>
23382 <tr>
23383 <td class="paramkey"></td>
23384 <td></td>
23385 <td class="paramtype">qint16x4_t&#160;</td>
23386 <td class="paramname"><em>b</em>, </td>
23387 </tr>
23388 <tr>
23389 <td class="paramkey"></td>
23390 <td></td>
23391 <td class="paramtype">qint16x4_t&#160;</td>
23392 <td class="paramname"><em>c</em>, </td>
23393 </tr>
23394 <tr>
23395 <td class="paramkey"></td>
23396 <td></td>
23397 <td class="paramtype">int&#160;</td>
23398 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23399 </tr>
23400 <tr>
23401 <td></td>
23402 <td>)</td>
23403 <td></td><td></td>
23404 </tr>
23405 </table>
23406 </td>
23407 <td class="mlabels-right">
23408<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23409 </tr>
23410</table>
23411</div><div class="memdoc">
23412
23413<p>16 bit fixed point vector saturating multiply-accumulate long (4 elements). </p>
23414<p>The saturation is performed on the 16 bit fixed point output vector. This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 32 bit fixed point vector <code>a</code> (a + b * c). 4 elements</p>
23415<dl class="params"><dt>Parameters</dt><dd>
23416 <table class="params">
23417 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 32 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23418 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23419 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
23420 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23421 </table>
23422 </dd>
23423</dl>
23424<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
23425
Kaizenbf8b01d2017-10-12 14:26:51 +010023426<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00851">851</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23427<div class="fragment"><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;{</div>
23428<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
23429<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;</div>
23430<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23431<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
23432<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160;</div>
23433<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23434<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; tmp = vmlal_s16(tmp, b, c);</div>
23435<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160;</div>
23436<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23437<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; tmp = vqshlq_s32(tmp, fixed_point_position_s32);</div>
23438<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;</div>
23439<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="comment">// Accumulate</span></div>
23440<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="keywordflow">return</span> vqaddq_s32(a, tmp);</div>
23441<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023442<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023443</div><!-- fragment -->
23444</div>
23445</div>
23446<a class="anchor" id="aedfa26202753ca9db96ae3bcb51b14b0"></a>
23447<div class="memitem">
23448<div class="memproto">
23449<table class="mlabels">
23450 <tr>
23451 <td class="mlabels-left">
23452 <table class="memname">
23453 <tr>
23454 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqmlal_qs8 </td>
23455 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023456 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023457 <td class="paramname"><em>a</em>, </td>
23458 </tr>
23459 <tr>
23460 <td class="paramkey"></td>
23461 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023462 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023463 <td class="paramname"><em>b</em>, </td>
23464 </tr>
23465 <tr>
23466 <td class="paramkey"></td>
23467 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023468 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023469 <td class="paramname"><em>c</em>, </td>
23470 </tr>
23471 <tr>
23472 <td class="paramkey"></td>
23473 <td></td>
23474 <td class="paramtype">int&#160;</td>
23475 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23476 </tr>
23477 <tr>
23478 <td></td>
23479 <td>)</td>
23480 <td></td><td></td>
23481 </tr>
23482 </table>
23483 </td>
23484 <td class="mlabels-right">
23485<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23486 </tr>
23487</table>
23488</div><div class="memdoc">
23489
23490<p>8 bit fixed point vector saturating multiply-accumulate long (8 elements). </p>
23491<p>The saturation is performed on the 16 bit fixed point output vector. This operation performs the product between <code>b</code> and <code>c</code> and add the result to the 16 bit fixed point vector <code>a</code> (a + b * c). 8 elements</p>
23492<dl class="params"><dt>Parameters</dt><dd>
23493 <table class="params">
23494 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23495 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23496 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
23497 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23498 </table>
23499 </dd>
23500</dl>
23501<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
23502
Kaizenbf8b01d2017-10-12 14:26:51 +010023503<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00834">834</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23504<div class="fragment"><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;{</div>
23505<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
23506<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;</div>
23507<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23508<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
23509<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160;</div>
23510<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23511<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; tmp = vmlal_s8(tmp, b, c);</div>
23512<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;</div>
23513<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23514<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; tmp = vqshlq_s16(tmp, fixed_point_position_s16);</div>
23515<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;</div>
23516<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="comment">// Accumulate</span></div>
23517<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keywordflow">return</span> vqaddq_s16(a, tmp);</div>
23518<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023519<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
23520</div><!-- fragment -->
23521</div>
23522</div>
23523<a class="anchor" id="aed829745c42ecd74cfff15bc92936ba5"></a>
23524<div class="memitem">
23525<div class="memproto">
23526<table class="mlabels">
23527 <tr>
23528 <td class="mlabels-left">
23529 <table class="memname">
23530 <tr>
23531 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqmlaq_qs16 </td>
23532 <td>(</td>
23533 <td class="paramtype">qint16x8_t&#160;</td>
23534 <td class="paramname"><em>a</em>, </td>
23535 </tr>
23536 <tr>
23537 <td class="paramkey"></td>
23538 <td></td>
23539 <td class="paramtype">qint16x8_t&#160;</td>
23540 <td class="paramname"><em>b</em>, </td>
23541 </tr>
23542 <tr>
23543 <td class="paramkey"></td>
23544 <td></td>
23545 <td class="paramtype">qint16x8_t&#160;</td>
23546 <td class="paramname"><em>c</em>, </td>
23547 </tr>
23548 <tr>
23549 <td class="paramkey"></td>
23550 <td></td>
23551 <td class="paramtype">int&#160;</td>
23552 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23553 </tr>
23554 <tr>
23555 <td></td>
23556 <td>)</td>
23557 <td></td><td></td>
23558 </tr>
23559 </table>
23560 </td>
23561 <td class="mlabels-right">
23562<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23563 </tr>
23564</table>
23565</div><div class="memdoc">
23566
23567<p>16 bit fixed point vector saturating multiply-accumulate (8 elements). </p>
23568<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
23569<dl class="params"><dt>Parameters</dt><dd>
23570 <table class="params">
23571 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23572 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23573 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 16 bit fixed point input vector </td></tr>
23574 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23575 </table>
23576 </dd>
23577</dl>
23578<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate.The result is saturated in case of overflow </dd></dl>
23579
Kaizenbf8b01d2017-10-12 14:26:51 +010023580<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00779">779</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010023581
Kaizenbf8b01d2017-10-12 14:26:51 +010023582<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
23583<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;{</div>
23584<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
23585<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;</div>
23586<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23587<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp0 = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
23588<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp1 = tmp0;</div>
23589<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;</div>
23590<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23591<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; tmp0 = vmlal_s16(tmp0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(c));</div>
23592<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; tmp1 = vmlal_s16(tmp1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(c));</div>
23593<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;</div>
23594<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23595<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; tmp0 = vqshlq_s32(tmp0, fixed_point_position_s32);</div>
23596<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; tmp1 = vqshlq_s32(tmp1, fixed_point_position_s32);</div>
23597<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;</div>
23598<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="comment">// Convert back to qint16 and accumulate</span></div>
23599<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vcombine_s16(vqmovn_s32(tmp0), vqmovn_s32(tmp1));</div>
23600<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">return</span> vqaddq_s16(a, res);</div>
23601<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;}</div>
23602<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010023603<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010023604<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010023605<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023606</div><!-- fragment -->
23607</div>
23608</div>
23609<a class="anchor" id="a037ac8df4a7e30a455a97218b88b67ad"></a>
23610<div class="memitem">
23611<div class="memproto">
23612<table class="mlabels">
23613 <tr>
23614 <td class="mlabels-left">
23615 <table class="memname">
23616 <tr>
23617 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqmlaq_qs8 </td>
23618 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023619 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023620 <td class="paramname"><em>a</em>, </td>
23621 </tr>
23622 <tr>
23623 <td class="paramkey"></td>
23624 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023625 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023626 <td class="paramname"><em>b</em>, </td>
23627 </tr>
23628 <tr>
23629 <td class="paramkey"></td>
23630 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023631 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023632 <td class="paramname"><em>c</em>, </td>
23633 </tr>
23634 <tr>
23635 <td class="paramkey"></td>
23636 <td></td>
23637 <td class="paramtype">int&#160;</td>
23638 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23639 </tr>
23640 <tr>
23641 <td></td>
23642 <td>)</td>
23643 <td></td><td></td>
23644 </tr>
23645 </table>
23646 </td>
23647 <td class="mlabels-right">
23648<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23649 </tr>
23650</table>
23651</div><div class="memdoc">
23652
23653<p>8 bit fixed point vector saturating multiply-accumulate (16 elements). </p>
23654<p>This operation performs the product between <code>b</code> and <code>c</code> and add the result to <code>a</code> (a + b * c).</p>
23655<dl class="params"><dt>Parameters</dt><dd>
23656 <table class="params">
23657 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector where the result of multiplication must be added to </td></tr>
23658 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23659 <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Third 8 bit fixed point input vector </td></tr>
23660 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23661 </table>
23662 </dd>
23663</dl>
23664<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate.The result is saturated in case of overflow </dd></dl>
23665
Kaizenbf8b01d2017-10-12 14:26:51 +010023666<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00758">758</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23667<div class="fragment"><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;{</div>
23668<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
23669<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;</div>
23670<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23671<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp0 = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
23672<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp1 = tmp0;</div>
23673<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;</div>
23674<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23675<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; tmp0 = vmlal_s8(tmp0, vget_low_s8(b), vget_low_s8(c));</div>
23676<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; tmp1 = vmlal_s8(tmp1, vget_high_s8(b), vget_high_s8(c));</div>
23677<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;</div>
23678<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23679<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; tmp0 = vqshlq_s16(tmp0, fixed_point_position_s16);</div>
23680<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; tmp1 = vqshlq_s16(tmp1, fixed_point_position_s16);</div>
23681<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;</div>
23682<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="comment">// Convert back to qint8 and accumulate</span></div>
23683<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = vcombine_s8(vqmovn_s16(tmp0), vqmovn_s16(tmp1));</div>
23684<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">return</span> vqaddq_s8(a, res);</div>
23685<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023686<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023687<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
23688</div><!-- fragment -->
23689</div>
23690</div>
23691<a class="anchor" id="a92c2d0b9a8eeb3ab04a39a25fef2b6c3"></a>
23692<div class="memitem">
23693<div class="memproto">
23694 <table class="memname">
23695 <tr>
23696 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmovn_q16 </td>
23697 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023698 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023699 <td class="paramname"><em>a</em></td><td>)</td>
23700 <td></td>
23701 </tr>
23702 </table>
23703</div><div class="memdoc">
23704
23705<p>16 bit fixed point vector saturating narrow (8 elements) </p>
23706<dl class="params"><dt>Parameters</dt><dd>
23707 <table class="params">
23708 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point vector to convert</td></tr>
23709 </table>
23710 </dd>
23711</dl>
23712<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector </dd></dl>
23713
23714</div>
23715</div>
Kaizen8938bd32017-09-28 14:38:23 +010023716<a class="anchor" id="a12e7578c32321d2362114563881153ee"></a>
23717<div class="memitem">
23718<div class="memproto">
23719 <table class="memname">
23720 <tr>
23721 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmovn_q32 </td>
23722 <td>(</td>
23723 <td class="paramtype">qint32x4_t&#160;</td>
23724 <td class="paramname"><em>a</em></td><td>)</td>
23725 <td></td>
23726 </tr>
23727 </table>
23728</div><div class="memdoc">
23729
23730<p>32 bit fixed point vector saturating narrow (4 elements) </p>
23731<dl class="params"><dt>Parameters</dt><dd>
23732 <table class="params">
23733 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>32 bit fixed point vector to convert</td></tr>
23734 </table>
23735 </dd>
23736</dl>
23737<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector </dd></dl>
23738
23739</div>
23740</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023741<a class="anchor" id="aa9a56a13e02fa346fcbe59257b2cef74"></a>
23742<div class="memitem">
23743<div class="memproto">
23744<table class="mlabels">
23745 <tr>
23746 <td class="mlabels-left">
23747 <table class="memname">
23748 <tr>
23749 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmovn_qs16 </td>
23750 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023751 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023752 <td class="paramname"><em>a</em></td><td>)</td>
23753 <td></td>
23754 </tr>
23755 </table>
23756 </td>
23757 <td class="mlabels-right">
23758<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23759 </tr>
23760</table>
23761</div><div class="memdoc">
23762
Kaizenbf8b01d2017-10-12 14:26:51 +010023763<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23764<div class="fragment"><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;{</div>
23765<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> vqmovn_s16(a);</div>
23766<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023767</div><!-- fragment -->
23768</div>
23769</div>
23770<a class="anchor" id="acd99794ca54cbddbb4bda5d78d0caea7"></a>
23771<div class="memitem">
23772<div class="memproto">
23773<table class="mlabels">
23774 <tr>
23775 <td class="mlabels-left">
23776 <table class="memname">
23777 <tr>
23778 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmovn_qs32 </td>
23779 <td>(</td>
23780 <td class="paramtype">qint32x4_t&#160;</td>
23781 <td class="paramname"><em>a</em></td><td>)</td>
23782 <td></td>
23783 </tr>
23784 </table>
23785 </td>
23786 <td class="mlabels-right">
23787<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23788 </tr>
23789</table>
23790</div><div class="memdoc">
23791
Kaizenbf8b01d2017-10-12 14:26:51 +010023792<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00228">228</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
23793<div class="fragment"><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;{</div>
23794<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> vqmovn_s32(a);</div>
23795<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023796</div><!-- fragment -->
23797</div>
23798</div>
23799<a class="anchor" id="aec34399f16d824f79571abe464556466"></a>
23800<div class="memitem">
23801<div class="memproto">
23802<table class="mlabels">
23803 <tr>
23804 <td class="mlabels-left">
23805 <table class="memname">
23806 <tr>
23807 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqmul_qs16 </td>
23808 <td>(</td>
23809 <td class="paramtype">qint16x4_t&#160;</td>
23810 <td class="paramname"><em>a</em>, </td>
23811 </tr>
23812 <tr>
23813 <td class="paramkey"></td>
23814 <td></td>
23815 <td class="paramtype">qint16x4_t&#160;</td>
23816 <td class="paramname"><em>b</em>, </td>
23817 </tr>
23818 <tr>
23819 <td class="paramkey"></td>
23820 <td></td>
23821 <td class="paramtype">int&#160;</td>
23822 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23823 </tr>
23824 <tr>
23825 <td></td>
23826 <td>)</td>
23827 <td></td><td></td>
23828 </tr>
23829 </table>
23830 </td>
23831 <td class="mlabels-right">
23832<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23833 </tr>
23834</table>
23835</div><div class="memdoc">
23836
23837<p>16 bit fixed point vector saturating multiply (4 elements) </p>
23838<dl class="params"><dt>Parameters</dt><dd>
23839 <table class="params">
23840 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23841 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23842 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23843 </table>
23844 </dd>
23845</dl>
23846<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
23847
Kaizenbf8b01d2017-10-12 14:26:51 +010023848<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">570</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010023849
Kaizenbf8b01d2017-10-12 14:26:51 +010023850<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01468">vqexp_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01785">vqinvsqrt_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01156">vqrecip_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01363">vqtaylor_poly_qs16()</a>.</p>
23851<div class="fragment"><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;{</div>
23852<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
23853<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div>
23854<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
23855<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
23856<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;</div>
23857<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23858<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; res = vmlal_s16(res, a, b);</div>
23859<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;</div>
23860<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23861<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; res = vqshlq_s32(res, fixed_point_position_s32);</div>
23862<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;</div>
23863<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="comment">// Convert back to qint16 and saturate</span></div>
23864<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">return</span> vqmovn_s32(res);</div>
23865<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023866<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
23867</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010023868</div>
23869</div>
23870<a class="anchor" id="a746205173d1a1f3955fa0c26b5be3b10"></a>
23871<div class="memitem">
23872<div class="memproto">
23873<table class="mlabels">
23874 <tr>
23875 <td class="mlabels-left">
23876 <table class="memname">
23877 <tr>
23878 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqmul_qs8 </td>
23879 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010023880 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023881 <td class="paramname"><em>a</em>, </td>
23882 </tr>
23883 <tr>
23884 <td class="paramkey"></td>
23885 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010023886 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023887 <td class="paramname"><em>b</em>, </td>
23888 </tr>
23889 <tr>
23890 <td class="paramkey"></td>
23891 <td></td>
23892 <td class="paramtype">int&#160;</td>
23893 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23894 </tr>
23895 <tr>
23896 <td></td>
23897 <td>)</td>
23898 <td></td><td></td>
23899 </tr>
23900 </table>
23901 </td>
23902 <td class="mlabels-right">
23903<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23904 </tr>
23905</table>
23906</div><div class="memdoc">
23907
23908<p>8 bit fixed point vector saturating multiply (8 elements) </p>
23909<dl class="params"><dt>Parameters</dt><dd>
23910 <table class="params">
23911 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
23912 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
23913 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23914 </table>
23915 </dd>
23916</dl>
23917<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
23918
Kaizenbf8b01d2017-10-12 14:26:51 +010023919<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">553</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010023920
Kaizenbf8b01d2017-10-12 14:26:51 +010023921<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01442">vqexp_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01758">vqinvsqrt_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01130">vqrecip_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01347">vqtaylor_poly_qs8()</a>.</p>
23922<div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;{</div>
23923<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
23924<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;</div>
23925<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
23926<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
23927<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;</div>
23928<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
23929<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; res = vmlal_s8(res, a, b);</div>
23930<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div>
23931<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
23932<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; res = vqshlq_s16(res, fixed_point_position_s16);</div>
23933<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;</div>
23934<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="comment">// Convert back to qint8 and saturate</span></div>
23935<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordflow">return</span> vqmovn_s16(res);</div>
23936<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010023937<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
23938</div><!-- fragment -->
23939</div>
23940</div>
23941<a class="anchor" id="a982d792d366430a954d96e8575d3c313"></a>
23942<div class="memitem">
23943<div class="memproto">
23944<table class="mlabels">
23945 <tr>
23946 <td class="mlabels-left">
23947 <table class="memname">
23948 <tr>
23949 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqmulq_qs16 </td>
23950 <td>(</td>
23951 <td class="paramtype">qint16x8_t&#160;</td>
23952 <td class="paramname"><em>a</em>, </td>
23953 </tr>
23954 <tr>
23955 <td class="paramkey"></td>
23956 <td></td>
23957 <td class="paramtype">qint16x8_t&#160;</td>
23958 <td class="paramname"><em>b</em>, </td>
23959 </tr>
23960 <tr>
23961 <td class="paramkey"></td>
23962 <td></td>
23963 <td class="paramtype">int&#160;</td>
23964 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
23965 </tr>
23966 <tr>
23967 <td></td>
23968 <td>)</td>
23969 <td></td><td></td>
23970 </tr>
23971 </table>
23972 </td>
23973 <td class="mlabels-right">
23974<span class="mlabels"><span class="mlabel">inline</span></span> </td>
23975 </tr>
23976</table>
23977</div><div class="memdoc">
23978
23979<p>16 bit fixed point vector saturating multiply (8 elements) </p>
23980<dl class="params"><dt>Parameters</dt><dd>
23981 <table class="params">
23982 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
23983 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector </td></tr>
23984 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
23985 </table>
23986 </dd>
23987</dl>
23988<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
23989
Kaizenbf8b01d2017-10-12 14:26:51 +010023990<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">607</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010023991
Kaizenbf8b01d2017-10-12 14:26:51 +010023992<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010023993
Kaizenbf8b01d2017-10-12 14:26:51 +010023994<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01663">vlogq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01897">vqinvsqrtq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01983">vqpowq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01265">vqrecipq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01427">vqtaylor_polyq_qs16()</a>.</p>
23995<div class="fragment"><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;{</div>
23996<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
23997<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;</div>
23998<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
23999<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res0 = vdupq_n_s32(1 &lt;&lt; (fixed_point_position - 1));</div>
24000<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res1 = res0;</div>
24001<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;</div>
24002<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
24003<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; res0 = vmlal_s16(res0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b));</div>
24004<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; res1 = vmlal_s16(res1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b));</div>
24005<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;</div>
24006<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
24007<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; res0 = vqshlq_s32(res0, fixed_point_position_s32);</div>
24008<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; res1 = vqshlq_s32(res1, fixed_point_position_s32);</div>
24009<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;</div>
24010<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="comment">// Convert back to qint16 and saturate</span></div>
24011<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(res0), vqmovn_s32(res1));</div>
24012<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;}</div>
24013<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
24014<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024015<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024016</div><!-- fragment -->
24017</div>
24018</div>
24019<a class="anchor" id="a081c0605c83155125ad95a144a1d6071"></a>
24020<div class="memitem">
24021<div class="memproto">
24022<table class="mlabels">
24023 <tr>
24024 <td class="mlabels-left">
24025 <table class="memname">
24026 <tr>
24027 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqmulq_qs8 </td>
24028 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024029 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024030 <td class="paramname"><em>a</em>, </td>
24031 </tr>
24032 <tr>
24033 <td class="paramkey"></td>
24034 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010024035 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024036 <td class="paramname"><em>b</em>, </td>
24037 </tr>
24038 <tr>
24039 <td class="paramkey"></td>
24040 <td></td>
24041 <td class="paramtype">int&#160;</td>
24042 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24043 </tr>
24044 <tr>
24045 <td></td>
24046 <td>)</td>
24047 <td></td><td></td>
24048 </tr>
24049 </table>
24050 </td>
24051 <td class="mlabels-right">
24052<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24053 </tr>
24054</table>
24055</div><div class="memdoc">
24056
24057<p>8 bit fixed point vector saturating multiply (16 elements) </p>
24058<dl class="params"><dt>Parameters</dt><dd>
24059 <table class="params">
24060 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
24061 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector </td></tr>
24062 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24063 </table>
24064 </dd>
24065</dl>
24066<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiplication. The result is saturated in case of overflow </dd></dl>
24067
Kaizenbf8b01d2017-10-12 14:26:51 +010024068<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">587</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024069
Kaizenbf8b01d2017-10-12 14:26:51 +010024070<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01870">vqinvsqrtq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01978">vqpowq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01238">vqrecipq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01411">vqtaylor_polyq_qs8()</a>.</p>
24071<div class="fragment"><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;{</div>
24072<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
24073<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;</div>
24074<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
24075<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res0 = vdupq_n_s16(1 &lt;&lt; (fixed_point_position - 1));</div>
24076<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res1 = res0;</div>
24077<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;</div>
24078<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="comment">// Vector multiply-accumulate long</span></div>
24079<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; res0 = vmlal_s8(res0, vget_low_s8(a), vget_low_s8(b));</div>
24080<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; res1 = vmlal_s8(res1, vget_high_s8(a), vget_high_s8(b));</div>
24081<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;</div>
24082<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="comment">// Shift right by fixed_point_position</span></div>
24083<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; res0 = vqshlq_s16(res0, fixed_point_position_s16);</div>
24084<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; res1 = vqshlq_s16(res1, fixed_point_position_s16);</div>
24085<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;</div>
24086<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="comment">// Convert back to qint8 and saturate</span></div>
24087<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">return</span> vcombine_s8(vqmovn_s16(res0), vqmovn_s16(res1));</div>
24088<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010024089<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024090</div><!-- fragment -->
24091</div>
24092</div>
Kaizen8938bd32017-09-28 14:38:23 +010024093<a class="anchor" id="ad705110ee89e7d32c319671b9b92e0ba"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024094<div class="memitem">
24095<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010024096<table class="mlabels">
24097 <tr>
24098 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010024099 <table class="memname">
24100 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010024101 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqpowq_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024102 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024103 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024104 <td class="paramname"><em>a</em>, </td>
24105 </tr>
24106 <tr>
24107 <td class="paramkey"></td>
24108 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010024109 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024110 <td class="paramname"><em>b</em>, </td>
24111 </tr>
24112 <tr>
24113 <td class="paramkey"></td>
24114 <td></td>
24115 <td class="paramtype">int&#160;</td>
24116 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24117 </tr>
24118 <tr>
24119 <td></td>
24120 <td>)</td>
24121 <td></td><td></td>
24122 </tr>
24123 </table>
Kaizen8938bd32017-09-28 14:38:23 +010024124 </td>
24125 <td class="mlabels-right">
24126<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24127 </tr>
24128</table>
24129</div><div class="memdoc">
24130
24131<p>Calculate saturating n power for fixed point 16bit (8 elements). </p>
24132<p>pow(a,b) = e^(b*log(a))</p>
24133<dl class="params"><dt>Parameters</dt><dd>
24134 <table class="params">
24135 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16bit fixed point input vector </td></tr>
24136 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16bit fixed point power vector </td></tr>
24137 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24138 </table>
24139 </dd>
24140</dl>
24141<dl class="section return"><dt>Returns</dt><dd>The result of the 16bit power. </dd></dl>
24142
Kaizenbf8b01d2017-10-12 14:26:51 +010024143<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01983">1983</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024144
Kaizenbf8b01d2017-10-12 14:26:51 +010024145<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01663">vlogq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
24146<div class="fragment"><div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;{</div>
24147<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(b, <a class="code" href="namespacearm__compute.xhtml#a756ac701185cfc4924443db164fd65ae">vlogq_qs16</a>(a, fixed_point_position), fixed_point_position), fixed_point_position);</div>
24148<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;}</div>
24149<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
24150<div class="ttc" id="namespacearm__compute_xhtml_a5b5e085002cf5a69fb80e6991d0a4556"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">arm_compute::vqexpq_qs16</a></div><div class="ttdeci">qint16x8_t vqexpq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 16 bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01520">NEFixedPoint.inl:1520</a></div></div>
24151<div class="ttc" id="namespacearm__compute_xhtml_a756ac701185cfc4924443db164fd65ae"><div class="ttname"><a href="namespacearm__compute.xhtml#a756ac701185cfc4924443db164fd65ae">arm_compute::vlogq_qs16</a></div><div class="ttdeci">qint16x8_t vlogq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate logarithm fixed point 16 bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01663">NEFixedPoint.inl:1663</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024152</div><!-- fragment -->
24153</div>
24154</div>
24155<a class="anchor" id="aa0061a2146587eea4a393ff14232d8fe"></a>
24156<div class="memitem">
24157<div class="memproto">
24158<table class="mlabels">
24159 <tr>
24160 <td class="mlabels-left">
24161 <table class="memname">
24162 <tr>
24163 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqpowq_qs8 </td>
24164 <td>(</td>
24165 <td class="paramtype">qint8x16_t&#160;</td>
24166 <td class="paramname"><em>a</em>, </td>
24167 </tr>
24168 <tr>
24169 <td class="paramkey"></td>
24170 <td></td>
24171 <td class="paramtype">qint8x16_t&#160;</td>
24172 <td class="paramname"><em>b</em>, </td>
24173 </tr>
24174 <tr>
24175 <td class="paramkey"></td>
24176 <td></td>
24177 <td class="paramtype">int&#160;</td>
24178 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24179 </tr>
24180 <tr>
24181 <td></td>
24182 <td>)</td>
24183 <td></td><td></td>
24184 </tr>
24185 </table>
24186 </td>
24187 <td class="mlabels-right">
24188<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24189 </tr>
24190</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024191</div><div class="memdoc">
24192
24193<p>Calculate saturating n power for fixed point 8bit (16 elements). </p>
24194<p>pow(a,b) = e^(b*log(a))</p>
24195<dl class="params"><dt>Parameters</dt><dd>
24196 <table class="params">
24197 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24198 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8bit fixed point power vector </td></tr>
24199 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24200 </table>
24201 </dd>
24202</dl>
24203<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit power. </dd></dl>
24204
Kaizenbf8b01d2017-10-12 14:26:51 +010024205<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01978">1978</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024206
Kaizenbf8b01d2017-10-12 14:26:51 +010024207<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01624">vlogq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>.</p>
24208<div class="fragment"><div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160;{</div>
24209<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(b, <a class="code" href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">vlogq_qs8</a>(a, fixed_point_position), fixed_point_position), fixed_point_position);</div>
24210<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160;}</div>
24211<div class="ttc" id="namespacearm__compute_xhtml_a340b9cd5ad88f1a821498c6fad80e82c"><div class="ttname"><a href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">arm_compute::vlogq_qs8</a></div><div class="ttdeci">qint8x16_t vlogq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate logarithm fixed point 16bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01624">NEFixedPoint.inl:1624</a></div></div>
24212<div class="ttc" id="namespacearm__compute_xhtml_ae6cf1822b8fbad305677650a2b751247"><div class="ttname"><a href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">arm_compute::vqexpq_qs8</a></div><div class="ttdeci">qint8x16_t vqexpq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 8bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01494">NEFixedPoint.inl:1494</a></div></div>
24213<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024214</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010024215</div>
24216</div>
Kaizen8938bd32017-09-28 14:38:23 +010024217<a class="anchor" id="ada5b8019889d6b38b3cb64ccdd3731ca"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024218<div class="memitem">
24219<div class="memproto">
24220<table class="mlabels">
24221 <tr>
24222 <td class="mlabels-left">
24223 <table class="memname">
24224 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010024225 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqrecip_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024226 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024227 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024228 <td class="paramname"><em>a</em>, </td>
24229 </tr>
24230 <tr>
24231 <td class="paramkey"></td>
24232 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024233 <td class="paramtype">int&#160;</td>
24234 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24235 </tr>
24236 <tr>
24237 <td></td>
24238 <td>)</td>
24239 <td></td><td></td>
24240 </tr>
24241 </table>
24242 </td>
24243 <td class="mlabels-right">
24244<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24245 </tr>
24246</table>
24247</div><div class="memdoc">
24248
Kaizenbf8b01d2017-10-12 14:26:51 +010024249<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01156">1156</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024250
Kaizenbf8b01d2017-10-12 14:26:51 +010024251<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024252
Kaizenbf8b01d2017-10-12 14:26:51 +010024253<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>.</p>
24254<div class="fragment"><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;{</div>
24255<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
24256<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_48_over_17 = vdup_n_s16(0x5A5A &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
24257<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_32_over_17 = vdup_n_s16(0x3C3C &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
24258<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
24259<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 &lt;&lt; fixed_point_position);</div>
24260<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;</div>
24261<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; <span class="comment">// Find shift value</span></div>
24262<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vqneg_s16(vqsub_s16(vdup_n_s16(8), vqadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
24263<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vqshl_s16(a, shift_value);</div>
24264<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;</div>
24265<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
24266<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = vqsub_s16(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
24267<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;</div>
24268<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; uint16x4_t set_one = vcgt_s16(x, const_one);</div>
24269<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; x = vbsl_s16(set_one, const_one, x);</div>
24270<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;</div>
24271<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160; <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010024272<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24273<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24274<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024275<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24276<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;</div>
24277<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; <span class="keywordflow">return</span> vqshl_s16(x, shift_value);</div>
24278<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;}</div>
24279<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024280<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
24281</div><!-- fragment -->
24282</div>
24283</div>
24284<a class="anchor" id="a3e6537037711264ed5e8f33c8564c325"></a>
24285<div class="memitem">
24286<div class="memproto">
24287<table class="mlabels">
24288 <tr>
24289 <td class="mlabels-left">
24290 <table class="memname">
24291 <tr>
24292 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqrecip_qs8 </td>
24293 <td>(</td>
24294 <td class="paramtype">qint8x8_t&#160;</td>
24295 <td class="paramname"><em>a</em>, </td>
24296 </tr>
24297 <tr>
24298 <td class="paramkey"></td>
24299 <td></td>
24300 <td class="paramtype">int&#160;</td>
24301 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24302 </tr>
24303 <tr>
24304 <td></td>
24305 <td>)</td>
24306 <td></td><td></td>
24307 </tr>
24308 </table>
24309 </td>
24310 <td class="mlabels-right">
24311<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24312 </tr>
24313</table>
24314</div><div class="memdoc">
24315
Kaizenbf8b01d2017-10-12 14:26:51 +010024316<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01130">1130</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024317
Kaizenbf8b01d2017-10-12 14:26:51 +010024318<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024319
Kaizenbf8b01d2017-10-12 14:26:51 +010024320<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>.</p>
24321<div class="fragment"><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;{</div>
24322<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
24323<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_48_over_17 = vdup_n_s8(0x5A &gt;&gt; (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
24324<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_32_over_17 = vdup_n_s8((0x3C &gt;&gt; (5 - fixed_point_position))); <span class="comment">// 1.8823</span></div>
24325<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
24326<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 &lt;&lt; fixed_point_position);</div>
24327<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;</div>
24328<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; <span class="comment">// Find shift value</span></div>
24329<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vqneg_s8(vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
24330<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vqshl_s8(a, shift_value);</div>
24331<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;</div>
24332<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
24333<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = vqsub_s8(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
24334<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;</div>
24335<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; uint8x8_t set_one = vcgt_s8(x, const_one);</div>
24336<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; x = vbsl_s8(set_one, const_one, x);</div>
24337<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;</div>
24338<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010024339<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24340<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024341<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24342<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;</div>
24343<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; <span class="keywordflow">return</span> vqshl_s8(x, shift_value);</div>
24344<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;}</div>
24345<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024346<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
24347</div><!-- fragment -->
24348</div>
24349</div>
24350<a class="anchor" id="a6a368d809128ff6bce989cda02c536d8"></a>
24351<div class="memitem">
24352<div class="memproto">
24353<table class="mlabels">
24354 <tr>
24355 <td class="mlabels-left">
24356 <table class="memname">
24357 <tr>
24358 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqrecipq_qs16 </td>
24359 <td>(</td>
24360 <td class="paramtype">qint16x8_t&#160;</td>
24361 <td class="paramname"><em>a</em>, </td>
24362 </tr>
24363 <tr>
24364 <td class="paramkey"></td>
24365 <td></td>
24366 <td class="paramtype">int&#160;</td>
24367 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24368 </tr>
24369 <tr>
24370 <td></td>
24371 <td>)</td>
24372 <td></td><td></td>
24373 </tr>
24374 </table>
24375 </td>
24376 <td class="mlabels-right">
24377<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24378 </tr>
24379</table>
24380</div><div class="memdoc">
24381
Kaizenbf8b01d2017-10-12 14:26:51 +010024382<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01265">1265</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024383
Kaizenbf8b01d2017-10-12 14:26:51 +010024384<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00474">vqsubq_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024385
Kaizenbf8b01d2017-10-12 14:26:51 +010024386<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01663">vlogq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>.</p>
24387<div class="fragment"><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;{</div>
24388<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
24389<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_48_over_17 = vdupq_n_s16(0x5A56 &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
24390<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_32_over_17 = vdupq_n_s16(0x3C3C &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
24391<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
24392<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 &lt;&lt; fixed_point_position);</div>
24393<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;</div>
24394<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; <span class="comment">// Find shift value</span></div>
24395<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vqnegq_s16(vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
24396<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqshlq_s16(a, shift_value);</div>
24397<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;</div>
24398<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
24399<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
24400<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;</div>
24401<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; <span class="comment">// Set initial guess to one if x &gt; 1</span></div>
24402<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; uint16x8_t set_one = vcgtq_s16(x, const_one);</div>
24403<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; x = vbslq_s16(set_one, const_one, x);</div>
24404<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;</div>
24405<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010024406<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24407<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24408<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024409<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24410<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;</div>
24411<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; <span class="comment">// Saturate result in case of overflow</span></div>
24412<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; <span class="keywordflow">return</span> vbslq_s16(vceqq_s16(a, vdupq_n_s16(0)), vdupq_n_s16(<a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits&lt;int16_t&gt;::max</a>()), vqshlq_s16(x, shift_value));</div>
24413<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;}</div>
24414<div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00474">NEFixedPoint.inl:474</a></div></div>
24415<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024416<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
24417<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point&lt; T &gt; max(fixed_point&lt; T &gt; x, fixed_point&lt; T &gt; y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024418</div><!-- fragment -->
24419</div>
24420</div>
24421<a class="anchor" id="a3dd4382391c752128ab7b3a6dd68314b"></a>
24422<div class="memitem">
24423<div class="memproto">
24424<table class="mlabels">
24425 <tr>
24426 <td class="mlabels-left">
24427 <table class="memname">
24428 <tr>
24429 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqrecipq_qs8 </td>
24430 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024431 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024432 <td class="paramname"><em>a</em>, </td>
24433 </tr>
24434 <tr>
24435 <td class="paramkey"></td>
24436 <td></td>
24437 <td class="paramtype">int&#160;</td>
24438 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24439 </tr>
24440 <tr>
24441 <td></td>
24442 <td>)</td>
24443 <td></td><td></td>
24444 </tr>
24445 </table>
24446 </td>
24447 <td class="mlabels-right">
24448<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24449 </tr>
24450</table>
24451</div><div class="memdoc">
24452
Kaizenbf8b01d2017-10-12 14:26:51 +010024453<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01238">1238</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024454
Kaizenbf8b01d2017-10-12 14:26:51 +010024455<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00469">vqsubq_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024456
Kaizenbf8b01d2017-10-12 14:26:51 +010024457<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>.</p>
24458<div class="fragment"><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;{</div>
24459<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
24460<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_48_over_17 = vdupq_n_s8(0x5A &gt;&gt; (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
24461<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_32_over_17 = vdupq_n_s8((0x3C &gt;&gt; (5 - fixed_point_position))); <span class="comment">// -1.8823</span></div>
24462<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
24463<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 &lt;&lt; fixed_point_position);</div>
24464<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;</div>
24465<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160; <span class="comment">// Find shift value</span></div>
24466<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vqnegq_s8(vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
24467<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vqshlq_s8(a, shift_value);</div>
24468<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;</div>
24469<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
24470<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = <a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
24471<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;</div>
24472<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; <span class="comment">// Set initial guess to one if x &gt; 1</span></div>
24473<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; uint8x16_t set_one = vcgtq_s8(x, const_one);</div>
24474<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160; x = vbslq_s8(set_one, const_one, x);</div>
24475<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;</div>
24476<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010024477<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24478<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024479<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
24480<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;</div>
24481<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; <span class="keywordflow">return</span> vqshlq_s8(x, shift_value);</div>
24482<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010024483<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024484<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
24485<div class="ttc" id="namespacearm__compute_xhtml_ab2a6ce3d8239e49c81af1ebc617680b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">arm_compute::vqsubq_qs8</a></div><div class="ttdeci">qint8x16_t vqsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00469">NEFixedPoint.inl:469</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024486</div><!-- fragment -->
24487</div>
24488</div>
24489<a class="anchor" id="a73a131b9775ce771a1a25607a83b0ca9"></a>
24490<div class="memitem">
24491<div class="memproto">
24492<table class="mlabels">
24493 <tr>
24494 <td class="mlabels-left">
24495 <table class="memname">
24496 <tr>
24497 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqsub_qs16 </td>
24498 <td>(</td>
24499 <td class="paramtype">qint16x4_t&#160;</td>
24500 <td class="paramname"><em>a</em>, </td>
24501 </tr>
24502 <tr>
24503 <td class="paramkey"></td>
24504 <td></td>
24505 <td class="paramtype">qint16x4_t&#160;</td>
24506 <td class="paramname"><em>b</em>&#160;</td>
24507 </tr>
24508 <tr>
24509 <td></td>
24510 <td>)</td>
24511 <td></td><td></td>
24512 </tr>
24513 </table>
24514 </td>
24515 <td class="mlabels-right">
24516<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24517 </tr>
24518</table>
24519</div><div class="memdoc">
24520
24521<p>16 bit fixed point vector saturating subtraction (4 elements) </p>
24522<dl class="params"><dt>Parameters</dt><dd>
24523 <table class="params">
24524 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
24525 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
24526 </table>
24527 </dd>
24528</dl>
24529<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
24530
Kaizenbf8b01d2017-10-12 14:26:51 +010024531<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00464">464</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024532
Kaizenbf8b01d2017-10-12 14:26:51 +010024533<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>.</p>
24534<div class="fragment"><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;{</div>
24535<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">return</span> vqsub_s16(a, b);</div>
24536<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;}</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024537</div><!-- fragment -->
24538</div>
24539</div>
24540<a class="anchor" id="a5b1437029acce06690a938e09f5a762a"></a>
24541<div class="memitem">
24542<div class="memproto">
24543<table class="mlabels">
24544 <tr>
24545 <td class="mlabels-left">
24546 <table class="memname">
24547 <tr>
24548 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqsub_qs8 </td>
24549 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024550 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024551 <td class="paramname"><em>a</em>, </td>
24552 </tr>
24553 <tr>
24554 <td class="paramkey"></td>
24555 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010024556 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024557 <td class="paramname"><em>b</em>&#160;</td>
24558 </tr>
24559 <tr>
24560 <td></td>
24561 <td>)</td>
24562 <td></td><td></td>
24563 </tr>
24564 </table>
24565 </td>
24566 <td class="mlabels-right">
24567<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24568 </tr>
24569</table>
24570</div><div class="memdoc">
24571
24572<p>8 bit fixed point vector saturating subtraction (8 elements) </p>
24573<dl class="params"><dt>Parameters</dt><dd>
24574 <table class="params">
24575 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
24576 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
24577 </table>
24578 </dd>
24579</dl>
24580<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
24581
Kaizenbf8b01d2017-10-12 14:26:51 +010024582<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00459">459</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024583
Kaizenbf8b01d2017-10-12 14:26:51 +010024584<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>.</p>
24585<div class="fragment"><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;{</div>
24586<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> vqsub_s8(a, b);</div>
24587<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010024588</div><!-- fragment -->
24589</div>
24590</div>
24591<a class="anchor" id="a9edb31327a1e06c730d5a09b14dcfeb9"></a>
24592<div class="memitem">
24593<div class="memproto">
24594<table class="mlabels">
24595 <tr>
24596 <td class="mlabels-left">
24597 <table class="memname">
24598 <tr>
24599 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqsubq_qs16 </td>
24600 <td>(</td>
24601 <td class="paramtype">qint16x8_t&#160;</td>
24602 <td class="paramname"><em>a</em>, </td>
24603 </tr>
24604 <tr>
24605 <td class="paramkey"></td>
24606 <td></td>
24607 <td class="paramtype">qint16x8_t&#160;</td>
24608 <td class="paramname"><em>b</em>&#160;</td>
24609 </tr>
24610 <tr>
24611 <td></td>
24612 <td>)</td>
24613 <td></td><td></td>
24614 </tr>
24615 </table>
24616 </td>
24617 <td class="mlabels-right">
24618<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24619 </tr>
24620</table>
24621</div><div class="memdoc">
24622
24623<p>16 bit fixed point vector saturating subtraction (8 elements) </p>
24624<dl class="params"><dt>Parameters</dt><dd>
24625 <table class="params">
24626 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
24627 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
24628 </table>
24629 </dd>
24630</dl>
24631<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
24632
Kaizenbf8b01d2017-10-12 14:26:51 +010024633<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00474">474</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024634
Kaizenbf8b01d2017-10-12 14:26:51 +010024635<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01265">vqrecipq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>.</p>
24636<div class="fragment"><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;{</div>
24637<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> vqsubq_s16(a, b);</div>
24638<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010024639</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010024640</div>
24641</div>
24642<a class="anchor" id="ab2a6ce3d8239e49c81af1ebc617680b4"></a>
24643<div class="memitem">
24644<div class="memproto">
24645<table class="mlabels">
24646 <tr>
24647 <td class="mlabels-left">
24648 <table class="memname">
24649 <tr>
24650 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqsubq_qs8 </td>
24651 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024652 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024653 <td class="paramname"><em>a</em>, </td>
24654 </tr>
24655 <tr>
24656 <td class="paramkey"></td>
24657 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010024658 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024659 <td class="paramname"><em>b</em>&#160;</td>
24660 </tr>
24661 <tr>
24662 <td></td>
24663 <td>)</td>
24664 <td></td><td></td>
24665 </tr>
24666 </table>
24667 </td>
24668 <td class="mlabels-right">
24669<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24670 </tr>
24671</table>
24672</div><div class="memdoc">
24673
24674<p>8 bit fixed point vector saturating subtraction (16 elements) </p>
24675<dl class="params"><dt>Parameters</dt><dd>
24676 <table class="params">
24677 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
24678 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
24679 </table>
24680 </dd>
24681</dl>
24682<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction. The result is saturated in case of overflow </dd></dl>
24683
Kaizenbf8b01d2017-10-12 14:26:51 +010024684<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00469">469</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024685
Kaizenbf8b01d2017-10-12 14:26:51 +010024686<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01238">vqrecipq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>.</p>
24687<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;{</div>
24688<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">return</span> vqsubq_s8(a, b);</div>
24689<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010024690</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010024691</div>
24692</div>
Kaizen8938bd32017-09-28 14:38:23 +010024693<a class="anchor" id="a81b5a6029b604d0a1daf4d4ac63a56c8"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024694<div class="memitem">
24695<div class="memproto">
24696<table class="mlabels">
24697 <tr>
24698 <td class="mlabels-left">
24699 <table class="memname">
24700 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010024701 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqtanh_qs16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024702 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010024703 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024704 <td class="paramname"><em>a</em>, </td>
24705 </tr>
24706 <tr>
24707 <td class="paramkey"></td>
24708 <td></td>
24709 <td class="paramtype">int&#160;</td>
24710 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24711 </tr>
24712 <tr>
24713 <td></td>
24714 <td>)</td>
24715 <td></td><td></td>
24716 </tr>
24717 </table>
24718 </td>
24719 <td class="mlabels-right">
24720<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24721 </tr>
24722</table>
24723</div><div class="memdoc">
24724
Kaizen8938bd32017-09-28 14:38:23 +010024725<p>Calculate hyperbolic tangent for fixed point 16 bit (4 elements) </p>
24726<dl class="params"><dt>Parameters</dt><dd>
24727 <table class="params">
24728 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
24729 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24730 </table>
24731 </dd>
24732</dl>
24733<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024734
Kaizenbf8b01d2017-10-12 14:26:51 +010024735<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">1939</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024736
Kaizenbf8b01d2017-10-12 14:26:51 +010024737<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00409">vqadd_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01468">vqexp_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01156">vqrecip_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00464">vqsub_qs16()</a>.</p>
24738<div class="fragment"><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;{</div>
24739<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
24740<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 &lt;&lt; fixed_point_position);</div>
24741<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;</div>
24742<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#aa3c9489e850081532442f4da59515852">vqexp_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
24743<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a73a131b9775ce771a1a25607a83b0ca9">vqsub_qs16</a>(exp2x, const_one);</div>
24744<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> den = <a class="code" href="namespacearm__compute.xhtml#ad80ab0f6b783c10e0488cb84a8812e8f">vqadd_qs16</a>(exp2x, const_one);</div>
24745<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(num, <a class="code" href="namespacearm__compute.xhtml#ada5b8019889d6b38b3cb64ccdd3731ca">vqrecip_qs16</a>(den, fixed_point_position), fixed_point_position);</div>
24746<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;</div>
24747<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
24748<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;}</div>
24749<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
24750<div class="ttc" id="namespacearm__compute_xhtml_a73a131b9775ce771a1a25607a83b0ca9"><div class="ttname"><a href="namespacearm__compute.xhtml#a73a131b9775ce771a1a25607a83b0ca9">arm_compute::vqsub_qs16</a></div><div class="ttdeci">qint16x4_t vqsub_qs16(qint16x4_t a, qint16x4_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00464">NEFixedPoint.inl:464</a></div></div>
24751<div class="ttc" id="namespacearm__compute_xhtml_ad80ab0f6b783c10e0488cb84a8812e8f"><div class="ttname"><a href="namespacearm__compute.xhtml#ad80ab0f6b783c10e0488cb84a8812e8f">arm_compute::vqadd_qs16</a></div><div class="ttdeci">qint16x4_t vqadd_qs16(qint16x4_t a, qint16x4_t b)</div><div class="ttdoc">16 bit fixed point vector saturating add (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00409">NEFixedPoint.inl:409</a></div></div>
24752<div class="ttc" id="namespacearm__compute_xhtml_aa3c9489e850081532442f4da59515852"><div class="ttname"><a href="namespacearm__compute.xhtml#aa3c9489e850081532442f4da59515852">arm_compute::vqexp_qs16</a></div><div class="ttdeci">qint16x4_t vqexp_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 16 bit (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01468">NEFixedPoint.inl:1468</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024753<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024754<div class="ttc" id="namespacearm__compute_xhtml_ada5b8019889d6b38b3cb64ccdd3731ca"><div class="ttname"><a href="namespacearm__compute.xhtml#ada5b8019889d6b38b3cb64ccdd3731ca">arm_compute::vqrecip_qs16</a></div><div class="ttdeci">qint16x4_t vqrecip_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01156">NEFixedPoint.inl:1156</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024755<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
24756</div><!-- fragment -->
24757</div>
24758</div>
24759<a class="anchor" id="a2b97d40b6d61e8453d755711fed30a38"></a>
24760<div class="memitem">
24761<div class="memproto">
24762<table class="mlabels">
24763 <tr>
24764 <td class="mlabels-left">
24765 <table class="memname">
24766 <tr>
24767 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqtanh_qs8 </td>
24768 <td>(</td>
24769 <td class="paramtype">qint8x8_t&#160;</td>
24770 <td class="paramname"><em>a</em>, </td>
24771 </tr>
24772 <tr>
24773 <td class="paramkey"></td>
24774 <td></td>
24775 <td class="paramtype">int&#160;</td>
24776 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24777 </tr>
24778 <tr>
24779 <td></td>
24780 <td>)</td>
24781 <td></td><td></td>
24782 </tr>
24783 </table>
24784 </td>
24785 <td class="mlabels-right">
24786<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24787 </tr>
24788</table>
24789</div><div class="memdoc">
24790
24791<p>Calculate hyperbolic tangent for fixed point 8bit (8 elements) </p>
24792<dl class="params"><dt>Parameters</dt><dd>
24793 <table class="params">
24794 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24795 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24796 </table>
24797 </dd>
24798</dl>
24799<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
24800
Kaizenbf8b01d2017-10-12 14:26:51 +010024801<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">1926</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024802
Kaizenbf8b01d2017-10-12 14:26:51 +010024803<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00404">vqadd_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01442">vqexp_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01130">vqrecip_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00459">vqsub_qs8()</a>.</p>
24804<div class="fragment"><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;{</div>
24805<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
24806<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 &lt;&lt; fixed_point_position);</div>
24807<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;</div>
24808<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#a635b41196d74b1f2c4d9ee9298444796">vqexp_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
24809<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a5b1437029acce06690a938e09f5a762a">vqsub_qs8</a>(exp2x, const_one);</div>
24810<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a8a14fe5fc71105c9bfebb28a58f06a52">vqadd_qs8</a>(exp2x, const_one);</div>
24811<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(num, <a class="code" href="namespacearm__compute.xhtml#a3e6537037711264ed5e8f33c8564c325">vqrecip_qs8</a>(den, fixed_point_position), fixed_point_position);</div>
24812<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;</div>
24813<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
24814<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;}</div>
24815<div class="ttc" id="namespacearm__compute_xhtml_a5b1437029acce06690a938e09f5a762a"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b1437029acce06690a938e09f5a762a">arm_compute::vqsub_qs8</a></div><div class="ttdeci">qint8x8_t vqsub_qs8(qint8x8_t a, qint8x8_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00459">NEFixedPoint.inl:459</a></div></div>
24816<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
24817<div class="ttc" id="namespacearm__compute_xhtml_a3e6537037711264ed5e8f33c8564c325"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6537037711264ed5e8f33c8564c325">arm_compute::vqrecip_qs8</a></div><div class="ttdeci">qint8x8_t vqrecip_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01130">NEFixedPoint.inl:1130</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010024818<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024819<div class="ttc" id="namespacearm__compute_xhtml_a8a14fe5fc71105c9bfebb28a58f06a52"><div class="ttname"><a href="namespacearm__compute.xhtml#a8a14fe5fc71105c9bfebb28a58f06a52">arm_compute::vqadd_qs8</a></div><div class="ttdeci">qint8x8_t vqadd_qs8(qint8x8_t a, qint8x8_t b)</div><div class="ttdoc">8 bit fixed point vector saturating add (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00404">NEFixedPoint.inl:404</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024820<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024821<div class="ttc" id="namespacearm__compute_xhtml_a635b41196d74b1f2c4d9ee9298444796"><div class="ttname"><a href="namespacearm__compute.xhtml#a635b41196d74b1f2c4d9ee9298444796">arm_compute::vqexp_qs8</a></div><div class="ttdeci">qint8x8_t vqexp_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 8bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01442">NEFixedPoint.inl:1442</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024822</div><!-- fragment -->
24823</div>
24824</div>
24825<a class="anchor" id="ab9f9b779eb9bb6ecb730548a1e87da65"></a>
24826<div class="memitem">
24827<div class="memproto">
24828<table class="mlabels">
24829 <tr>
24830 <td class="mlabels-left">
24831 <table class="memname">
24832 <tr>
24833 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqtanhq_qs16 </td>
24834 <td>(</td>
24835 <td class="paramtype">qint16x8_t&#160;</td>
24836 <td class="paramname"><em>a</em>, </td>
24837 </tr>
24838 <tr>
24839 <td class="paramkey"></td>
24840 <td></td>
24841 <td class="paramtype">int&#160;</td>
24842 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24843 </tr>
24844 <tr>
24845 <td></td>
24846 <td>)</td>
24847 <td></td><td></td>
24848 </tr>
24849 </table>
24850 </td>
24851 <td class="mlabels-right">
24852<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24853 </tr>
24854</table>
24855</div><div class="memdoc">
24856
24857<p>Calculate hyperbolic tangent for fixed point 16bit (8 elements) </p>
24858<dl class="params"><dt>Parameters</dt><dd>
24859 <table class="params">
24860 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
24861 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24862 </table>
24863 </dd>
24864</dl>
24865<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
24866
Kaizenbf8b01d2017-10-12 14:26:51 +010024867<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">1965</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024868
Kaizenbf8b01d2017-10-12 14:26:51 +010024869<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00424">vqaddq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01265">vqrecipq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00474">vqsubq_qs16()</a>.</p>
24870<div class="fragment"><div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;{</div>
24871<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
24872<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 &lt;&lt; fixed_point_position);</div>
24873<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;</div>
24874<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
24875<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(exp2x, const_one);</div>
24876<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a9d88750b393cdfe6f5685107bb1d98f7">vqaddq_qs16</a>(exp2x, const_one);</div>
24877<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(num, <a class="code" href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a>(den, fixed_point_position), fixed_point_position);</div>
24878<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;</div>
24879<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
24880<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;}</div>
24881<div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00474">NEFixedPoint.inl:474</a></div></div>
24882<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
24883<div class="ttc" id="namespacearm__compute_xhtml_a6a368d809128ff6bce989cda02c536d8"><div class="ttname"><a href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">arm_compute::vqrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vqrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01265">NEFixedPoint.inl:1265</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024884<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024885<div class="ttc" id="namespacearm__compute_xhtml_a5b5e085002cf5a69fb80e6991d0a4556"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">arm_compute::vqexpq_qs16</a></div><div class="ttdeci">qint16x8_t vqexpq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 16 bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01520">NEFixedPoint.inl:1520</a></div></div>
24886<div class="ttc" id="namespacearm__compute_xhtml_a9d88750b393cdfe6f5685107bb1d98f7"><div class="ttname"><a href="namespacearm__compute.xhtml#a9d88750b393cdfe6f5685107bb1d98f7">arm_compute::vqaddq_qs16</a></div><div class="ttdeci">qint16x8_t vqaddq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating add (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00424">NEFixedPoint.inl:424</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024887<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
24888</div><!-- fragment -->
24889</div>
24890</div>
24891<a class="anchor" id="a81ea8bde4e35ce63e8e10708bae0caea"></a>
24892<div class="memitem">
24893<div class="memproto">
24894<table class="mlabels">
24895 <tr>
24896 <td class="mlabels-left">
24897 <table class="memname">
24898 <tr>
24899 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqtanhq_qs8 </td>
24900 <td>(</td>
24901 <td class="paramtype">qint8x16_t&#160;</td>
24902 <td class="paramname"><em>a</em>, </td>
24903 </tr>
24904 <tr>
24905 <td class="paramkey"></td>
24906 <td></td>
24907 <td class="paramtype">int&#160;</td>
24908 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24909 </tr>
24910 <tr>
24911 <td></td>
24912 <td>)</td>
24913 <td></td><td></td>
24914 </tr>
24915 </table>
24916 </td>
24917 <td class="mlabels-right">
24918<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24919 </tr>
24920</table>
24921</div><div class="memdoc">
24922
24923<p>Calculate hyperbolic tangent for fixed point 8bit (16 elements) </p>
24924<dl class="params"><dt>Parameters</dt><dd>
24925 <table class="params">
24926 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
24927 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
24928 </table>
24929 </dd>
24930</dl>
24931<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
24932
Kaizenbf8b01d2017-10-12 14:26:51 +010024933<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">1952</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024934
Kaizenbf8b01d2017-10-12 14:26:51 +010024935<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00419">vqaddq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01238">vqrecipq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00469">vqsubq_qs8()</a>.</p>
24936<div class="fragment"><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;{</div>
24937<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
24938<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 &lt;&lt; fixed_point_position);</div>
24939<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;</div>
24940<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
24941<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> num = <a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(exp2x, const_one);</div>
24942<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a9765c5ee2d3cc9e3ca983fd2f47ba916">vqaddq_qs8</a>(exp2x, const_one);</div>
24943<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(num, <a class="code" href="namespacearm__compute.xhtml#a3dd4382391c752128ab7b3a6dd68314b">vqrecipq_qs8</a>(den, fixed_point_position), fixed_point_position);</div>
24944<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;</div>
24945<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
24946<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010024947<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024948<div class="ttc" id="namespacearm__compute_xhtml_a9765c5ee2d3cc9e3ca983fd2f47ba916"><div class="ttname"><a href="namespacearm__compute.xhtml#a9765c5ee2d3cc9e3ca983fd2f47ba916">arm_compute::vqaddq_qs8</a></div><div class="ttdeci">qint8x16_t vqaddq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating add (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00419">NEFixedPoint.inl:419</a></div></div>
24949<div class="ttc" id="namespacearm__compute_xhtml_ae6cf1822b8fbad305677650a2b751247"><div class="ttname"><a href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">arm_compute::vqexpq_qs8</a></div><div class="ttdeci">qint8x16_t vqexpq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 8bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01494">NEFixedPoint.inl:1494</a></div></div>
24950<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024951<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010024952<div class="ttc" id="namespacearm__compute_xhtml_ab2a6ce3d8239e49c81af1ebc617680b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">arm_compute::vqsubq_qs8</a></div><div class="ttdeci">qint8x16_t vqsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00469">NEFixedPoint.inl:469</a></div></div>
24953<div class="ttc" id="namespacearm__compute_xhtml_a3dd4382391c752128ab7b3a6dd68314b"><div class="ttname"><a href="namespacearm__compute.xhtml#a3dd4382391c752128ab7b3a6dd68314b">arm_compute::vqrecipq_qs8</a></div><div class="ttdeci">qint8x16_t vqrecipq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01238">NEFixedPoint.inl:1238</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010024954</div><!-- fragment -->
24955</div>
24956</div>
24957<a class="anchor" id="af39bcc812b6e450e92622e0f30b37d92"></a>
24958<div class="memitem">
24959<div class="memproto">
24960<table class="mlabels">
24961 <tr>
24962 <td class="mlabels-left">
24963 <table class="memname">
24964 <tr>
24965 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqtaylor_poly_qs16 </td>
24966 <td>(</td>
24967 <td class="paramtype">qint16x4_t&#160;</td>
24968 <td class="paramname"><em>a</em>, </td>
24969 </tr>
24970 <tr>
24971 <td class="paramkey"></td>
24972 <td></td>
24973 <td class="paramtype">int&#160;</td>
24974 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
24975 </tr>
24976 <tr>
24977 <td></td>
24978 <td>)</td>
24979 <td></td><td></td>
24980 </tr>
24981 </table>
24982 </td>
24983 <td class="mlabels-right">
24984<span class="mlabels"><span class="mlabel">inline</span></span> </td>
24985 </tr>
24986</table>
24987</div><div class="memdoc">
24988
Kaizenbf8b01d2017-10-12 14:26:51 +010024989<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01363">1363</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010024990
Kaizenbf8b01d2017-10-12 14:26:51 +010024991<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>.</p>
24992<div class="fragment"><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;{</div>
24993<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-(15 - fixed_point_position));</div>
24994<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1);</div>
24995<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshl_s16(islog ? log_tab_qs16[0] : exp_tab_qs16[0], islog ? vqadd_s16(shift_value, const_one) : shift_value);</div>
24996<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshl_s16(islog ? log_tab_qs16[1] : exp_tab_qs16[1], shift_value);</div>
24997<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> C = vqrshl_s16(islog ? log_tab_qs16[2] : exp_tab_qs16[2], shift_value);</div>
24998<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> D = vqrshl_s16(islog ? log_tab_qs16[3] : exp_tab_qs16[3], shift_value);</div>
24999<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x1 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, D, fixed_point_position), C);</div>
25000<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x2 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, x1, fixed_point_position), B);</div>
25001<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x3 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, x2, fixed_point_position), A);</div>
25002<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> res = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, x3, fixed_point_position);</div>
25003<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160; <span class="keywordflow">return</span> res;</div>
25004<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025005<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>
Kaizenbf8b01d2017-10-12 14:26:51 +010025006<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010025007<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>
25008<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
25009</div><!-- fragment -->
25010</div>
25011</div>
25012<a class="anchor" id="a3de0bc67f9a2ef3bcfe922e50c3b5ec9"></a>
25013<div class="memitem">
25014<div class="memproto">
25015<table class="mlabels">
25016 <tr>
25017 <td class="mlabels-left">
25018 <table class="memname">
25019 <tr>
25020 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqtaylor_poly_qs8 </td>
25021 <td>(</td>
25022 <td class="paramtype">qint8x8_t&#160;</td>
25023 <td class="paramname"><em>a</em>, </td>
25024 </tr>
25025 <tr>
25026 <td class="paramkey"></td>
25027 <td></td>
25028 <td class="paramtype">int&#160;</td>
25029 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25030 </tr>
25031 <tr>
25032 <td></td>
25033 <td>)</td>
25034 <td></td><td></td>
25035 </tr>
25036 </table>
25037 </td>
25038 <td class="mlabels-right">
25039<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25040 </tr>
25041</table>
25042</div><div class="memdoc">
25043
Kaizenbf8b01d2017-10-12 14:26:51 +010025044<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01347">1347</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010025045
Kaizenbf8b01d2017-10-12 14:26:51 +010025046<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>.</p>
25047<div class="fragment"><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;{</div>
25048<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-(7 - fixed_point_position));</div>
25049<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1);</div>
25050<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshl_s8(islog ? log_tab_qs8[0] : exp_tab_qs8[0], islog ? vqadd_s8(shift_value, const_one) : shift_value);</div>
25051<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshl_s8(islog ? log_tab_qs8[1] : exp_tab_qs8[1], shift_value);</div>
25052<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> C = vqrshl_s8(islog ? log_tab_qs8[2] : exp_tab_qs8[2], shift_value);</div>
25053<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> D = vqrshl_s8(islog ? log_tab_qs8[3] : exp_tab_qs8[3], shift_value);</div>
25054<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x1 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, D, fixed_point_position), C);</div>
25055<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x2 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, x1, fixed_point_position), B);</div>
25056<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x3 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, x2, fixed_point_position), A);</div>
25057<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, x3, fixed_point_position);</div>
25058<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; <span class="keywordflow">return</span> res;</div>
25059<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025060<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>
25061<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>
Kaizenbf8b01d2017-10-12 14:26:51 +010025062<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010025063<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
25064</div><!-- fragment -->
25065</div>
25066</div>
25067<a class="anchor" id="a080bc54b67bc7930ab173117baf1cd07"></a>
25068<div class="memitem">
25069<div class="memproto">
25070<table class="mlabels">
25071 <tr>
25072 <td class="mlabels-left">
25073 <table class="memname">
25074 <tr>
25075 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqtaylor_polyq_qs16 </td>
25076 <td>(</td>
25077 <td class="paramtype">qint16x8_t&#160;</td>
25078 <td class="paramname"><em>a</em>, </td>
25079 </tr>
25080 <tr>
25081 <td class="paramkey"></td>
25082 <td></td>
25083 <td class="paramtype">int&#160;</td>
25084 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25085 </tr>
25086 <tr>
25087 <td></td>
25088 <td>)</td>
25089 <td></td><td></td>
25090 </tr>
25091 </table>
25092 </td>
25093 <td class="mlabels-right">
25094<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25095 </tr>
25096</table>
25097</div><div class="memdoc">
25098
Kaizenbf8b01d2017-10-12 14:26:51 +010025099<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01427">1427</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010025100
Kaizenbf8b01d2017-10-12 14:26:51 +010025101<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
25102<div class="fragment"><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;{</div>
25103<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-(15 - fixed_point_position));</div>
25104<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1);</div>
25105<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshlq_s16(islog ? log_tabq_qs16[0] : exp_tabq_qs16[0], islog ? vqaddq_s16(shift_value, const_one) : shift_value);</div>
25106<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshlq_s16(islog ? log_tabq_qs16[1] : exp_tabq_qs16[1], shift_value);</div>
25107<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> C = vqrshlq_s16(islog ? log_tabq_qs16[2] : exp_tabq_qs16[2], shift_value);</div>
25108<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> D = vqrshlq_s16(islog ? log_tabq_qs16[3] : exp_tabq_qs16[3], shift_value);</div>
25109<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x1 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, D, fixed_point_position), C);</div>
25110<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x2 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, x1, fixed_point_position), B);</div>
25111<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x3 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, x2, fixed_point_position), A);</div>
25112<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, x3, fixed_point_position);</div>
25113<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; <span class="keywordflow">return</span> res;</div>
25114<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025115<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>
25116<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>
Kaizenbf8b01d2017-10-12 14:26:51 +010025117<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010025118<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025119</div><!-- fragment -->
25120</div>
25121</div>
25122<a class="anchor" id="aa754195778af2be8fd3c48192eb1e5b6"></a>
25123<div class="memitem">
25124<div class="memproto">
25125<table class="mlabels">
25126 <tr>
25127 <td class="mlabels-left">
25128 <table class="memname">
25129 <tr>
25130 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqtaylor_polyq_qs8 </td>
25131 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025132 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025133 <td class="paramname"><em>a</em>, </td>
25134 </tr>
25135 <tr>
25136 <td class="paramkey"></td>
25137 <td></td>
25138 <td class="paramtype">int&#160;</td>
25139 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25140 </tr>
25141 <tr>
25142 <td></td>
25143 <td>)</td>
25144 <td></td><td></td>
25145 </tr>
25146 </table>
25147 </td>
25148 <td class="mlabels-right">
25149<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25150 </tr>
25151</table>
25152</div><div class="memdoc">
25153
Kaizenbf8b01d2017-10-12 14:26:51 +010025154<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01411">1411</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025155
Kaizenbf8b01d2017-10-12 14:26:51 +010025156<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>.</p>
25157<div class="fragment"><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;{</div>
25158<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-(7 - fixed_point_position));</div>
25159<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1);</div>
25160<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshlq_s8(islog ? log_tabq_qs8[0] : exp_tabq_qs8[0], islog ? vqaddq_s8(shift_value, const_one) : shift_value);</div>
25161<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshlq_s8(islog ? log_tabq_qs8[1] : exp_tabq_qs8[1], shift_value);</div>
25162<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> C = vqrshlq_s8(islog ? log_tabq_qs8[2] : exp_tabq_qs8[2], shift_value);</div>
25163<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> D = vqrshlq_s8(islog ? log_tabq_qs8[3] : exp_tabq_qs8[3], shift_value);</div>
25164<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x1 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, D, fixed_point_position), C);</div>
25165<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x2 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, x1, fixed_point_position), B);</div>
25166<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x3 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, x2, fixed_point_position), A);</div>
25167<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, x3, fixed_point_position);</div>
25168<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; <span class="keywordflow">return</span> res;</div>
25169<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025170<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025171<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>
25172<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010025173<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010025174</div><!-- fragment -->
25175</div>
25176</div>
25177<a class="anchor" id="a8e14017f1276f4a4e14078d93ed692bd"></a>
25178<div class="memitem">
25179<div class="memproto">
25180<table class="mlabels">
25181 <tr>
25182 <td class="mlabels-left">
25183 <table class="memname">
25184 <tr>
25185 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vrecip_qs16 </td>
25186 <td>(</td>
25187 <td class="paramtype">qint16x4_t&#160;</td>
25188 <td class="paramname"><em>a</em>, </td>
25189 </tr>
25190 <tr>
25191 <td class="paramkey"></td>
25192 <td></td>
25193 <td class="paramtype">int&#160;</td>
25194 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25195 </tr>
25196 <tr>
25197 <td></td>
25198 <td>)</td>
25199 <td></td><td></td>
25200 </tr>
25201 </table>
25202 </td>
25203 <td class="mlabels-right">
25204<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25205 </tr>
25206</table>
25207</div><div class="memdoc">
25208
25209<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
25210<p>(4 elements)</p>
25211<dl class="params"><dt>Parameters</dt><dd>
25212 <table class="params">
25213 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
25214 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25215 </table>
25216 </dd>
25217</dl>
25218<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit reciprocal (1/a). </dd></dl>
25219
Kaizenbf8b01d2017-10-12 14:26:51 +010025220<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01103">1103</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010025221
Kaizenbf8b01d2017-10-12 14:26:51 +010025222<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010025223
Kaizenbf8b01d2017-10-12 14:26:51 +010025224<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01299">vdiv_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01585">vlog_qs16()</a>.</p>
25225<div class="fragment"><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;{</div>
25226<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
25227<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_48_over_17 = vdup_n_s16(0x5A5A &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
25228<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_32_over_17 = vdup_n_s16(0x3C3C &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
25229<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 &lt;&lt; fixed_point_position);</div>
25230<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 &lt;&lt; fixed_point_position);</div>
25231<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;</div>
25232<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; <span class="comment">// Find shift value</span></div>
25233<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vneg_s16(vsub_s16(vdup_n_s16(8), vadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
25234<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vshl_s16(a, shift_value);</div>
25235<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;</div>
25236<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
25237<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = vsub_s16(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
25238<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;</div>
25239<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; uint16x4_t set_one = vcgt_s16(x, const_one);</div>
25240<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; x = vbsl_s16(set_one, const_one, x);</div>
25241<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;</div>
25242<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010025243<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25244<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25245<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010025246<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25247<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;</div>
25248<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; <span class="keywordflow">return</span> vshl_s16(x, shift_value);</div>
25249<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;}</div>
25250<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010025251<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025252</div><!-- fragment -->
25253</div>
25254</div>
25255<a class="anchor" id="aa24b270b0193ad8983dfecd6105c4936"></a>
25256<div class="memitem">
25257<div class="memproto">
25258<table class="mlabels">
25259 <tr>
25260 <td class="mlabels-left">
25261 <table class="memname">
25262 <tr>
25263 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vrecip_qs8 </td>
25264 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025265 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025266 <td class="paramname"><em>a</em>, </td>
25267 </tr>
25268 <tr>
25269 <td class="paramkey"></td>
25270 <td></td>
25271 <td class="paramtype">int&#160;</td>
25272 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25273 </tr>
25274 <tr>
25275 <td></td>
25276 <td>)</td>
25277 <td></td><td></td>
25278 </tr>
25279 </table>
25280 </td>
25281 <td class="mlabels-right">
25282<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25283 </tr>
25284</table>
25285</div><div class="memdoc">
25286
25287<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
25288<p>(8 elements)</p>
25289<dl class="params"><dt>Parameters</dt><dd>
25290 <table class="params">
25291 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25292 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25293 </table>
25294 </dd>
25295</dl>
25296<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit reciprocal (1/a). </dd></dl>
25297
Kaizenbf8b01d2017-10-12 14:26:51 +010025298<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01077">1077</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025299
Kaizenbf8b01d2017-10-12 14:26:51 +010025300<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025301
Kaizenbf8b01d2017-10-12 14:26:51 +010025302<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01294">vdiv_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01546">vlog_qs8()</a>.</p>
25303<div class="fragment"><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;{</div>
25304<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
25305<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_48_over_17 = vdup_n_s8(0x5A &gt;&gt; (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
25306<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_32_over_17 = vdup_n_s8((0x3C &gt;&gt; (5 - fixed_point_position))); <span class="comment">// 1.8823</span></div>
25307<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 &lt;&lt; fixed_point_position);</div>
25308<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 &lt;&lt; fixed_point_position);</div>
25309<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;</div>
25310<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; <span class="comment">// Find shift value</span></div>
25311<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vneg_s8(vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
25312<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vshl_s8(a, shift_value);</div>
25313<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;</div>
25314<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
25315<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = vsub_s8(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
25316<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;</div>
25317<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; uint8x8_t set_one = vcgt_s8(x, const_one);</div>
25318<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; x = vbsl_s8(set_one, const_one, x);</div>
25319<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;</div>
25320<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010025321<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25322<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010025323<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25324<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;</div>
25325<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; <span class="keywordflow">return</span> vshl_s8(x, shift_value);</div>
25326<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;}</div>
25327<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025328<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
25329</div><!-- fragment -->
25330</div>
25331</div>
Kaizen8938bd32017-09-28 14:38:23 +010025332<a class="anchor" id="aea1b943c0452ea124c9f8ac0d1315bed"></a>
25333<div class="memitem">
25334<div class="memproto">
25335<table class="mlabels">
25336 <tr>
25337 <td class="mlabels-left">
25338 <table class="memname">
25339 <tr>
25340 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vrecipq_qs16 </td>
25341 <td>(</td>
25342 <td class="paramtype">qint16x8_t&#160;</td>
25343 <td class="paramname"><em>a</em>, </td>
25344 </tr>
25345 <tr>
25346 <td class="paramkey"></td>
25347 <td></td>
25348 <td class="paramtype">int&#160;</td>
25349 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25350 </tr>
25351 <tr>
25352 <td></td>
25353 <td>)</td>
25354 <td></td><td></td>
25355 </tr>
25356 </table>
25357 </td>
25358 <td class="mlabels-right">
25359<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25360 </tr>
25361</table>
25362</div><div class="memdoc">
25363
25364<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
25365<p>(8 elements)</p>
25366<dl class="params"><dt>Parameters</dt><dd>
25367 <table class="params">
25368 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
25369 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25370 </table>
25371 </dd>
25372</dl>
25373<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit reciprocal (1/a). </dd></dl>
25374
Kaizenbf8b01d2017-10-12 14:26:51 +010025375<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01210">1210</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010025376
Kaizenbf8b01d2017-10-12 14:26:51 +010025377<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00454">vsubq_qs16()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010025378
Kaizenbf8b01d2017-10-12 14:26:51 +010025379<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01309">vdivq_qs16()</a>.</p>
25380<div class="fragment"><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;{</div>
25381<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
25382<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_48_over_17 = vdupq_n_s16(0x5A56 &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
25383<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_32_over_17 = vdupq_n_s16(0x3C3C &gt;&gt; (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
25384<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 &lt;&lt; fixed_point_position);</div>
25385<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 &lt;&lt; fixed_point_position);</div>
25386<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;</div>
25387<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; <span class="comment">// Find shift value</span></div>
25388<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vnegq_s16(vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
25389<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vshlq_s16(a, shift_value);</div>
25390<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;</div>
25391<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
25392<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">vsubq_qs16</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
25393<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;</div>
25394<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; <span class="comment">// Set initial guess to one if x &gt; 1</span></div>
25395<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160; uint16x8_t set_one = vcgtq_s16(x, const_one);</div>
25396<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160; x = vbslq_s16(set_one, const_one, x);</div>
25397<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;</div>
25398<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160; <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010025399<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25400<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25401<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010025402<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25403<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;</div>
25404<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; <span class="keywordflow">return</span> vshlq_s16(x, shift_value);</div>
25405<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;}</div>
25406<div class="ttc" id="namespacearm__compute_xhtml_a43569be4a403f390486148701b424e8a"><div class="ttname"><a href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">arm_compute::vsubq_qs16</a></div><div class="ttdeci">qint16x8_t vsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00454">NEFixedPoint.inl:454</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010025407<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010025408<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00533">NEFixedPoint.inl:533</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010025409</div><!-- fragment -->
25410</div>
25411</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025412<a class="anchor" id="abbeb1dc4834fb4e97cf94d702d0e0f91"></a>
25413<div class="memitem">
25414<div class="memproto">
25415<table class="mlabels">
25416 <tr>
25417 <td class="mlabels-left">
25418 <table class="memname">
25419 <tr>
25420 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vrecipq_qs8 </td>
25421 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025422 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025423 <td class="paramname"><em>a</em>, </td>
25424 </tr>
25425 <tr>
25426 <td class="paramkey"></td>
25427 <td></td>
25428 <td class="paramtype">int&#160;</td>
25429 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
25430 </tr>
25431 <tr>
25432 <td></td>
25433 <td>)</td>
25434 <td></td><td></td>
25435 </tr>
25436 </table>
25437 </td>
25438 <td class="mlabels-right">
25439<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25440 </tr>
25441</table>
25442</div><div class="memdoc">
25443
25444<p>Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </p>
25445<p>(16 elements)</p>
25446<dl class="params"><dt>Parameters</dt><dd>
25447 <table class="params">
25448 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
25449 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
25450 </table>
25451 </dd>
25452</dl>
25453<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit reciprocal (1/a). </dd></dl>
25454
Kaizenbf8b01d2017-10-12 14:26:51 +010025455<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01183">1183</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025456
Kaizenbf8b01d2017-10-12 14:26:51 +010025457<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00449">vsubq_qs8()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025458
Kaizenbf8b01d2017-10-12 14:26:51 +010025459<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01304">vdivq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01624">vlogq_qs8()</a>.</p>
25460<div class="fragment"><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;{</div>
25461<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
25462<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_48_over_17 = vdupq_n_s8(0x5A &gt;&gt; (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
25463<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_32_over_17 = vdupq_n_s8((0x3C &gt;&gt; (5 - fixed_point_position))); <span class="comment">// -1.8823</span></div>
25464<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 &lt;&lt; fixed_point_position);</div>
25465<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 &lt;&lt; fixed_point_position);</div>
25466<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;</div>
25467<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; <span class="comment">// Find shift value</span></div>
25468<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vnegq_s8(vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
25469<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vshlq_s8(a, shift_value);</div>
25470<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;</div>
25471<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
25472<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a1adda6690cbca8a996255e311e4762d4">vsubq_qs8</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
25473<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;</div>
25474<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; <span class="comment">// Set initial guess to one if x &gt; 1</span></div>
25475<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160; uint8x16_t set_one = vcgtq_s8(x, const_one);</div>
25476<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160; x = vbslq_s8(set_one, const_one, x);</div>
25477<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;</div>
25478<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
Kaizen8938bd32017-09-28 14:38:23 +010025479<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25480<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010025481<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160; x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
25482<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;</div>
25483<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160; <span class="keywordflow">return</span> vshlq_s8(x, shift_value);</div>
25484<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025485<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010025486<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
25487<div class="ttc" id="namespacearm__compute_xhtml_a1adda6690cbca8a996255e311e4762d4"><div class="ttname"><a href="namespacearm__compute.xhtml#a1adda6690cbca8a996255e311e4762d4">arm_compute::vsubq_qs8</a></div><div class="ttdeci">qint8x16_t vsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00449">NEFixedPoint.inl:449</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025488</div><!-- fragment -->
25489</div>
25490</div>
25491<a class="anchor" id="a1d54a1ef0078902b2334d2fddba74ca6"></a>
25492<div class="memitem">
25493<div class="memproto">
25494<table class="mlabels">
25495 <tr>
25496 <td class="mlabels-left">
25497 <table class="memname">
25498 <tr>
25499 <td class="memname">void vst1_qs16 </td>
25500 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025501 <td class="paramtype">qint16_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025502 <td class="paramname"><em>addr</em>, </td>
25503 </tr>
25504 <tr>
25505 <td class="paramkey"></td>
25506 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025507 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025508 <td class="paramname"><em>b</em>&#160;</td>
25509 </tr>
25510 <tr>
25511 <td></td>
25512 <td>)</td>
25513 <td></td><td></td>
25514 </tr>
25515 </table>
25516 </td>
25517 <td class="mlabels-right">
25518<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25519 </tr>
25520</table>
25521</div><div class="memdoc">
25522
25523<p>Store a single 16 bit fixed point vector to memory (4 elements) </p>
25524<dl class="params"><dt>Parameters</dt><dd>
25525 <table class="params">
25526 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 16 bit fixed point vector should be stored </td></tr>
25527 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
25528 </table>
25529 </dd>
25530</dl>
25531
Kaizenbf8b01d2017-10-12 14:26:51 +010025532<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00203">203</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25533<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;{</div>
25534<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; vst1_s16(addr, b);</div>
25535<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025536</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025537</div>
25538</div>
25539<a class="anchor" id="a509f3f9d910651d71d9f7dc3b5b3b92a"></a>
25540<div class="memitem">
25541<div class="memproto">
25542<table class="mlabels">
25543 <tr>
25544 <td class="mlabels-left">
25545 <table class="memname">
25546 <tr>
25547 <td class="memname">void vst1_qs8 </td>
25548 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025549 <td class="paramtype">qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025550 <td class="paramname"><em>addr</em>, </td>
25551 </tr>
25552 <tr>
25553 <td class="paramkey"></td>
25554 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025555 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025556 <td class="paramname"><em>b</em>&#160;</td>
25557 </tr>
25558 <tr>
25559 <td></td>
25560 <td>)</td>
25561 <td></td><td></td>
25562 </tr>
25563 </table>
25564 </td>
25565 <td class="mlabels-right">
25566<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25567 </tr>
25568</table>
25569</div><div class="memdoc">
25570
25571<p>Store a single 8 bit fixed point vector to memory (8 elements) </p>
25572<dl class="params"><dt>Parameters</dt><dd>
25573 <table class="params">
25574 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 8 bit fixed point vector should be stored </td></tr>
25575 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
25576 </table>
25577 </dd>
25578</dl>
25579
Kaizenbf8b01d2017-10-12 14:26:51 +010025580<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00198">198</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25581<div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;{</div>
25582<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; vst1_s8(addr, b);</div>
25583<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025584</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025585</div>
25586</div>
25587<a class="anchor" id="a8bb5f297efd64b941f5022ea3cd7ee9a"></a>
25588<div class="memitem">
25589<div class="memproto">
25590<table class="mlabels">
25591 <tr>
25592 <td class="mlabels-left">
25593 <table class="memname">
25594 <tr>
25595 <td class="memname">void vst1q_qs16 </td>
25596 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025597 <td class="paramtype">qint16_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025598 <td class="paramname"><em>addr</em>, </td>
25599 </tr>
25600 <tr>
25601 <td class="paramkey"></td>
25602 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025603 <td class="paramtype">qint16x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025604 <td class="paramname"><em>b</em>&#160;</td>
25605 </tr>
25606 <tr>
25607 <td></td>
25608 <td>)</td>
25609 <td></td><td></td>
25610 </tr>
25611 </table>
25612 </td>
25613 <td class="mlabels-right">
25614<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25615 </tr>
25616</table>
25617</div><div class="memdoc">
25618
Kaizen8938bd32017-09-28 14:38:23 +010025619<p>Store a single 16 bit fixed point vector to memory (8 elements) </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025620<dl class="params"><dt>Parameters</dt><dd>
25621 <table class="params">
25622 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 16 bit fixed point vector should be stored </td></tr>
25623 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
25624 </table>
25625 </dd>
25626</dl>
25627
Kaizenbf8b01d2017-10-12 14:26:51 +010025628<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00213">213</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25629<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;{</div>
25630<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; vst1q_s16(addr, b);</div>
25631<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025632</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025633</div>
25634</div>
25635<a class="anchor" id="acf4cb0bc89b25c5fac96935d040207f6"></a>
25636<div class="memitem">
25637<div class="memproto">
25638<table class="mlabels">
25639 <tr>
25640 <td class="mlabels-left">
25641 <table class="memname">
25642 <tr>
25643 <td class="memname">void vst1q_qs8 </td>
25644 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025645 <td class="paramtype">qint8_t *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025646 <td class="paramname"><em>addr</em>, </td>
25647 </tr>
25648 <tr>
25649 <td class="paramkey"></td>
25650 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025651 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025652 <td class="paramname"><em>b</em>&#160;</td>
25653 </tr>
25654 <tr>
25655 <td></td>
25656 <td>)</td>
25657 <td></td><td></td>
25658 </tr>
25659 </table>
25660 </td>
25661 <td class="mlabels-right">
25662<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25663 </tr>
25664</table>
25665</div><div class="memdoc">
25666
25667<p>Store a single 8 bit fixed point vector to memory (16 elements) </p>
25668<dl class="params"><dt>Parameters</dt><dd>
25669 <table class="params">
25670 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 8 bit fixed point vector should be stored </td></tr>
25671 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
25672 </table>
25673 </dd>
25674</dl>
25675
Kaizenbf8b01d2017-10-12 14:26:51 +010025676<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00208">208</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25677<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;{</div>
25678<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; vst1q_s8(addr, b);</div>
25679<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025680</div><!-- fragment -->
25681</div>
25682</div>
25683<a class="anchor" id="a22c6d123d670e84d939d5b887976328d"></a>
25684<div class="memitem">
25685<div class="memproto">
25686<table class="mlabels">
25687 <tr>
25688 <td class="mlabels-left">
25689 <table class="memname">
25690 <tr>
25691 <td class="memname">void vst2q_qs16 </td>
25692 <td>(</td>
25693 <td class="paramtype">qint16_t *&#160;</td>
25694 <td class="paramname"><em>addr</em>, </td>
25695 </tr>
25696 <tr>
25697 <td class="paramkey"></td>
25698 <td></td>
25699 <td class="paramtype">qint16x8x2_t&#160;</td>
25700 <td class="paramname"><em>b</em>&#160;</td>
25701 </tr>
25702 <tr>
25703 <td></td>
25704 <td>)</td>
25705 <td></td><td></td>
25706 </tr>
25707 </table>
25708 </td>
25709 <td class="mlabels-right">
25710<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25711 </tr>
25712</table>
25713</div><div class="memdoc">
25714
25715<p>Store two 16 bit fixed point vector to memory (8x2 elements) </p>
25716<dl class="params"><dt>Parameters</dt><dd>
25717 <table class="params">
25718 <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 16 bit fixed point vectors should be stored </td></tr>
25719 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vectors to store </td></tr>
25720 </table>
25721 </dd>
25722</dl>
25723
Kaizenbf8b01d2017-10-12 14:26:51 +010025724<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25725<div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;{</div>
25726<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; vst2q_s16(addr, b);</div>
25727<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025728</div><!-- fragment -->
25729</div>
25730</div>
25731<a class="anchor" id="a420a19dca7258dbae20af6d92dc62926"></a>
25732<div class="memitem">
25733<div class="memproto">
25734<table class="mlabels">
25735 <tr>
25736 <td class="mlabels-left">
25737 <table class="memname">
25738 <tr>
25739 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vsub_qs16 </td>
25740 <td>(</td>
25741 <td class="paramtype">qint16x4_t&#160;</td>
25742 <td class="paramname"><em>a</em>, </td>
25743 </tr>
25744 <tr>
25745 <td class="paramkey"></td>
25746 <td></td>
25747 <td class="paramtype">qint16x4_t&#160;</td>
25748 <td class="paramname"><em>b</em>&#160;</td>
25749 </tr>
25750 <tr>
25751 <td></td>
25752 <td>)</td>
25753 <td></td><td></td>
25754 </tr>
25755 </table>
25756 </td>
25757 <td class="mlabels-right">
25758<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25759 </tr>
25760</table>
25761</div><div class="memdoc">
25762
25763<p>16 bit fixed point vector subtraction (4 elements) </p>
25764<dl class="params"><dt>Parameters</dt><dd>
25765 <table class="params">
25766 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
25767 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
25768 </table>
25769 </dd>
25770</dl>
25771<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction </dd></dl>
25772
Kaizenbf8b01d2017-10-12 14:26:51 +010025773<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00444">444</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25774<div class="fragment"><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;{</div>
25775<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">return</span> vsub_s16(a, b);</div>
25776<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025777</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025778</div>
25779</div>
25780<a class="anchor" id="a90c8ce2712bdb44fd58e3fa8b78bf6fb"></a>
25781<div class="memitem">
25782<div class="memproto">
25783<table class="mlabels">
25784 <tr>
25785 <td class="mlabels-left">
25786 <table class="memname">
25787 <tr>
25788 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vsub_qs8 </td>
25789 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025790 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025791 <td class="paramname"><em>a</em>, </td>
25792 </tr>
25793 <tr>
25794 <td class="paramkey"></td>
25795 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025796 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025797 <td class="paramname"><em>b</em>&#160;</td>
25798 </tr>
25799 <tr>
25800 <td></td>
25801 <td>)</td>
25802 <td></td><td></td>
25803 </tr>
25804 </table>
25805 </td>
25806 <td class="mlabels-right">
25807<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25808 </tr>
25809</table>
25810</div><div class="memdoc">
25811
25812<p>8 bit fixed point vector subtraction (8 elements) </p>
25813<dl class="params"><dt>Parameters</dt><dd>
25814 <table class="params">
25815 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
25816 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
25817 </table>
25818 </dd>
25819</dl>
25820<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction </dd></dl>
25821
Kaizenbf8b01d2017-10-12 14:26:51 +010025822<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00439">439</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
25823<div class="fragment"><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;{</div>
25824<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">return</span> vsub_s8(a, b);</div>
25825<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025826</div><!-- fragment -->
25827</div>
25828</div>
25829<a class="anchor" id="a43569be4a403f390486148701b424e8a"></a>
25830<div class="memitem">
25831<div class="memproto">
25832<table class="mlabels">
25833 <tr>
25834 <td class="mlabels-left">
25835 <table class="memname">
25836 <tr>
25837 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vsubq_qs16 </td>
25838 <td>(</td>
25839 <td class="paramtype">qint16x8_t&#160;</td>
25840 <td class="paramname"><em>a</em>, </td>
25841 </tr>
25842 <tr>
25843 <td class="paramkey"></td>
25844 <td></td>
25845 <td class="paramtype">qint16x8_t&#160;</td>
25846 <td class="paramname"><em>b</em>&#160;</td>
25847 </tr>
25848 <tr>
25849 <td></td>
25850 <td>)</td>
25851 <td></td><td></td>
25852 </tr>
25853 </table>
25854 </td>
25855 <td class="mlabels-right">
25856<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25857 </tr>
25858</table>
25859</div><div class="memdoc">
25860
25861<p>16 bit fixed point vector subtraction (8 elements) </p>
25862<dl class="params"><dt>Parameters</dt><dd>
25863 <table class="params">
25864 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 16 bit fixed point input vector </td></tr>
25865 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 16 bit fixed point input vector</td></tr>
25866 </table>
25867 </dd>
25868</dl>
25869<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction </dd></dl>
25870
Kaizenbf8b01d2017-10-12 14:26:51 +010025871<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00454">454</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010025872
Kaizenbf8b01d2017-10-12 14:26:51 +010025873<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01210">vrecipq_qs16()</a>.</p>
25874<div class="fragment"><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;{</div>
25875<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span> vsubq_s16(a, b);</div>
25876<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025877</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025878</div>
25879</div>
25880<a class="anchor" id="a1adda6690cbca8a996255e311e4762d4"></a>
25881<div class="memitem">
25882<div class="memproto">
25883<table class="mlabels">
25884 <tr>
25885 <td class="mlabels-left">
25886 <table class="memname">
25887 <tr>
25888 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vsubq_qs8 </td>
25889 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025890 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025891 <td class="paramname"><em>a</em>, </td>
25892 </tr>
25893 <tr>
25894 <td class="paramkey"></td>
25895 <td></td>
Kaizen8938bd32017-09-28 14:38:23 +010025896 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025897 <td class="paramname"><em>b</em>&#160;</td>
25898 </tr>
25899 <tr>
25900 <td></td>
25901 <td>)</td>
25902 <td></td><td></td>
25903 </tr>
25904 </table>
25905 </td>
25906 <td class="mlabels-right">
25907<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25908 </tr>
25909</table>
25910</div><div class="memdoc">
25911
25912<p>8 bit fixed point vector subtraction (16 elements) </p>
25913<dl class="params"><dt>Parameters</dt><dd>
25914 <table class="params">
25915 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>First 8 bit fixed point input vector </td></tr>
25916 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Second 8 bit fixed point input vector</td></tr>
25917 </table>
25918 </dd>
25919</dl>
25920<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction </dd></dl>
25921
Kaizenbf8b01d2017-10-12 14:26:51 +010025922<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00449">449</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025923
Kaizenbf8b01d2017-10-12 14:26:51 +010025924<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01183">vrecipq_qs8()</a>.</p>
25925<div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;{</div>
25926<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">return</span> vsubq_s8(a, b);</div>
25927<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010025928</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010025929</div>
25930</div>
Kaizen8938bd32017-09-28 14:38:23 +010025931<a class="anchor" id="a841e85dc31bee3fa3f1855eabf895325"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025932<div class="memitem">
25933<div class="memproto">
25934<table class="mlabels">
25935 <tr>
25936 <td class="mlabels-left">
25937 <table class="memname">
25938 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010025939 <td class="memname">float16x8_t vtanhq_f16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025940 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010025941 <td class="paramtype">float16x8_t&#160;</td>
25942 <td class="paramname"><em>val</em></td><td>)</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025943 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025944 </tr>
25945 </table>
25946 </td>
25947 <td class="mlabels-right">
25948<span class="mlabels"><span class="mlabel">inline</span></span> </td>
25949 </tr>
25950</table>
25951</div><div class="memdoc">
25952
Kaizen8938bd32017-09-28 14:38:23 +010025953<p>Calculate hyperbolic tangent. </p>
25954<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
25955<dl class="section note"><dt>Note</dt><dd>We clamp x to [-5,5] to avoid overflowing issues.</dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025956<dl class="params"><dt>Parameters</dt><dd>
25957 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010025958 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025959 </table>
25960 </dd>
25961</dl>
25962<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
25963
Kaizen8938bd32017-09-28 14:38:23 +010025964<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00234">234</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025965
Kaizen8938bd32017-09-28 14:38:23 +010025966<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00226">vinvq_f16()</a>.</p>
25967<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;{</div>
25968<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keyword">const</span> float16x8_t CONST_1 = vdupq_n_f16(1.f);</div>
25969<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keyword">const</span> float16x8_t CONST_2 = vdupq_n_f16(2.f);</div>
25970<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keyword">const</span> float16x8_t CONST_MIN_TANH = vdupq_n_f16(-10.f);</div>
25971<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">const</span> float16x8_t CONST_MAX_TANH = vdupq_n_f16(10.f);</div>
25972<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div>
25973<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keyword">const</span> float16x8_t x = vminq_f16(vmaxq_f16(val, CONST_MIN_TANH), CONST_MAX_TANH);</div>
25974<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keyword">const</span> float16x8_t exp2x = <a class="code" href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">vexpq_f16</a>(vmulq_f16(CONST_2, x));</div>
25975<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keyword">const</span> float16x8_t num = vsubq_f16(exp2x, CONST_1);</div>
25976<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">const</span> float16x8_t den = vaddq_f16(exp2x, CONST_1);</div>
25977<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">const</span> float16x8_t <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = vmulq_f16(num, <a class="code" href="namespacearm__compute.xhtml#a5ccd23ffe952767d73334cabcdbff246">vinvq_f16</a>(den));</div>
25978<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
25979<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;}</div>
25980<div class="ttc" id="namespacearm__compute_xhtml_a829992d2c673006879696821024df5b7"><div class="ttname"><a href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">arm_compute::vexpq_f16</a></div><div class="ttdeci">float16x8_t vexpq_f16(float16x8_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00261">NEMath.inl:261</a></div></div>
25981<div class="ttc" id="namespacearm__compute_xhtml_a5ccd23ffe952767d73334cabcdbff246"><div class="ttname"><a href="namespacearm__compute.xhtml#a5ccd23ffe952767d73334cabcdbff246">arm_compute::vinvq_f16</a></div><div class="ttdeci">float16x8_t vinvq_f16(float16x8_t x)</div><div class="ttdoc">Calculate reciprocal. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00226">NEMath.inl:226</a></div></div>
25982<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010025983</div><!-- fragment -->
25984</div>
25985</div>
25986<a class="anchor" id="a7845701adefdb1adafc98ca3c4918c2e"></a>
25987<div class="memitem">
25988<div class="memproto">
25989<table class="mlabels">
25990 <tr>
25991 <td class="mlabels-left">
25992 <table class="memname">
25993 <tr>
25994 <td class="memname">float32x4_t vtanhq_f32 </td>
25995 <td>(</td>
25996 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000025997 <td class="paramname"><em>val</em></td><td>)</td>
25998 <td></td>
25999 </tr>
26000 </table>
26001 </td>
26002 <td class="mlabels-right">
26003<span class="mlabels"><span class="mlabel">inline</span></span> </td>
26004 </tr>
26005</table>
26006</div><div class="memdoc">
26007
26008<p>Calculate hyperbolic tangent. </p>
26009<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
Anthony Barbier46d59272017-05-04 09:15:15 +010026010<dl class="section note"><dt>Note</dt><dd>We clamp x to [-5,5] to avoid overflowing issues.</dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000026011<dl class="params"><dt>Parameters</dt><dd>
26012 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010026013 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000026014 </table>
26015 </dd>
26016</dl>
26017<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
26018
Kaizen8938bd32017-09-28 14:38:23 +010026019<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00152">152</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026020
Kaizen8938bd32017-09-28 14:38:23 +010026021<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00093">vinvq_f32()</a>.</p>
26022<div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;{</div>
26023<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f);</div>
26024<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_2 = vdupq_n_f32(2.f);</div>
26025<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MIN_TANH = vdupq_n_f32(-10.f);</div>
26026<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MAX_TANH = vdupq_n_f32(10.f);</div>
26027<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
26028<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; float32x4_t x = vminq_f32(vmaxq_f32(val, CONST_MIN_TANH), CONST_MAX_TANH);</div>
26029<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; float32x4_t exp2x = <a class="code" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a>(vmulq_f32(CONST_2, x));</div>
26030<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; float32x4_t num = vsubq_f32(exp2x, CONST_1);</div>
26031<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; float32x4_t den = vaddq_f32(exp2x, CONST_1);</div>
26032<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; float32x4_t <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = vmulq_f32(num, <a class="code" href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">vinvq_f32</a>(den));</div>
26033<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
26034<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;}</div>
26035<div class="ttc" id="namespacearm__compute_xhtml_ade3ef16de304661943c900ac9a47d28f"><div class="ttname"><a href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00113">NEMath.inl:113</a></div></div>
26036<div class="ttc" id="namespacearm__compute_xhtml_ac8f459d5899b79c00fb4042a5b3470fb"><div class="ttname"><a href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">arm_compute::vinvq_f32</a></div><div class="ttdeci">float32x4_t vinvq_f32(float32x4_t x)</div><div class="ttdoc">Calculate reciprocal. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00093">NEMath.inl:93</a></div></div>
26037<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point&lt; T &gt; tanh(fixed_point&lt; T &gt; x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000026038</div><!-- fragment -->
26039</div>
26040</div>
Kaizen8938bd32017-09-28 14:38:23 +010026041<a class="anchor" id="ab6470f57e0d7659ea7823f13bb89724f"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000026042<div class="memitem">
26043<div class="memproto">
26044<table class="mlabels">
26045 <tr>
26046 <td class="mlabels-left">
26047 <table class="memname">
26048 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010026049 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vtaylor_poly_qs16 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000026050 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010026051 <td class="paramtype">qint16x4_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026052 <td class="paramname"><em>a</em>, </td>
26053 </tr>
26054 <tr>
26055 <td class="paramkey"></td>
26056 <td></td>
26057 <td class="paramtype">int&#160;</td>
26058 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
26059 </tr>
26060 <tr>
26061 <td></td>
26062 <td>)</td>
26063 <td></td><td></td>
26064 </tr>
26065 </table>
26066 </td>
26067 <td class="mlabels-right">
26068<span class="mlabels"><span class="mlabel">inline</span></span> </td>
26069 </tr>
26070</table>
26071</div><div class="memdoc">
26072
Kaizen8938bd32017-09-28 14:38:23 +010026073<p>Perform a 4th degree polynomial approximation. </p>
26074<p>(4 elements)</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026075<dl class="params"><dt>Parameters</dt><dd>
26076 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010026077 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026078 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
26079 </table>
26080 </dd>
26081</dl>
Kaizen8938bd32017-09-28 14:38:23 +010026082<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit taylor approximation. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026083
Kaizenbf8b01d2017-10-12 14:26:51 +010026084<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01331">1331</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026085
Kaizenbf8b01d2017-10-12 14:26:51 +010026086<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>.</p>
26087<div class="fragment"><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;{</div>
26088<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-(15 - fixed_point_position));</div>
26089<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1);</div>
26090<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshl_s16(islog ? log_tab_qs16[0] : exp_tab_qs16[0], islog ? vadd_s16(shift_value, const_one) : shift_value);</div>
26091<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshl_s16(islog ? log_tab_qs16[1] : exp_tab_qs16[1], shift_value);</div>
26092<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> C = vrshl_s16(islog ? log_tab_qs16[2] : exp_tab_qs16[2], shift_value);</div>
26093<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> D = vrshl_s16(islog ? log_tab_qs16[3] : exp_tab_qs16[3], shift_value);</div>
26094<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x1 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, D, fixed_point_position), C);</div>
26095<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x2 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, x1, fixed_point_position), B);</div>
26096<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x3 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, x2, fixed_point_position), A);</div>
26097<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> res = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, x3, fixed_point_position);</div>
26098<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; <span class="keywordflow">return</span> res;</div>
26099<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010026100<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>
26101<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>
Kaizenbf8b01d2017-10-12 14:26:51 +010026102<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010026103<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026104</div><!-- fragment -->
26105</div>
26106</div>
26107<a class="anchor" id="a91b74be928419cd95068ccc9c6f1cd83"></a>
26108<div class="memitem">
26109<div class="memproto">
26110<table class="mlabels">
26111 <tr>
26112 <td class="mlabels-left">
26113 <table class="memname">
26114 <tr>
26115 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vtaylor_poly_qs8 </td>
26116 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010026117 <td class="paramtype">qint8x8_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026118 <td class="paramname"><em>a</em>, </td>
26119 </tr>
26120 <tr>
26121 <td class="paramkey"></td>
26122 <td></td>
26123 <td class="paramtype">int&#160;</td>
26124 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
26125 </tr>
26126 <tr>
26127 <td></td>
26128 <td>)</td>
26129 <td></td><td></td>
26130 </tr>
26131 </table>
26132 </td>
26133 <td class="mlabels-right">
26134<span class="mlabels"><span class="mlabel">inline</span></span> </td>
26135 </tr>
26136</table>
26137</div><div class="memdoc">
26138
26139<p>Perform a 4th degree polynomial approximation. </p>
26140<p>(8 elements)</p>
26141<dl class="params"><dt>Parameters</dt><dd>
26142 <table class="params">
26143 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
26144 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
26145 </table>
26146 </dd>
26147</dl>
26148<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
26149
Kaizenbf8b01d2017-10-12 14:26:51 +010026150<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01315">1315</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026151
Kaizenbf8b01d2017-10-12 14:26:51 +010026152<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>.</p>
26153<div class="fragment"><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;{</div>
26154<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-(7 - fixed_point_position));</div>
26155<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1);</div>
26156<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshl_s8(islog ? log_tab_qs8[0] : exp_tab_qs8[0], islog ? vadd_s8(shift_value, const_one) : shift_value);</div>
26157<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshl_s8(islog ? log_tab_qs8[1] : exp_tab_qs8[1], shift_value);</div>
26158<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> C = vrshl_s8(islog ? log_tab_qs8[2] : exp_tab_qs8[2], shift_value);</div>
26159<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> D = vrshl_s8(islog ? log_tab_qs8[3] : exp_tab_qs8[3], shift_value);</div>
26160<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x1 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, D, fixed_point_position), C);</div>
26161<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x2 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, x1, fixed_point_position), B);</div>
26162<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x3 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, x2, fixed_point_position), A);</div>
26163<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, x3, fixed_point_position);</div>
26164<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; <span class="keywordflow">return</span> res;</div>
26165<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010026166<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026167<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>
Kaizenbf8b01d2017-10-12 14:26:51 +010026168<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026169<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010026170</div><!-- fragment -->
26171</div>
26172</div>
26173<a class="anchor" id="afaad64bc527ee67d3374b67610a34a13"></a>
26174<div class="memitem">
26175<div class="memproto">
26176<table class="mlabels">
26177 <tr>
26178 <td class="mlabels-left">
26179 <table class="memname">
26180 <tr>
26181 <td class="memname">float16x8_t arm_compute::vtaylor_polyq_f16 </td>
26182 <td>(</td>
26183 <td class="paramtype">float16x8_t&#160;</td>
26184 <td class="paramname"><em>x</em>, </td>
26185 </tr>
26186 <tr>
26187 <td class="paramkey"></td>
26188 <td></td>
26189 <td class="paramtype">const std::array&lt; float16x8_t, 8 &gt; &amp;&#160;</td>
26190 <td class="paramname"><em>coeffs</em>&#160;</td>
26191 </tr>
26192 <tr>
26193 <td></td>
26194 <td>)</td>
26195 <td></td><td></td>
26196 </tr>
26197 </table>
26198 </td>
26199 <td class="mlabels-right">
26200<span class="mlabels"><span class="mlabel">inline</span></span> </td>
26201 </tr>
26202</table>
26203</div><div class="memdoc">
26204
26205<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00249">249</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
26206
26207<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>.</p>
26208
26209<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">vlogq_f16()</a>.</p>
26210<div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;{</div>
26211<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keyword">const</span> float16x8_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vaddq_f16(coeffs[0], vmulq_f16(coeffs[4], x));</div>
26212<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keyword">const</span> float16x8_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vaddq_f16(coeffs[2], vmulq_f16(coeffs[6], x));</div>
26213<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keyword">const</span> float16x8_t C = vaddq_f16(coeffs[1], vmulq_f16(coeffs[5], x));</div>
26214<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keyword">const</span> float16x8_t D = vaddq_f16(coeffs[3], vmulq_f16(coeffs[7], x));</div>
26215<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keyword">const</span> float16x8_t x2 = vmulq_f16(x, x);</div>
26216<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keyword">const</span> float16x8_t x4 = vmulq_f16(x2, x2);</div>
26217<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keyword">const</span> float16x8_t res = vaddq_f16(vaddq_f16(A, vmulq_f16(B, x2)), vmulq_f16(vaddq_f16(C, vmulq_f16(D, x2)), x4));</div>
26218<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> res;</div>
26219<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div>
26220<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>
26221<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026222</div><!-- fragment -->
26223</div>
26224</div>
26225<a class="anchor" id="a4fa76a98dce5ed1b655ff840f2ce6e57"></a>
26226<div class="memitem">
26227<div class="memproto">
26228<table class="mlabels">
26229 <tr>
26230 <td class="mlabels-left">
26231 <table class="memname">
26232 <tr>
26233 <td class="memname">float32x4_t vtaylor_polyq_f32 </td>
26234 <td>(</td>
26235 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000026236 <td class="paramname"><em>x</em>, </td>
26237 </tr>
26238 <tr>
26239 <td class="paramkey"></td>
26240 <td></td>
26241 <td class="paramtype">const std::array&lt; float32x4_t, 8 &gt; &amp;&#160;</td>
26242 <td class="paramname"><em>coeffs</em>&#160;</td>
26243 </tr>
26244 <tr>
26245 <td></td>
26246 <td>)</td>
26247 <td></td><td></td>
26248 </tr>
26249 </table>
26250 </td>
26251 <td class="mlabels-right">
26252<span class="mlabels"><span class="mlabel">inline</span></span> </td>
26253 </tr>
26254</table>
26255</div><div class="memdoc">
26256
26257<p>Perform a 7th degree polynomial approximation using Estrin's method. </p>
26258<dl class="params"><dt>Parameters</dt><dd>
26259 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010026260 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F32 format. </td></tr>
26261 <tr><td class="paramdir">[in]</td><td class="paramname">coeffs</td><td>Polynomial coefficients table.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000026262 </table>
26263 </dd>
26264</dl>
26265<dl class="section return"><dt>Returns</dt><dd>The calculated approximation. </dd></dl>
26266
Kaizen8938bd32017-09-28 14:38:23 +010026267<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">101</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026268
26269<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>.</p>
26270
Kaizen8938bd32017-09-28 14:38:23 +010026271<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
26272<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;{</div>
26273<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vmlaq_f32(coeffs[0], coeffs[4], x);</div>
26274<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vmlaq_f32(coeffs[2], coeffs[6], x);</div>
26275<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; float32x4_t C = vmlaq_f32(coeffs[1], coeffs[5], x);</div>
26276<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; float32x4_t D = vmlaq_f32(coeffs[3], coeffs[7], x);</div>
26277<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; float32x4_t x2 = vmulq_f32(x, x);</div>
26278<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; float32x4_t x4 = vmulq_f32(x2, x2);</div>
26279<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; float32x4_t res = vmlaq_f32(vmlaq_f32(A, B, x2), vmlaq_f32(C, D, x2), x4);</div>
26280<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> res;</div>
26281<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
26282<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>
Anthony Barbier871448e2017-03-24 14:54:29 +000026283<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>
26284</div><!-- fragment -->
26285</div>
26286</div>
Kaizen8938bd32017-09-28 14:38:23 +010026287<a class="anchor" id="ac26478d3b59cae5c3efa4bf3819002fa"></a>
26288<div class="memitem">
26289<div class="memproto">
26290<table class="mlabels">
26291 <tr>
26292 <td class="mlabels-left">
26293 <table class="memname">
26294 <tr>
26295 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vtaylor_polyq_qs16 </td>
26296 <td>(</td>
26297 <td class="paramtype">qint16x8_t&#160;</td>
26298 <td class="paramname"><em>a</em>, </td>
26299 </tr>
26300 <tr>
26301 <td class="paramkey"></td>
26302 <td></td>
26303 <td class="paramtype">int&#160;</td>
26304 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
26305 </tr>
26306 <tr>
26307 <td></td>
26308 <td>)</td>
26309 <td></td><td></td>
26310 </tr>
26311 </table>
26312 </td>
26313 <td class="mlabels-right">
26314<span class="mlabels"><span class="mlabel">inline</span></span> </td>
26315 </tr>
26316</table>
26317</div><div class="memdoc">
26318
26319<p>Perform a 4th degree polynomial approximation. </p>
26320<p>(8 elements)</p>
26321<dl class="params"><dt>Parameters</dt><dd>
26322 <table class="params">
26323 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>16 bit fixed point input vector </td></tr>
26324 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
26325 </table>
26326 </dd>
26327</dl>
26328<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
26329
Kaizenbf8b01d2017-10-12 14:26:51 +010026330<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01395">1395</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010026331
Kaizenbf8b01d2017-10-12 14:26:51 +010026332<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>.</p>
26333<div class="fragment"><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;{</div>
26334<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-(15 - fixed_point_position));</div>
26335<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1);</div>
26336<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshlq_s16(islog ? log_tabq_qs16[0] : exp_tabq_qs16[0], islog ? vaddq_s16(shift_value, const_one) : shift_value);</div>
26337<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshlq_s16(islog ? log_tabq_qs16[1] : exp_tabq_qs16[1], shift_value);</div>
26338<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> C = vrshlq_s16(islog ? log_tabq_qs16[2] : exp_tabq_qs16[2], shift_value);</div>
26339<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> D = vrshlq_s16(islog ? log_tabq_qs16[3] : exp_tabq_qs16[3], shift_value);</div>
26340<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x1 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, D, fixed_point_position), C);</div>
26341<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x2 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, x1, fixed_point_position), B);</div>
26342<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x3 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, x2, fixed_point_position), A);</div>
26343<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, x3, fixed_point_position);</div>
26344<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; <span class="keywordflow">return</span> res;</div>
26345<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010026346<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>
26347<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>
26348<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010026349<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00533">NEFixedPoint.inl:533</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010026350</div><!-- fragment -->
26351</div>
26352</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026353<a class="anchor" id="a9b9a80aab8862e344ef91591a0e6e199"></a>
26354<div class="memitem">
26355<div class="memproto">
26356<table class="mlabels">
26357 <tr>
26358 <td class="mlabels-left">
26359 <table class="memname">
26360 <tr>
26361 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vtaylor_polyq_qs8 </td>
26362 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010026363 <td class="paramtype">qint8x16_t&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026364 <td class="paramname"><em>a</em>, </td>
26365 </tr>
26366 <tr>
26367 <td class="paramkey"></td>
26368 <td></td>
26369 <td class="paramtype">int&#160;</td>
26370 <td class="paramname"><em>fixed_point_position</em>&#160;</td>
26371 </tr>
26372 <tr>
26373 <td></td>
26374 <td>)</td>
26375 <td></td><td></td>
26376 </tr>
26377 </table>
26378 </td>
26379 <td class="mlabels-right">
26380<span class="mlabels"><span class="mlabel">inline</span></span> </td>
26381 </tr>
26382</table>
26383</div><div class="memdoc">
26384
26385<p>Perform a 4th degree polynomial approximation. </p>
26386<p>(16 elements)</p>
26387<dl class="params"><dt>Parameters</dt><dd>
26388 <table class="params">
26389 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>8bit fixed point input vector </td></tr>
26390 <tr><td class="paramdir">[in]</td><td class="paramname">fixed_point_position</td><td>Fixed point position that expresses the number of bits for the fractional part of the number</td></tr>
26391 </table>
26392 </dd>
26393</dl>
26394<dl class="section return"><dt>Returns</dt><dd>The result of the 8bit taylor approximation. </dd></dl>
26395
Kaizenbf8b01d2017-10-12 14:26:51 +010026396<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01379">1379</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026397
Kaizenbf8b01d2017-10-12 14:26:51 +010026398<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>.</p>
26399<div class="fragment"><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;{</div>
26400<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-(7 - fixed_point_position));</div>
26401<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1);</div>
26402<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshlq_s8(islog ? log_tabq_qs8[0] : exp_tabq_qs8[0], islog ? vaddq_s8(shift_value, const_one) : shift_value);</div>
26403<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshlq_s8(islog ? log_tabq_qs8[1] : exp_tabq_qs8[1], shift_value);</div>
26404<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> C = vrshlq_s8(islog ? log_tabq_qs8[2] : exp_tabq_qs8[2], shift_value);</div>
26405<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> D = vrshlq_s8(islog ? log_tabq_qs8[3] : exp_tabq_qs8[3], shift_value);</div>
26406<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x1 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, D, fixed_point_position), C);</div>
26407<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x2 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, x1, fixed_point_position), B);</div>
26408<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x3 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, x2, fixed_point_position), A);</div>
26409<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, x3, fixed_point_position);</div>
26410<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; <span class="keywordflow">return</span> res;</div>
26411<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;}</div>
Kaizen8938bd32017-09-28 14:38:23 +010026412<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026413<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>
26414<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010026415<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026416</div><!-- fragment -->
26417</div>
26418</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000026419<h2 class="groupheader">Variable Documentation</h2>
26420<a class="anchor" id="a3fed059965fe44cbe7ed4091d6b63acf"></a>
26421<div class="memitem">
26422<div class="memproto">
26423 <table class="memname">
26424 <tr>
26425 <td class="memname">constexpr uint8_t CONSTANT_BORDER_VALUE = 199</td>
26426 </tr>
26427 </table>
26428</div><div class="memdoc">
26429
26430<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>
26431
Kaizen8938bd32017-09-28 14:38:23 +010026432<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00085">85</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026433
26434</div>
26435</div>
26436<a class="anchor" id="a869945609357fa552d94eb16f7aad4e9"></a>
26437<div class="memitem">
26438<div class="memproto">
26439 <table class="memname">
26440 <tr>
26441 <td class="memname">const std::array&lt;float32x4_t, 8&gt; exp_tab</td>
26442 </tr>
26443 </table>
26444</div><div class="memdoc">
Kaizen8938bd32017-09-28 14:38:23 +010026445<b>Initial value:</b><div class="fragment"><div class="line">=</div>
26446<div class="line">{</div>
26447<div class="line"> {</div>
26448<div class="line"> vdupq_n_f32(1.f),</div>
26449<div class="line"> vdupq_n_f32(0.0416598916054f),</div>
26450<div class="line"> vdupq_n_f32(0.500000596046f),</div>
26451<div class="line"> vdupq_n_f32(0.0014122662833f),</div>
26452<div class="line"> vdupq_n_f32(1.00000011921f),</div>
26453<div class="line"> vdupq_n_f32(0.00833693705499f),</div>
26454<div class="line"> vdupq_n_f32(0.166665703058f),</div>
26455<div class="line"> vdupq_n_f32(0.000195780929062f),</div>
26456<div class="line"> }</div>
26457<div class="line">}</div>
26458</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010026459<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00028">28</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
26460
Kaizen8938bd32017-09-28 14:38:23 +010026461<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>.</p>
26462
Anthony Barbierdbdab852017-06-23 15:42:00 +010026463</div>
26464</div>
Kaizen8938bd32017-09-28 14:38:23 +010026465<a class="anchor" id="a2260e62edc9c3e04a06e8016136b10b1"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026466<div class="memitem">
26467<div class="memproto">
26468 <table class="memname">
26469 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010026470 <td class="memname">const std::array&lt;float16x8_t, 8&gt; exp_tab_f16</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026471 </tr>
26472 </table>
26473</div><div class="memdoc">
Kaizen8938bd32017-09-28 14:38:23 +010026474<b>Initial value:</b><div class="fragment"><div class="line">=</div>
26475<div class="line">{</div>
26476<div class="line"> {</div>
26477<div class="line"> vdupq_n_f16(1.f),</div>
26478<div class="line"> vdupq_n_f16(0.0416598916054f),</div>
26479<div class="line"> vdupq_n_f16(0.500000596046f),</div>
26480<div class="line"> vdupq_n_f16(0.0014122662833f),</div>
26481<div class="line"> vdupq_n_f16(1.00000011921f),</div>
26482<div class="line"> vdupq_n_f16(0.00833693705499f),</div>
26483<div class="line"> vdupq_n_f16(0.166665703058f),</div>
26484<div class="line"> vdupq_n_f16(0.000195780929062f),</div>
26485<div class="line"> }</div>
26486<div class="line">}</div>
26487</div><!-- fragment -->
26488<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00173">173</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026489
Kaizen8938bd32017-09-28 14:38:23 +010026490<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026491
26492</div>
26493</div>
26494<a class="anchor" id="a48fb9cf404e8f7043235bf14105c9793"></a>
26495<div class="memitem">
26496<div class="memproto">
26497 <table class="memname">
26498 <tr>
26499 <td class="memname">const std::array&lt;float32x4_t, 8&gt; log_tab</td>
26500 </tr>
26501 </table>
26502</div><div class="memdoc">
Kaizen8938bd32017-09-28 14:38:23 +010026503<b>Initial value:</b><div class="fragment"><div class="line">=</div>
26504<div class="line">{</div>
26505<div class="line"> {</div>
26506<div class="line"> vdupq_n_f32(-2.29561495781f),</div>
26507<div class="line"> vdupq_n_f32(-2.47071170807f),</div>
26508<div class="line"> vdupq_n_f32(-5.68692588806f),</div>
26509<div class="line"> vdupq_n_f32(-0.165253549814f),</div>
26510<div class="line"> vdupq_n_f32(5.17591238022f),</div>
26511<div class="line"> vdupq_n_f32(0.844007015228f),</div>
26512<div class="line"> vdupq_n_f32(4.58445882797f),</div>
26513<div class="line"> vdupq_n_f32(0.0141278216615f),</div>
26514<div class="line"> }</div>
26515<div class="line">}</div>
26516</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010026517<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
26518
Kaizen8938bd32017-09-28 14:38:23 +010026519<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
26520
Anthony Barbierdbdab852017-06-23 15:42:00 +010026521</div>
26522</div>
Kaizen8938bd32017-09-28 14:38:23 +010026523<a class="anchor" id="a0a8b2a577b2f9370e7b1c4735f007be1"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026524<div class="memitem">
26525<div class="memproto">
26526 <table class="memname">
26527 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010026528 <td class="memname">const std::array&lt;float16x8_t, 8&gt; log_tab_f16</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026529 </tr>
26530 </table>
26531</div><div class="memdoc">
Kaizen8938bd32017-09-28 14:38:23 +010026532<b>Initial value:</b><div class="fragment"><div class="line">=</div>
26533<div class="line">{</div>
26534<div class="line"> {</div>
26535<div class="line"> vdupq_n_f16(-2.29561495781f),</div>
26536<div class="line"> vdupq_n_f16(-2.47071170807f),</div>
26537<div class="line"> vdupq_n_f16(-5.68692588806f),</div>
26538<div class="line"> vdupq_n_f16(-0.165253549814f),</div>
26539<div class="line"> vdupq_n_f16(5.17591238022f),</div>
26540<div class="line"> vdupq_n_f16(0.844007015228f),</div>
26541<div class="line"> vdupq_n_f16(4.58445882797f),</div>
26542<div class="line"> vdupq_n_f16(0.0141278216615f),</div>
26543<div class="line"> }</div>
26544<div class="line">}</div>
26545</div><!-- fragment -->
26546<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00188">188</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010026547
Kaizen8938bd32017-09-28 14:38:23 +010026548<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">vlogq_f16()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026549
26550</div>
26551</div>
26552<a class="anchor" id="a769d636d7a3c7c84579a5f477a18bc9d"></a>
26553<div class="memitem">
26554<div class="memproto">
26555 <table class="memname">
26556 <tr>
26557 <td class="memname">constexpr size_t MAX_DIMS = 6</td>
26558 </tr>
26559 </table>
26560</div><div class="memdoc">
26561
26562<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
26563
26564</div>
26565</div>
26566<a class="anchor" id="af9876aedd664cac0ddeacddb40cb71cd"></a>
26567<div class="memitem">
26568<div class="memproto">
26569 <table class="memname">
26570 <tr>
26571 <td class="memname">constexpr float SCALE_PYRAMID_HALF = 0.5f</td>
26572 </tr>
26573 </table>
26574</div><div class="memdoc">
26575
Kaizen8938bd32017-09-28 14:38:23 +010026576<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00088">88</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026577
26578</div>
26579</div>
26580<a class="anchor" id="a2ebcd5423d5fba468e7debd2e1aabe91"></a>
26581<div class="memitem">
26582<div class="memproto">
26583 <table class="memname">
26584 <tr>
26585 <td class="memname">constexpr float SCALE_PYRAMID_ORB = 8.408964152537146130583778358414e-01</td>
26586 </tr>
26587 </table>
26588</div><div class="memdoc">
26589
Kaizen8938bd32017-09-28 14:38:23 +010026590<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00091">91</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000026591
26592</div>
26593</div>
26594</div><!-- contents -->
26595</div><!-- doc-content -->
26596<!-- start footer part -->
26597<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
26598 <ul>
26599 <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li>
Kaizenbf8b01d2017-10-12 14:26:51 +010026600 <li class="footer">Generated on Thu Oct 12 2017 14:26:36 for Compute Library by
Anthony Barbier871448e2017-03-24 14:54:29 +000026601 <a href="http://www.doxygen.org/index.html">
Kaizen8938bd32017-09-28 14:38:23 +010026602 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
Anthony Barbier871448e2017-03-24 14:54:29 +000026603 </ul>
26604</div>
26605</body>
26606</html>