1 <!-- 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">
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7 <meta name="generator" content="Doxygen 1.8.11"/>
8 <meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
9 <title>ARM Compute Library: arm_compute Namespace Reference</title>
10 <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>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <script type="text/javascript" src="navtree.js"></script>
17 <script type="text/javascript">
18 $(document).ready(initResizable);
19 $(window).load(resizeHeight);
21 <link href="search/search.css" rel="stylesheet" type="text/css"/>
22 <script type="text/javascript" src="search/searchdata.js"></script>
23 <script type="text/javascript" src="search/search.js"></script>
24 <script type="text/javascript">
25 $(document).ready(function() { init_search(); });
27 <script type="text/x-mathjax-config">
29 extensions: ["tex2jax.js"],
30 jax: ["input/TeX","output/HTML-CSS"],
32 </script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
33 <link href="doxygen.css" rel="stylesheet" type="text/css" />
36 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
38 <table cellspacing="0" cellpadding="0">
40 <tr style="height: 56px;">
41 <td style="padding-left: 0.5em;">
42 <div id="projectname">ARM Compute Library
43  <span id="projectnumber">17.04</span>
50 <!-- end header part -->
51 <!-- Generated by Doxygen 1.8.11 -->
52 <script type="text/javascript">
53 var searchBox = new SearchBox("searchBox", "search",false,'Search');
55 <div id="navrow1" class="tabs">
57 <li><a href="index.xhtml"><span>Main Page</span></a></li>
58 <li class="current"><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
59 <li><a href="annotated.xhtml"><span>Data Structures</span></a></li>
60 <li><a href="files.xhtml"><span>Files</span></a></li>
62 <div id="MSearchBox" class="MSearchBoxInactive">
64 <img id="MSearchSelect" src="search/mag_sel.png"
65 onmouseover="return searchBox.OnSearchSelectShow()"
66 onmouseout="return searchBox.OnSearchSelectHide()"
68 <input type="text" id="MSearchField" value="Search" accesskey="S"
69 onfocus="searchBox.OnSearchFieldFocus(true)"
70 onblur="searchBox.OnSearchFieldFocus(false)"
71 onkeyup="searchBox.OnSearchFieldChange(event)"/>
72 </span><span class="right">
73 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
79 <div id="navrow2" class="tabs2">
81 <li><a href="namespaces.xhtml"><span>Namespace List</span></a></li>
82 <li><a href="namespacemembers.xhtml"><span>Namespace Members</span></a></li>
86 <div id="side-nav" class="ui-resizable side-nav-resizable">
88 <div id="nav-tree-contents">
89 <div id="nav-sync" class="sync"></div>
92 <div id="splitbar" style="-moz-user-select:none;"
93 class="ui-resizable-handle">
96 <script type="text/javascript">
97 $(document).ready(function(){initNavTree('namespacearm__compute.xhtml','');});
99 <div id="doc-content">
100 <!-- window showing the filter options -->
101 <div id="MSearchSelectWindow"
102 onmouseover="return searchBox.OnSearchSelectShow()"
103 onmouseout="return searchBox.OnSearchSelectHide()"
104 onkeydown="return searchBox.OnSearchSelectKey(event)">
107 <!-- iframe showing the search results (closed by default) -->
108 <div id="MSearchResultsWindow">
109 <iframe src="javascript:void(0)" frameborder="0"
110 name="MSearchResults" id="MSearchResults">
115 <div class="summary">
116 <a href="#namespaces">Namespaces</a> |
117 <a href="#nested-classes">Data Structures</a> |
118 <a href="#typedef-members">Typedefs</a> |
119 <a href="#enum-members">Enumerations</a> |
120 <a href="#func-members">Functions</a> |
121 <a href="#var-members">Variables</a> </div>
122 <div class="headertitle">
123 <div class="title">arm_compute Namespace Reference</div> </div>
125 <div class="contents">
126 <table class="memberdecls">
127 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
128 Namespaces</h2></td></tr>
129 <tr class="memitem:namespacearm__compute_1_1cpp14"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1cpp14.xhtml">cpp14</a></td></tr>
130 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
131 </table><table class="memberdecls">
132 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
133 Data Structures</h2></td></tr>
134 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_auto_padding.xhtml">AccessWindowAutoPadding</a></td></tr>
135 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Dummy access window. <a href="classarm__compute_1_1_access_window_auto_padding.xhtml#details">More...</a><br /></td></tr>
136 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
137 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_horizontal.xhtml">AccessWindowHorizontal</a></td></tr>
138 <tr class="memdesc:"><td class="mdescLeft"> </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>
139 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
140 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_rectangle.xhtml">AccessWindowRectangle</a></td></tr>
141 <tr class="memdesc:"><td class="mdescLeft"> </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>
142 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
143 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_static.xhtml">AccessWindowStatic</a></td></tr>
144 <tr class="memdesc:"><td class="mdescLeft"> </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>
145 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
146 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_transpose.xhtml">AccessWindowTranspose</a></td></tr>
147 <tr class="memdesc:"><td class="mdescLeft"> </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>
148 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
149 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_vertical.xhtml">AccessWindowVertical</a></td></tr>
150 <tr class="memdesc:"><td class="mdescLeft"> </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>
151 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
152 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">ActivationLayerInfo</a></td></tr>
153 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Activation Layer Information class. <a href="classarm__compute_1_1_activation_layer_info.xhtml#details">More...</a><br /></td></tr>
154 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
155 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_array.xhtml">Array</a></td></tr>
156 <tr class="memdesc:"><td class="mdescLeft"> </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>
157 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
158 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td></tr>
159 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Container for 2D border size. <a href="structarm__compute_1_1_border_size.xhtml#details">More...</a><br /></td></tr>
160 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
161 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference.xhtml">CLAbsoluteDifference</a></td></tr>
162 <tr class="memdesc:"><td class="mdescLeft"> </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>
163 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
164 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a></td></tr>
165 <tr class="memdesc:"><td class="mdescLeft"> </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>
166 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
167 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate.xhtml">CLAccumulate</a></td></tr>
168 <tr class="memdesc:"><td class="mdescLeft"> </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>
169 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
170 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml">CLAccumulateKernel</a></td></tr>
171 <tr class="memdesc:"><td class="mdescLeft"> </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>
172 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
173 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared.xhtml">CLAccumulateSquared</a></td></tr>
174 <tr class="memdesc:"><td class="mdescLeft"> </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>
175 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
176 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml">CLAccumulateSquaredKernel</a></td></tr>
177 <tr class="memdesc:"><td class="mdescLeft"> </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>
178 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
179 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml">CLAccumulateWeighted</a></td></tr>
180 <tr class="memdesc:"><td class="mdescLeft"> </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>
181 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
182 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a></td></tr>
183 <tr class="memdesc:"><td class="mdescLeft"> </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>
184 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
185 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer.xhtml">CLActivationLayer</a></td></tr>
186 <tr class="memdesc:"><td class="mdescLeft"> </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>
187 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
188 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a></td></tr>
189 <tr class="memdesc:"><td class="mdescLeft"> </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>
190 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
191 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition.xhtml">CLArithmeticAddition</a></td></tr>
192 <tr class="memdesc:"><td class="mdescLeft"> </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>
193 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
194 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a></td></tr>
195 <tr class="memdesc:"><td class="mdescLeft"> </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>
196 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
197 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml">CLArithmeticSubtraction</a></td></tr>
198 <tr class="memdesc:"><td class="mdescLeft"> </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>
199 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
200 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a></td></tr>
201 <tr class="memdesc:"><td class="mdescLeft"> </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>
202 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
203 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a></td></tr>
204 <tr class="memdesc:"><td class="mdescLeft"> </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>
205 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
206 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and.xhtml">CLBitwiseAnd</a></td></tr>
207 <tr class="memdesc:"><td class="mdescLeft"> </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>
208 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
209 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml">CLBitwiseAndKernel</a></td></tr>
210 <tr class="memdesc:"><td class="mdescLeft"> </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>
211 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
212 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not.xhtml">CLBitwiseNot</a></td></tr>
213 <tr class="memdesc:"><td class="mdescLeft"> </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>
214 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
215 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml">CLBitwiseNotKernel</a></td></tr>
216 <tr class="memdesc:"><td class="mdescLeft"> </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>
217 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
218 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or.xhtml">CLBitwiseOr</a></td></tr>
219 <tr class="memdesc:"><td class="mdescLeft"> </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>
220 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
221 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml">CLBitwiseOrKernel</a></td></tr>
222 <tr class="memdesc:"><td class="mdescLeft"> </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>
223 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
224 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor.xhtml">CLBitwiseXor</a></td></tr>
225 <tr class="memdesc:"><td class="mdescLeft"> </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>
226 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
227 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml">CLBitwiseXorKernel</a></td></tr>
228 <tr class="memdesc:"><td class="mdescLeft"> </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>
229 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
230 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_box3x3.xhtml">CLBox3x3</a></td></tr>
231 <tr class="memdesc:"><td class="mdescLeft"> </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>
232 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
233 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml">CLBox3x3Kernel</a></td></tr>
234 <tr class="memdesc:"><td class="mdescLeft"> </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>
235 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
236 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_canny_edge.xhtml">CLCannyEdge</a></td></tr>
237 <tr class="memdesc:"><td class="mdescLeft"> </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>
238 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
239 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine.xhtml">CLChannelCombine</a></td></tr>
240 <tr class="memdesc:"><td class="mdescLeft"> </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>
241 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
242 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml">CLChannelCombineKernel</a></td></tr>
243 <tr class="memdesc:"><td class="mdescLeft"> </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>
244 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
245 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract.xhtml">CLChannelExtract</a></td></tr>
246 <tr class="memdesc:"><td class="mdescLeft"> </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>
247 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
248 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml">CLChannelExtractKernel</a></td></tr>
249 <tr class="memdesc:"><td class="mdescLeft"> </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>
250 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
251 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a></td></tr>
252 <tr class="memdesc:"><td class="mdescLeft"> </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>
253 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
254 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml">CLCol2ImKernel</a></td></tr>
255 <tr class="memdesc:"><td class="mdescLeft"> </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>
256 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
257 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert.xhtml">CLColorConvert</a></td></tr>
258 <tr class="memdesc:"><td class="mdescLeft"> </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>
259 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
260 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a></td></tr>
261 <tr class="memdesc:"><td class="mdescLeft"> </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>
262 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
263 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution3x3.xhtml">CLConvolution3x3</a></td></tr>
264 <tr class="memdesc:"><td class="mdescLeft"> </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>
265 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
266 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a></td></tr>
267 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_c_l_convolution_kernel.xhtml#details">More...</a><br /></td></tr>
268 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
269 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer.xhtml">CLConvolutionLayer</a></td></tr>
270 <tr class="memdesc:"><td class="mdescLeft"> </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>
271 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
272 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer_weights_reshape_kernel.xhtml">CLConvolutionLayerWeightsReshapeKernel</a></td></tr>
273 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the weights reshape kernel used by convolution and fully connected layers. <a href="classarm__compute_1_1_c_l_convolution_layer_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
274 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
275 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml">CLConvolutionRectangle</a></td></tr>
276 <tr class="memdesc:"><td class="mdescLeft"> </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>
277 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
278 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml">CLConvolutionRectangleKernel</a></td></tr>
279 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml#details">More...</a><br /></td></tr>
280 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
281 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a></td></tr>
282 <tr class="memdesc:"><td class="mdescLeft"> </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>
283 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
284 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml">CLCopyToArrayKernel</a></td></tr>
285 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CL kernel to copy keypoints information to ICLKeyPointArray and counts the number of key points. <a href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml#details">More...</a><br /></td></tr>
286 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
287 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert.xhtml">CLDepthConvert</a></td></tr>
288 <tr class="memdesc:"><td class="mdescLeft"> </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>
289 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
290 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml">CLDepthConvertKernel</a></td></tr>
291 <tr class="memdesc:"><td class="mdescLeft"> </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>
292 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
293 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative.xhtml">CLDerivative</a></td></tr>
294 <tr class="memdesc:"><td class="mdescLeft"> </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>
295 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
296 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative_kernel.xhtml">CLDerivativeKernel</a></td></tr>
297 <tr class="memdesc:"><td class="mdescLeft"> </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>
298 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
299 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate.xhtml">CLDilate</a></td></tr>
300 <tr class="memdesc:"><td class="mdescLeft"> </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>
301 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
302 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate_kernel.xhtml">CLDilateKernel</a></td></tr>
303 <tr class="memdesc:"><td class="mdescLeft"> </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>
304 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
305 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml">CLDistribution1D</a></td></tr>
306 <tr class="memdesc:"><td class="mdescLeft"> </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>
307 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
308 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml">CLEdgeNonMaxSuppressionKernel</a></td></tr>
309 <tr class="memdesc:"><td class="mdescLeft"> </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>
310 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
311 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml">CLEdgeTraceKernel</a></td></tr>
312 <tr class="memdesc:"><td class="mdescLeft"> </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>
313 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
314 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_equalize_histogram.xhtml">CLEqualizeHistogram</a></td></tr>
315 <tr class="memdesc:"><td class="mdescLeft"> </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>
316 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
317 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode.xhtml">CLErode</a></td></tr>
318 <tr class="memdesc:"><td class="mdescLeft"> </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>
319 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
320 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode_kernel.xhtml">CLErodeKernel</a></td></tr>
321 <tr class="memdesc:"><td class="mdescLeft"> </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>
322 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
323 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners.xhtml">CLFastCorners</a></td></tr>
324 <tr class="memdesc:"><td class="mdescLeft"> </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>
325 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
326 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml">CLFastCornersKernel</a></td></tr>
327 <tr class="memdesc:"><td class="mdescLeft"> </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>
328 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
329 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border.xhtml">CLFillBorder</a></td></tr>
330 <tr class="memdesc:"><td class="mdescLeft"> </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>
331 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
332 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a></td></tr>
333 <tr class="memdesc:"><td class="mdescLeft"> </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>
334 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
335 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml">CLFullyConnectedLayer</a></td></tr>
336 <tr class="memdesc:"><td class="mdescLeft"> </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>
337 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
338 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3.xhtml">CLGaussian3x3</a></td></tr>
339 <tr class="memdesc:"><td class="mdescLeft"> </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>
340 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
341 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml">CLGaussian3x3Kernel</a></td></tr>
342 <tr class="memdesc:"><td class="mdescLeft"> </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>
343 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
344 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5.xhtml">CLGaussian5x5</a></td></tr>
345 <tr class="memdesc:"><td class="mdescLeft"> </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>
346 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
347 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml">CLGaussian5x5HorKernel</a></td></tr>
348 <tr class="memdesc:"><td class="mdescLeft"> </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>
349 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
350 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml">CLGaussian5x5VertKernel</a></td></tr>
351 <tr class="memdesc:"><td class="mdescLeft"> </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>
352 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
353 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml">CLGaussianPyramid</a></td></tr>
354 <tr class="memdesc:"><td class="mdescLeft"> </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>
355 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
356 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml">CLGaussianPyramidHalf</a></td></tr>
357 <tr class="memdesc:"><td class="mdescLeft"> </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>
358 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
359 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml">CLGaussianPyramidHorKernel</a></td></tr>
360 <tr class="memdesc:"><td class="mdescLeft"> </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>
361 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
362 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml">CLGaussianPyramidOrb</a></td></tr>
363 <tr class="memdesc:"><td class="mdescLeft"> </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>
364 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
365 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml">CLGaussianPyramidVertKernel</a></td></tr>
366 <tr class="memdesc:"><td class="mdescLeft"> </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>
367 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
368 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m.xhtml">CLGEMM</a></td></tr>
369 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMM on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m.xhtml#details">More...</a><br /></td></tr>
370 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
371 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml">CLGEMMInterleave4x4Kernel</a></td></tr>
372 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. <a href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
373 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
374 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp.xhtml">CLGEMMLowp</a></td></tr>
375 <tr class="memdesc:"><td class="mdescLeft"> </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>
376 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
377 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">CLGEMMLowpMatrixMultiplyKernel</a></td></tr>
378 <tr class="memdesc:"><td class="mdescLeft"> </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>
379 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
380 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">CLGEMMMatrixAccumulateBiasesKernel</a></td></tr>
381 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br /></td></tr>
382 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
383 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml">CLGEMMMatrixAdditionKernel</a></td></tr>
384 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform the in-place matrix addition between 2 matrices, taking into account that the second matrix might be weighted by a scalar value beta. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br /></td></tr>
385 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
386 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml">CLGEMMMatrixMultiplyKernel</a></td></tr>
387 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply two input matrices "A" and "B" or to multiply a vector "A" by a matrix "B". <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
388 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
389 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml">CLGEMMTranspose1xWKernel</a></td></tr>
390 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel which transposes the elements of a matrix in chunks of 1x4 if the input data type is F32 or in chunks of 1x8 if the input data type is F16. <a href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br /></td></tr>
391 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
392 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gradient_kernel.xhtml">CLGradientKernel</a></td></tr>
393 <tr class="memdesc:"><td class="mdescLeft"> </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>
394 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
395 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_corners.xhtml">CLHarrisCorners</a></td></tr>
396 <tr class="memdesc:"><td class="mdescLeft"> </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>
397 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
398 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml">CLHarrisScoreKernel</a></td></tr>
399 <tr class="memdesc:"><td class="mdescLeft"> </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>
400 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
401 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram.xhtml">CLHistogram</a></td></tr>
402 <tr class="memdesc:"><td class="mdescLeft"> </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>
403 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
404 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml">CLHistogramBorderKernel</a></td></tr>
405 <tr class="memdesc:"><td class="mdescLeft"> </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>
406 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
407 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_kernel.xhtml">CLHistogramKernel</a></td></tr>
408 <tr class="memdesc:"><td class="mdescLeft"> </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>
409 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
410 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml">CLIm2ColKernel</a></td></tr>
411 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
412 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
413 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image.xhtml">CLIntegralImage</a></td></tr>
414 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute integral image. <a href="classarm__compute_1_1_c_l_integral_image.xhtml#details">More...</a><br /></td></tr>
415 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
416 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml">CLIntegralImageHorKernel</a></td></tr>
417 <tr class="memdesc:"><td class="mdescLeft"> </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>
418 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
419 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml">CLIntegralImageVertKernel</a></td></tr>
420 <tr class="memdesc:"><td class="mdescLeft"> </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>
421 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
422 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml">CLKernelLibrary</a></td></tr>
423 <tr class="memdesc:"><td class="mdescLeft"> </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>
424 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
425 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml">CLLaplacianPyramid</a></td></tr>
426 <tr class="memdesc:"><td class="mdescLeft"> </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>
427 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
428 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml">CLLaplacianReconstruct</a></td></tr>
429 <tr class="memdesc:"><td class="mdescLeft"> </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>
430 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
431 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a></td></tr>
432 <tr class="memdesc:"><td class="mdescLeft"> </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>
433 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
434 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml">CLLKTrackerFinalizeKernel</a></td></tr>
435 <tr class="memdesc:"><td class="mdescLeft"> </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>
436 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
437 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml">CLLKTrackerInitKernel</a></td></tr>
438 <tr class="memdesc:"><td class="mdescLeft"> </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>
439 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
440 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml">CLLKTrackerStage0Kernel</a></td></tr>
441 <tr class="memdesc:"><td class="mdescLeft"> </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>
442 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
443 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml">CLLKTrackerStage1Kernel</a></td></tr>
444 <tr class="memdesc:"><td class="mdescLeft"> </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>
445 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
446 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml">CLLogits1DMaxKernel</a></td></tr>
447 <tr class="memdesc:"><td class="mdescLeft"> </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>
448 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
449 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml">CLLogits1DNormKernel</a></td></tr>
450 <tr class="memdesc:"><td class="mdescLeft"> </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>
451 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
452 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml">CLLogits1DShiftExpSumKernel</a></td></tr>
453 <tr class="memdesc:"><td class="mdescLeft"> </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>
454 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
455 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml">CLLut</a></td></tr>
456 <tr class="memdesc:"><td class="mdescLeft"> </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>
457 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
458 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut_allocator.xhtml">CLLutAllocator</a></td></tr>
459 <tr class="memdesc:"><td class="mdescLeft"> </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>
460 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
461 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude.xhtml">CLMagnitude</a></td></tr>
462 <tr class="memdesc:"><td class="mdescLeft"> </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>
463 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
464 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a></td></tr>
465 <tr class="memdesc:"><td class="mdescLeft"> </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>
466 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
467 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev.xhtml">CLMeanStdDev</a></td></tr>
468 <tr class="memdesc:"><td class="mdescLeft"> </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>
469 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
470 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a></td></tr>
471 <tr class="memdesc:"><td class="mdescLeft"> </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>
472 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
473 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3.xhtml">CLMedian3x3</a></td></tr>
474 <tr class="memdesc:"><td class="mdescLeft"> </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>
475 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
476 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml">CLMedian3x3Kernel</a></td></tr>
477 <tr class="memdesc:"><td class="mdescLeft"> </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>
478 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
479 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_kernel.xhtml">CLMinMaxKernel</a></td></tr>
480 <tr class="memdesc:"><td class="mdescLeft"> </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>
481 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
482 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location.xhtml">CLMinMaxLocation</a></td></tr>
483 <tr class="memdesc:"><td class="mdescLeft"> </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>
484 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
485 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml">CLMinMaxLocationKernel</a></td></tr>
486 <tr class="memdesc:"><td class="mdescLeft"> </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>
487 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
488 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_image.xhtml">CLMultiImage</a></td></tr>
489 <tr class="memdesc:"><td class="mdescLeft"> </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>
490 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
491 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter.xhtml">CLNonLinearFilter</a></td></tr>
492 <tr class="memdesc:"><td class="mdescLeft"> </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>
493 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
494 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml">CLNonLinearFilterKernel</a></td></tr>
495 <tr class="memdesc:"><td class="mdescLeft"> </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>
496 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
497 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml">CLNonMaximaSuppression3x3</a></td></tr>
498 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml#details">More...</a><br /></td></tr>
499 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
500 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml">CLNonMaximaSuppression3x3Kernel</a></td></tr>
501 <tr class="memdesc:"><td class="mdescLeft"> </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>
502 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
503 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer.xhtml">CLNormalizationLayer</a></td></tr>
504 <tr class="memdesc:"><td class="mdescLeft"> </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>
505 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
506 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a></td></tr>
507 <tr class="memdesc:"><td class="mdescLeft"> </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>
508 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
509 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a></td></tr>
510 <tr class="memdesc:"><td class="mdescLeft"> </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>
511 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
512 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_optical_flow.xhtml">CLOpticalFlow</a></td></tr>
513 <tr class="memdesc:"><td class="mdescLeft"> </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>
514 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
515 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_phase.xhtml">CLPhase</a></td></tr>
516 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute an <a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_c_l_phase.xhtml#details">More...</a><br /></td></tr>
517 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
518 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml">CLPixelWiseMultiplication</a></td></tr>
519 <tr class="memdesc:"><td class="mdescLeft"> </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>
520 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
521 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a></td></tr>
522 <tr class="memdesc:"><td class="mdescLeft"> </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>
523 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
524 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer.xhtml">CLPoolingLayer</a></td></tr>
525 <tr class="memdesc:"><td class="mdescLeft"> </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>
526 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
527 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml">CLPoolingLayerKernel</a></td></tr>
528 <tr class="memdesc:"><td class="mdescLeft"> </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>
529 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
530 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pyramid.xhtml">CLPyramid</a></td></tr>
531 <tr class="memdesc:"><td class="mdescLeft"> </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>
532 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
533 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap.xhtml">CLRemap</a></td></tr>
534 <tr class="memdesc:"><td class="mdescLeft"> </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>
535 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
536 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap_kernel.xhtml">CLRemapKernel</a></td></tr>
537 <tr class="memdesc:"><td class="mdescLeft"> </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>
538 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
539 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale.xhtml">CLScale</a></td></tr>
540 <tr class="memdesc:"><td class="mdescLeft"> </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>
541 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
542 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a></td></tr>
543 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the warp affine kernel. <a href="classarm__compute_1_1_c_l_scale_kernel.xhtml#details">More...</a><br /></td></tr>
544 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
545 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3.xhtml">CLScharr3x3</a></td></tr>
546 <tr class="memdesc:"><td class="mdescLeft"> </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>
547 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
548 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml">CLScharr3x3Kernel</a></td></tr>
549 <tr class="memdesc:"><td class="mdescLeft"> </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>
550 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
551 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scheduler.xhtml">CLScheduler</a></td></tr>
552 <tr class="memdesc:"><td class="mdescLeft"> </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>
553 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
554 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a></td></tr>
555 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the 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>
556 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
557 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a></td></tr>
558 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the 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>
559 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
560 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3.xhtml">CLSobel3x3</a></td></tr>
561 <tr class="memdesc:"><td class="mdescLeft"> </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>
562 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
563 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml">CLSobel3x3Kernel</a></td></tr>
564 <tr class="memdesc:"><td class="mdescLeft"> </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>
565 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
566 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5.xhtml">CLSobel5x5</a></td></tr>
567 <tr class="memdesc:"><td class="mdescLeft"> </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>
568 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
569 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml">CLSobel5x5HorKernel</a></td></tr>
570 <tr class="memdesc:"><td class="mdescLeft"> </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>
571 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
572 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml">CLSobel5x5VertKernel</a></td></tr>
573 <tr class="memdesc:"><td class="mdescLeft"> </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>
574 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
575 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7.xhtml">CLSobel7x7</a></td></tr>
576 <tr class="memdesc:"><td class="mdescLeft"> </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>
577 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
578 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml">CLSobel7x7HorKernel</a></td></tr>
579 <tr class="memdesc:"><td class="mdescLeft"> </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>
580 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
581 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml">CLSobel7x7VertKernel</a></td></tr>
582 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml#details">More...</a><br /></td></tr>
583 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
584 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_softmax_layer.xhtml">CLSoftmaxLayer</a></td></tr>
585 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_c_l_softmax_layer.xhtml#details">More...</a><br /></td></tr>
586 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
587 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup.xhtml">CLTableLookup</a></td></tr>
588 <tr class="memdesc:"><td class="mdescLeft"> </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>
589 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
590 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a></td></tr>
591 <tr class="memdesc:"><td class="mdescLeft"> </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>
592 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
593 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
594 <tr class="memdesc:"><td class="mdescLeft"> </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>
595 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
596 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor_allocator.xhtml">CLTensorAllocator</a></td></tr>
597 <tr class="memdesc:"><td class="mdescLeft"> </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>
598 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
599 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold.xhtml">CLThreshold</a></td></tr>
600 <tr class="memdesc:"><td class="mdescLeft"> </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>
601 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
602 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold_kernel.xhtml">CLThresholdKernel</a></td></tr>
603 <tr class="memdesc:"><td class="mdescLeft"> </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>
604 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
605 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose.xhtml">CLTranspose</a></td></tr>
606 <tr class="memdesc:"><td class="mdescLeft"> </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>
607 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
608 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose_kernel.xhtml">CLTransposeKernel</a></td></tr>
609 <tr class="memdesc:"><td class="mdescLeft"> </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>
610 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
611 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine.xhtml">CLWarpAffine</a></td></tr>
612 <tr class="memdesc:"><td class="mdescLeft"> </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>
613 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
614 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a></td></tr>
615 <tr class="memdesc:"><td class="mdescLeft"> </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>
616 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
617 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective.xhtml">CLWarpPerspective</a></td></tr>
618 <tr class="memdesc:"><td class="mdescLeft"> </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>
619 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
620 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a></td></tr>
621 <tr class="memdesc:"><td class="mdescLeft"> </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>
622 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
623 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a></td></tr>
624 <tr class="memdesc:"><td class="mdescLeft"> </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>
625 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
626 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a></td></tr>
627 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates2_d.xhtml#details">More...</a><br /></td></tr>
628 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
629 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates3_d.xhtml">Coordinates3D</a></td></tr>
630 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates3_d.xhtml#details">More...</a><br /></td></tr>
631 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
632 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml">CPPCornerCandidatesKernel</a></td></tr>
633 <tr class="memdesc:"><td class="mdescLeft"> </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>
634 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
635 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
636 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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>
637 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
638 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml">CPPSortEuclideanDistanceKernel</a></td></tr>
639 <tr class="memdesc:"><td class="mdescLeft"> </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>
640 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
641 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a></td></tr>
642 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Detection window used for the object detection. <a href="structarm__compute_1_1_detection_window.xhtml#details">More...</a><br /></td></tr>
643 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
644 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a></td></tr>
645 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> with dimensionality. <a href="classarm__compute_1_1_dimensions.xhtml#details">More...</a><br /></td></tr>
646 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
647 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
648 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the 1D distribution interface. <a href="classarm__compute_1_1_distribution1_d.xhtml#details">More...</a><br /></td></tr>
649 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
650 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g.xhtml">HOG</a></td></tr>
651 <tr class="memdesc:"><td class="mdescLeft"> </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>
652 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
653 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a></td></tr>
654 <tr class="memdesc:"><td class="mdescLeft"> </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>
655 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
656 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_access_window.xhtml">IAccessWindow</a></td></tr>
657 <tr class="memdesc:"><td class="mdescLeft"> </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>
658 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
659 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a></td></tr>
660 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a> of type T. <a href="classarm__compute_1_1_i_array.xhtml#details">More...</a><br /></td></tr>
661 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
662 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a></td></tr>
663 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a>. <a href="classarm__compute_1_1_i_c_l_array.xhtml#details">More...</a><br /></td></tr>
664 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
665 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a></td></tr>
666 <tr class="memdesc:"><td class="mdescLeft"> </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>
667 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
668 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a></td></tr>
669 <tr class="memdesc:"><td class="mdescLeft"> </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>
670 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
671 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a></td></tr>
672 <tr class="memdesc:"><td class="mdescLeft"> </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>
673 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
674 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_image.xhtml">ICLMultiImage</a></td></tr>
675 <tr class="memdesc:"><td class="mdescLeft"> </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>
676 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
677 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml">ICLSimple2DKernel</a></td></tr>
678 <tr class="memdesc:"><td class="mdescLeft"> </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>
679 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
680 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml">ICLSimple3DKernel</a></td></tr>
681 <tr class="memdesc:"><td class="mdescLeft"> </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>
682 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
683 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_function.xhtml">ICLSimpleFunction</a></td></tr>
684 <tr class="memdesc:"><td class="mdescLeft"> </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>
685 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
686 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml">ICLSimpleKernel</a></td></tr>
687 <tr class="memdesc:"><td class="mdescLeft"> </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>
688 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
689 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a></td></tr>
690 <tr class="memdesc:"><td class="mdescLeft"> </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>
691 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
692 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
693 <tr class="memdesc:"><td class="mdescLeft"> </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>
694 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
695 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
696 <tr class="memdesc:"><td class="mdescLeft"> </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>
697 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
698 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution.xhtml">IDistribution</a></td></tr>
699 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for distribution objects. <a href="classarm__compute_1_1_i_distribution.xhtml#details">More...</a><br /></td></tr>
700 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
701 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml">IDistribution1D</a></td></tr>
702 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">1D Distribution interface <a href="classarm__compute_1_1_i_distribution1_d.xhtml#details">More...</a><br /></td></tr>
703 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
704 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_function.xhtml">IFunction</a></td></tr>
705 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class for all functions. <a href="classarm__compute_1_1_i_function.xhtml#details">More...</a><br /></td></tr>
706 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
707 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_h_o_g.xhtml">IHOG</a></td></tr>
708 <tr class="memdesc:"><td class="mdescLeft"> </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>
709 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
710 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a></td></tr>
711 <tr class="memdesc:"><td class="mdescLeft"> </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>
712 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
713 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut.xhtml">ILut</a></td></tr>
714 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Lookup Table object interface. <a href="classarm__compute_1_1_i_lut.xhtml#details">More...</a><br /></td></tr>
715 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
716 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut_allocator.xhtml">ILutAllocator</a></td></tr>
717 <tr class="memdesc:"><td class="mdescLeft"> </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>
718 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
719 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a></td></tr>
720 <tr class="memdesc:"><td class="mdescLeft"> </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>
721 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
722 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_image.xhtml">IMultiImage</a></td></tr>
723 <tr class="memdesc:"><td class="mdescLeft"> </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>
724 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
725 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml">INEHarrisScoreKernel</a></td></tr>
726 <tr class="memdesc:"><td class="mdescLeft"> </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>
727 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
728 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_simple_function.xhtml">INESimpleFunction</a></td></tr>
729 <tr class="memdesc:"><td class="mdescLeft"> </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>
730 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
731 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml">INEWarpKernel</a></td></tr>
732 <tr class="memdesc:"><td class="mdescLeft"> </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>
733 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
734 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_i_o_format_info.xhtml">IOFormatInfo</a></td></tr>
735 <tr class="memdesc:"><td class="mdescLeft"> </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>
736 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
737 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_pyramid.xhtml">IPyramid</a></td></tr>
738 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for pyramid data-object. <a href="classarm__compute_1_1_i_pyramid.xhtml#details">More...</a><br /></td></tr>
739 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
740 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
741 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for NEON tensor. <a href="classarm__compute_1_1_i_tensor.xhtml#details">More...</a><br /></td></tr>
742 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
743 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_allocator.xhtml">ITensorAllocator</a></td></tr>
744 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to allocate tensors. <a href="classarm__compute_1_1_i_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
745 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
746 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_iterator.xhtml">Iterator</a></td></tr>
747 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_iterator.xhtml" title="Iterator updated by execute_window_loop for each window element. ">Iterator</a> updated by <a class="el" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a> for each window element. <a href="classarm__compute_1_1_iterator.xhtml#details">More...</a><br /></td></tr>
748 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
749 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a></td></tr>
750 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> class. <a href="classarm__compute_1_1_kernel.xhtml#details">More...</a><br /></td></tr>
751 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
752 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a></td></tr>
753 <tr class="memdesc:"><td class="mdescLeft"> </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>
754 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
755 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut.xhtml">Lut</a></td></tr>
756 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the LUT interface. <a href="classarm__compute_1_1_lut.xhtml#details">More...</a><br /></td></tr>
757 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
758 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut_allocator.xhtml">LutAllocator</a></td></tr>
759 <tr class="memdesc:"><td class="mdescLeft"> </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>
760 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
761 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_h_o_g.xhtml">MultiHOG</a></td></tr>
762 <tr class="memdesc:"><td class="mdescLeft"> </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>
763 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
764 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image.xhtml">MultiImage</a></td></tr>
765 <tr class="memdesc:"><td class="mdescLeft"> </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>
766 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
767 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image_info.xhtml">MultiImageInfo</a></td></tr>
768 <tr class="memdesc:"><td class="mdescLeft"> </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>
769 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
770 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference.xhtml">NEAbsoluteDifference</a></td></tr>
771 <tr class="memdesc:"><td class="mdescLeft"> </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>
772 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
773 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a></td></tr>
774 <tr class="memdesc:"><td class="mdescLeft"> </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>
775 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
776 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate.xhtml">NEAccumulate</a></td></tr>
777 <tr class="memdesc:"><td class="mdescLeft"> </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>
778 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
779 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a></td></tr>
780 <tr class="memdesc:"><td class="mdescLeft"> </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>
781 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
782 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared.xhtml">NEAccumulateSquared</a></td></tr>
783 <tr class="memdesc:"><td class="mdescLeft"> </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>
784 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
785 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a></td></tr>
786 <tr class="memdesc:"><td class="mdescLeft"> </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>
787 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
788 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml">NEAccumulateWeighted</a></td></tr>
789 <tr class="memdesc:"><td class="mdescLeft"> </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>
790 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
791 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml">NEAccumulateWeightedFP16Kernel</a></td></tr>
792 <tr class="memdesc:"><td class="mdescLeft"> </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>
793 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
794 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td></tr>
795 <tr class="memdesc:"><td class="mdescLeft"> </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>
796 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
797 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer.xhtml">NEActivationLayer</a></td></tr>
798 <tr class="memdesc:"><td class="mdescLeft"> </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>
799 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
800 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a></td></tr>
801 <tr class="memdesc:"><td class="mdescLeft"> </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>
802 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
803 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml">NEArithmeticAddition</a></td></tr>
804 <tr class="memdesc:"><td class="mdescLeft"> </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>
805 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
806 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a></td></tr>
807 <tr class="memdesc:"><td class="mdescLeft"> </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>
808 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
809 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml">NEArithmeticSubtraction</a></td></tr>
810 <tr class="memdesc:"><td class="mdescLeft"> </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>
811 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
812 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a></td></tr>
813 <tr class="memdesc:"><td class="mdescLeft"> </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>
814 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
815 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and.xhtml">NEBitwiseAnd</a></td></tr>
816 <tr class="memdesc:"><td class="mdescLeft"> </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>
817 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
818 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a></td></tr>
819 <tr class="memdesc:"><td class="mdescLeft"> </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>
820 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
821 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not.xhtml">NEBitwiseNot</a></td></tr>
822 <tr class="memdesc:"><td class="mdescLeft"> </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>
823 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
824 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a></td></tr>
825 <tr class="memdesc:"><td class="mdescLeft"> </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>
826 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
827 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or.xhtml">NEBitwiseOr</a></td></tr>
828 <tr class="memdesc:"><td class="mdescLeft"> </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>
829 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
830 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a></td></tr>
831 <tr class="memdesc:"><td class="mdescLeft"> </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>
832 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
833 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor.xhtml">NEBitwiseXor</a></td></tr>
834 <tr class="memdesc:"><td class="mdescLeft"> </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>
835 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
836 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a></td></tr>
837 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml#details">More...</a><br /></td></tr>
838 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
839 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3.xhtml">NEBox3x3</a></td></tr>
840 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_n_e_box3x3.xhtml#details">More...</a><br /></td></tr>
841 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
842 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml">NEBox3x3FP16Kernel</a></td></tr>
843 <tr class="memdesc:"><td class="mdescLeft"> </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>
844 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
845 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
846 <tr class="memdesc:"><td class="mdescLeft"> </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>
847 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
848 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_canny_edge.xhtml">NECannyEdge</a></td></tr>
849 <tr class="memdesc:"><td class="mdescLeft"> </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>
850 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
851 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine.xhtml">NEChannelCombine</a></td></tr>
852 <tr class="memdesc:"><td class="mdescLeft"> </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>
853 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
854 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a></td></tr>
855 <tr class="memdesc:"><td class="mdescLeft"> </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>
856 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
857 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract.xhtml">NEChannelExtract</a></td></tr>
858 <tr class="memdesc:"><td class="mdescLeft"> </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>
859 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
860 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a></td></tr>
861 <tr class="memdesc:"><td class="mdescLeft"> </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>
862 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
863 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml">NECol2ImKernel</a></td></tr>
864 <tr class="memdesc:"><td class="mdescLeft"> </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>
865 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
866 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert.xhtml">NEColorConvert</a></td></tr>
867 <tr class="memdesc:"><td class="mdescLeft"> </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>
868 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
869 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a></td></tr>
870 <tr class="memdesc:"><td class="mdescLeft"> </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>
871 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
872 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution3x3.xhtml">NEConvolution3x3</a></td></tr>
873 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_n_e_convolution3x3.xhtml#details">More...</a><br /></td></tr>
874 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
875 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution5x5.xhtml">NEConvolution5x5</a></td></tr>
876 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 5x5. <a href="classarm__compute_1_1_n_e_convolution5x5.xhtml#details">More...</a><br /></td></tr>
877 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
878 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution7x7.xhtml">NEConvolution7x7</a></td></tr>
879 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 7x7. <a href="classarm__compute_1_1_n_e_convolution7x7.xhtml#details">More...</a><br /></td></tr>
880 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
881 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution9x9.xhtml">NEConvolution9x9</a></td></tr>
882 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 9x9. <a href="classarm__compute_1_1_n_e_convolution9x9.xhtml#details">More...</a><br /></td></tr>
883 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
884 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a></td></tr>
885 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_n_e_convolution_kernel.xhtml#details">More...</a><br /></td></tr>
886 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
887 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer.xhtml">NEConvolutionLayer</a></td></tr>
888 <tr class="memdesc:"><td class="mdescLeft"> </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>
889 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
890 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer_weights_reshape_kernel.xhtml">NEConvolutionLayerWeightsReshapeKernel</a></td></tr>
891 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform reshaping on the weights used by convolution layer. <a href="classarm__compute_1_1_n_e_convolution_layer_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
892 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
893 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml">NEConvolutionRectangle</a></td></tr>
894 <tr class="memdesc:"><td class="mdescLeft"> </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>
895 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
896 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml">NEConvolutionRectangleKernel</a></td></tr>
897 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml#details">More...</a><br /></td></tr>
898 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
899 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml">NECumulativeDistributionKernel</a></td></tr>
900 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the cumulative distribution (cummulative summmation) calculation kernel. <a href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml#details">More...</a><br /></td></tr>
901 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
902 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert.xhtml">NEDepthConvert</a></td></tr>
903 <tr class="memdesc:"><td class="mdescLeft"> </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>
904 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
905 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml">NEDepthConvertKernel</a></td></tr>
906 <tr class="memdesc:"><td class="mdescLeft"> </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>
907 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
908 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative.xhtml">NEDerivative</a></td></tr>
909 <tr class="memdesc:"><td class="mdescLeft"> </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>
910 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
911 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative_kernel.xhtml">NEDerivativeKernel</a></td></tr>
912 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the derivative along the X/Y directions on a tensor. <a href="classarm__compute_1_1_n_e_derivative_kernel.xhtml#details">More...</a><br /></td></tr>
913 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
914 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate.xhtml">NEDilate</a></td></tr>
915 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_n_e_dilate.xhtml#details">More...</a><br /></td></tr>
916 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
917 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate_kernel.xhtml">NEDilateKernel</a></td></tr>
918 <tr class="memdesc:"><td class="mdescLeft"> </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>
919 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
920 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml">NEEdgeNonMaxSuppressionKernel</a></td></tr>
921 <tr class="memdesc:"><td class="mdescLeft"> </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>
922 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
923 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml">NEEdgeTraceKernel</a></td></tr>
924 <tr class="memdesc:"><td class="mdescLeft"> </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>
925 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
926 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_equalize_histogram.xhtml">NEEqualizeHistogram</a></td></tr>
927 <tr class="memdesc:"><td class="mdescLeft"> </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>
928 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
929 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode.xhtml">NEErode</a></td></tr>
930 <tr class="memdesc:"><td class="mdescLeft"> </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>
931 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
932 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode_kernel.xhtml">NEErodeKernel</a></td></tr>
933 <tr class="memdesc:"><td class="mdescLeft"> </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>
934 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
935 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners.xhtml">NEFastCorners</a></td></tr>
936 <tr class="memdesc:"><td class="mdescLeft"> </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>
937 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
938 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml">NEFastCornersKernel</a></td></tr>
939 <tr class="memdesc:"><td class="mdescLeft"> </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>
940 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
941 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml">NEFillArrayKernel</a></td></tr>
942 <tr class="memdesc:"><td class="mdescLeft"> </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>
943 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
944 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border.xhtml">NEFillBorder</a></td></tr>
945 <tr class="memdesc:"><td class="mdescLeft"> </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>
946 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
947 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a></td></tr>
948 <tr class="memdesc:"><td class="mdescLeft"> </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>
949 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
950 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml">NEFillInnerBorderKernel</a></td></tr>
951 <tr class="memdesc:"><td class="mdescLeft"> </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>
952 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
953 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer.xhtml">NEFullyConnectedLayer</a></td></tr>
954 <tr class="memdesc:"><td class="mdescLeft"> </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>
955 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
956 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3.xhtml">NEGaussian3x3</a></td></tr>
957 <tr class="memdesc:"><td class="mdescLeft"> </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>
958 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
959 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml">NEGaussian3x3Kernel</a></td></tr>
960 <tr class="memdesc:"><td class="mdescLeft"> </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>
961 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
962 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5.xhtml">NEGaussian5x5</a></td></tr>
963 <tr class="memdesc:"><td class="mdescLeft"> </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>
964 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
965 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml">NEGaussian5x5HorKernel</a></td></tr>
966 <tr class="memdesc:"><td class="mdescLeft"> </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>
967 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
968 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml">NEGaussian5x5VertKernel</a></td></tr>
969 <tr class="memdesc:"><td class="mdescLeft"> </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>
970 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
971 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid.xhtml">NEGaussianPyramid</a></td></tr>
972 <tr class="memdesc:"><td class="mdescLeft"> </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>
973 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
974 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml">NEGaussianPyramidHalf</a></td></tr>
975 <tr class="memdesc:"><td class="mdescLeft"> </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>
976 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
977 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml">NEGaussianPyramidHorKernel</a></td></tr>
978 <tr class="memdesc:"><td class="mdescLeft"> </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>
979 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
980 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml">NEGaussianPyramidOrb</a></td></tr>
981 <tr class="memdesc:"><td class="mdescLeft"> </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>
982 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
983 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml">NEGaussianPyramidVertKernel</a></td></tr>
984 <tr class="memdesc:"><td class="mdescLeft"> </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>
985 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
986 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m.xhtml">NEGEMM</a></td></tr>
987 <tr class="memdesc:"><td class="mdescLeft"> </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>
988 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
989 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml">NEGEMMInterleave4x4</a></td></tr>
990 <tr class="memdesc:"><td class="mdescLeft"> </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>
991 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
992 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml">NEGEMMInterleave4x4Kernel</a></td></tr>
993 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to interleave the elements of a matrix. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
994 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
995 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp.xhtml">NEGEMMLowp</a></td></tr>
996 <tr class="memdesc:"><td class="mdescLeft"> </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>
997 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
998 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a></td></tr>
999 <tr class="memdesc:"><td class="mdescLeft"> </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>
1000 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1001 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">NEGEMMMatrixAccumulateBiasesKernel</a></td></tr>
1002 <tr class="memdesc:"><td class="mdescLeft"> </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>
1003 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1004 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml">NEGEMMMatrixAdditionKernel</a></td></tr>
1005 <tr class="memdesc:"><td class="mdescLeft"> </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>
1006 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1007 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml">NEGEMMMatrixMultiplyKernel</a></td></tr>
1008 <tr class="memdesc:"><td class="mdescLeft"> </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>
1009 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1010 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml">NEGEMMTranspose1xW</a></td></tr>
1011 <tr class="memdesc:"><td class="mdescLeft"> </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 1x4 if the input data type is F32 ...">NEGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br /></td></tr>
1012 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1013 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml">NEGEMMTranspose1xWKernel</a></td></tr>
1014 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel which transposes the elements of a matrix in chunks of 1x4 if the input data type is F32 or in chunks of 1x8 if the input data type is F16. <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br /></td></tr>
1015 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1016 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml">NEGradientFP16Kernel</a></td></tr>
1017 <tr class="memdesc:"><td class="mdescLeft"> </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>
1018 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1019 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
1020 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Computes magnitude and quantised phase from inputs gradients. <a href="classarm__compute_1_1_n_e_gradient_kernel.xhtml#details">More...</a><br /></td></tr>
1021 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1022 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_corners.xhtml">NEHarrisCorners</a></td></tr>
1023 <tr class="memdesc:"><td class="mdescLeft"> </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>
1024 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1025 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml">NEHarrisScoreFP16Kernel</a></td></tr>
1026 <tr class="memdesc:"><td class="mdescLeft"> </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>
1027 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1028 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a></td></tr>
1029 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template NEON kernel to perform Harris Score. <a href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml#details">More...</a><br /></td></tr>
1030 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1031 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram.xhtml">NEHistogram</a></td></tr>
1032 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute histogram. <a href="classarm__compute_1_1_n_e_histogram.xhtml#details">More...</a><br /></td></tr>
1033 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1034 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram_border_kernel.xhtml">NEHistogramBorderKernel</a></td></tr>
1035 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the histogram border handling kernel. <a href="classarm__compute_1_1_n_e_histogram_border_kernel.xhtml#details">More...</a><br /></td></tr>
1036 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1037 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a></td></tr>
1038 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the histogram kernel. <a href="classarm__compute_1_1_n_e_histogram_kernel.xhtml#details">More...</a><br /></td></tr>
1039 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1040 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml">NEHOGBlockNormalizationKernel</a></td></tr>
1041 <tr class="memdesc:"><td class="mdescLeft"> </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>
1042 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1043 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_descriptor.xhtml">NEHOGDescriptor</a></td></tr>
1044 <tr class="memdesc:"><td class="mdescLeft"> </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>
1045 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1046 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector.xhtml">NEHOGDetector</a></td></tr>
1047 <tr class="memdesc:"><td class="mdescLeft"> </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>
1048 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1049 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml">NEHOGDetectorKernel</a></td></tr>
1050 <tr class="memdesc:"><td class="mdescLeft"> </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>
1051 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1052 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_gradient.xhtml">NEHOGGradient</a></td></tr>
1053 <tr class="memdesc:"><td class="mdescLeft"> </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>
1054 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1055 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_multi_detection.xhtml">NEHOGMultiDetection</a></td></tr>
1056 <tr class="memdesc:"><td class="mdescLeft"> </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>
1057 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1058 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_non_maxima_suppression_kernel.xhtml">NEHOGNonMaximaSuppressionKernel</a></td></tr>
1059 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform in-place computation of euclidean distance based non-maxima suppression 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_non_maxima_suppression_kernel.xhtml#details">More...</a><br /></td></tr>
1060 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1061 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml">NEHOGOrientationBinningKernel</a></td></tr>
1062 <tr class="memdesc:"><td class="mdescLeft"> </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>
1063 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1064 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml">NEIm2ColKernel</a></td></tr>
1065 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
1066 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1067 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image.xhtml">NEIntegralImage</a></td></tr>
1068 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run a <a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a>. <a href="classarm__compute_1_1_n_e_integral_image.xhtml#details">More...</a><br /></td></tr>
1069 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1070 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a></td></tr>
1071 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> 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>
1072 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1073 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_pyramid.xhtml">NELaplacianPyramid</a></td></tr>
1074 <tr class="memdesc:"><td class="mdescLeft"> </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>
1075 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1076 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_reconstruct.xhtml">NELaplacianReconstruct</a></td></tr>
1077 <tr class="memdesc:"><td class="mdescLeft"> </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>
1078 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1079 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a></td></tr>
1080 <tr class="memdesc:"><td class="mdescLeft"> </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>
1081 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1082 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml">NELKTrackerKernel</a></td></tr>
1083 <tr class="memdesc:"><td class="mdescLeft"> </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>
1084 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1085 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml">NELogits1DMaxKernel</a></td></tr>
1086 <tr class="memdesc:"><td class="mdescLeft"> </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>
1087 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1088 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml">NELogits1DNormKernel</a></td></tr>
1089 <tr class="memdesc:"><td class="mdescLeft"> </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>
1090 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1091 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml">NELogits1DShiftExpSumKernel</a></td></tr>
1092 <tr class="memdesc:"><td class="mdescLeft"> </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>
1093 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1094 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude.xhtml">NEMagnitude</a></td></tr>
1095 <tr class="memdesc:"><td class="mdescLeft"> </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>
1096 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1097 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml">NEMagnitudePhaseFP16Kernel</a></td></tr>
1098 <tr class="memdesc:"><td class="mdescLeft"> </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>
1099 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1100 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a></td></tr>
1101 <tr class="memdesc:"><td class="mdescLeft"> </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>
1102 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1103 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev.xhtml">NEMeanStdDev</a></td></tr>
1104 <tr class="memdesc:"><td class="mdescLeft"> </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>
1105 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1106 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml">NEMeanStdDevKernel</a></td></tr>
1107 <tr class="memdesc:"><td class="mdescLeft"> </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>
1108 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1109 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3.xhtml">NEMedian3x3</a></td></tr>
1110 <tr class="memdesc:"><td class="mdescLeft"> </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>
1111 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1112 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml">NEMedian3x3Kernel</a></td></tr>
1113 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> 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>
1114 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1115 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_kernel.xhtml">NEMinMaxKernel</a></td></tr>
1116 <tr class="memdesc:"><td class="mdescLeft"> </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>
1117 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1118 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location.xhtml">NEMinMaxLocation</a></td></tr>
1119 <tr class="memdesc:"><td class="mdescLeft"> </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>
1120 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1121 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml">NEMinMaxLocationKernel</a></td></tr>
1122 <tr class="memdesc:"><td class="mdescLeft"> </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>
1123 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1124 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter.xhtml">NENonLinearFilter</a></td></tr>
1125 <tr class="memdesc:"><td class="mdescLeft"> </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>
1126 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1127 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml">NENonLinearFilterKernel</a></td></tr>
1128 <tr class="memdesc:"><td class="mdescLeft"> </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>
1129 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1130 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml">NENonMaximaSuppression3x3</a></td></tr>
1131 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml#details">More...</a><br /></td></tr>
1132 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1133 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml">NENonMaximaSuppression3x3FP16Kernel</a></td></tr>
1134 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression 3x3. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
1135 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1136 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
1137 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to perform Non-Maxima suppression over a 3x3 window using NEON. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml#details">More...</a><br /></td></tr>
1138 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1139 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer.xhtml">NENormalizationLayer</a></td></tr>
1140 <tr class="memdesc:"><td class="mdescLeft"> </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>
1141 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1142 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a></td></tr>
1143 <tr class="memdesc:"><td class="mdescLeft"> </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>
1144 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1145 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_optical_flow.xhtml">NEOpticalFlow</a></td></tr>
1146 <tr class="memdesc:"><td class="mdescLeft"> </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>
1147 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1148 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_phase.xhtml">NEPhase</a></td></tr>
1149 <tr class="memdesc:"><td class="mdescLeft"> </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>
1150 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1151 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication.xhtml">NEPixelWiseMultiplication</a></td></tr>
1152 <tr class="memdesc:"><td class="mdescLeft"> </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>
1153 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1154 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a></td></tr>
1155 <tr class="memdesc:"><td class="mdescLeft"> </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>
1156 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1157 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer.xhtml">NEPoolingLayer</a></td></tr>
1158 <tr class="memdesc:"><td class="mdescLeft"> </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>
1159 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1160 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml">NEPoolingLayerKernel</a></td></tr>
1161 <tr class="memdesc:"><td class="mdescLeft"> </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>
1162 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1163 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap.xhtml">NERemap</a></td></tr>
1164 <tr class="memdesc:"><td class="mdescLeft"> </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>
1165 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1166 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap_kernel.xhtml">NERemapKernel</a></td></tr>
1167 <tr class="memdesc:"><td class="mdescLeft"> </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>
1168 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1169 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale.xhtml">NEScale</a></td></tr>
1170 <tr class="memdesc:"><td class="mdescLeft"> </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>
1171 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1172 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a></td></tr>
1173 <tr class="memdesc:"><td class="mdescLeft"> </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>
1174 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1175 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3.xhtml">NEScharr3x3</a></td></tr>
1176 <tr class="memdesc:"><td class="mdescLeft"> </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>
1177 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1178 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml">NEScharr3x3Kernel</a></td></tr>
1179 <tr class="memdesc:"><td class="mdescLeft"> </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>
1180 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1181 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a></td></tr>
1182 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the 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>
1183 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1184 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a></td></tr>
1185 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the 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>
1186 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1187 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3.xhtml">NESobel3x3</a></td></tr>
1188 <tr class="memdesc:"><td class="mdescLeft"> </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>
1189 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1190 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml">NESobel3x3Kernel</a></td></tr>
1191 <tr class="memdesc:"><td class="mdescLeft"> </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>
1192 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1193 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5.xhtml">NESobel5x5</a></td></tr>
1194 <tr class="memdesc:"><td class="mdescLeft"> </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>
1195 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1196 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml">NESobel5x5HorKernel</a></td></tr>
1197 <tr class="memdesc:"><td class="mdescLeft"> </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>
1198 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1199 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml">NESobel5x5VertKernel</a></td></tr>
1200 <tr class="memdesc:"><td class="mdescLeft"> </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>
1201 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1202 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7.xhtml">NESobel7x7</a></td></tr>
1203 <tr class="memdesc:"><td class="mdescLeft"> </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>
1204 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1205 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml">NESobel7x7HorKernel</a></td></tr>
1206 <tr class="memdesc:"><td class="mdescLeft"> </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>
1207 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1208 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml">NESobel7x7VertKernel</a></td></tr>
1209 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml#details">More...</a><br /></td></tr>
1210 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1211 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_softmax_layer.xhtml">NESoftmaxLayer</a></td></tr>
1212 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_n_e_softmax_layer.xhtml#details">More...</a><br /></td></tr>
1213 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1214 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup.xhtml">NETableLookup</a></td></tr>
1215 <tr class="memdesc:"><td class="mdescLeft"> </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>
1216 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1217 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a></td></tr>
1218 <tr class="memdesc:"><td class="mdescLeft"> </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>
1219 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1220 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold.xhtml">NEThreshold</a></td></tr>
1221 <tr class="memdesc:"><td class="mdescLeft"> </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>
1222 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1223 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a></td></tr>
1224 <tr class="memdesc:"><td class="mdescLeft"> </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>
1225 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1226 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose.xhtml">NETranspose</a></td></tr>
1227 <tr class="memdesc:"><td class="mdescLeft"> </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>
1228 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1229 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose_kernel.xhtml">NETransposeKernel</a></td></tr>
1230 <tr class="memdesc:"><td class="mdescLeft"> </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>
1231 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1232 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine.xhtml">NEWarpAffine</a></td></tr>
1233 <tr class="memdesc:"><td class="mdescLeft"> </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>
1234 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1235 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a></td></tr>
1236 <tr class="memdesc:"><td class="mdescLeft"> </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>
1237 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1238 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective.xhtml">NEWarpPerspective</a></td></tr>
1239 <tr class="memdesc:"><td class="mdescLeft"> </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>
1240 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1241 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a></td></tr>
1242 <tr class="memdesc:"><td class="mdescLeft"> </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>
1243 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1244 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a></td></tr>
1245 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Normalization Layer Information class. <a href="classarm__compute_1_1_normalization_layer_info.xhtml#details">More...</a><br /></td></tr>
1246 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1247 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a></td></tr>
1248 <tr class="memdesc:"><td class="mdescLeft"> </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>
1249 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1250 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a></td></tr>
1251 <tr class="memdesc:"><td class="mdescLeft"> </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>
1252 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1253 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a></td></tr>
1254 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pooling Layer Information class. <a href="classarm__compute_1_1_pooling_layer_info.xhtml#details">More...</a><br /></td></tr>
1255 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1256 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_program.xhtml">Program</a></td></tr>
1257 <tr class="memdesc:"><td class="mdescLeft"> </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>
1258 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1259 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid.xhtml">Pyramid</a></td></tr>
1260 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the pyramid interface. <a href="classarm__compute_1_1_pyramid.xhtml#details">More...</a><br /></td></tr>
1261 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1262 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid_info.xhtml">PyramidInfo</a></td></tr>
1263 <tr class="memdesc:"><td class="mdescLeft"> </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>
1264 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1265 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a></td></tr>
1266 <tr class="memdesc:"><td class="mdescLeft"> </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>
1267 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1268 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a></td></tr>
1269 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for specifying the size of an image or rectangle. <a href="classarm__compute_1_1_size2_d.xhtml#details">More...</a><br /></td></tr>
1270 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1271 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a></td></tr>
1272 <tr class="memdesc:"><td class="mdescLeft"> </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>
1273 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1274 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td></tr>
1275 <tr class="memdesc:"><td class="mdescLeft"> </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>
1276 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1277 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td></tr>
1278 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the tensor interface. <a href="classarm__compute_1_1_tensor.xhtml#details">More...</a><br /></td></tr>
1279 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1280 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml">TensorAllocator</a></td></tr>
1281 <tr class="memdesc:"><td class="mdescLeft"> </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>
1282 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1283 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a></td></tr>
1284 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the tensor's metadata. <a href="classarm__compute_1_1_tensor_info.xhtml#details">More...</a><br /></td></tr>
1285 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1286 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a></td></tr>
1287 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Shape of a tensor. <a href="classarm__compute_1_1_tensor_shape.xhtml#details">More...</a><br /></td></tr>
1288 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1289 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a></td></tr>
1290 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1291 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a></td></tr>
1292 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Describe a multidimensional execution window. <a href="classarm__compute_1_1_window.xhtml#details">More...</a><br /></td></tr>
1293 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
1294 </table><table class="memberdecls">
1295 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
1296 Typedefs</h2></td></tr>
1297 <tr class="memitem:adb969f0e554bf563f2fa671399d59280"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> ></td></tr>
1298 <tr class="separator:adb969f0e554bf563f2fa671399d59280"><td class="memSeparator" colspan="2"> </td></tr>
1299 <tr class="memitem:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> ></td></tr>
1300 <tr class="separator:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memSeparator" colspan="2"> </td></tr>
1301 <tr class="memitem:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> ></td></tr>
1302 <tr class="separator:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memSeparator" colspan="2"> </td></tr>
1303 <tr class="memitem:a68396eee600b3d23bf7f95a802e65dff"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> ></td></tr>
1304 <tr class="separator:a68396eee600b3d23bf7f95a802e65dff"><td class="memSeparator" colspan="2"> </td></tr>
1305 <tr class="memitem:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memItemLeft" align="right" valign="top">using </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>< cl_uchar ></td></tr>
1306 <tr class="separator:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memSeparator" colspan="2"> </td></tr>
1307 <tr class="memitem:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memItemLeft" align="right" valign="top">using </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>< cl_ushort ></td></tr>
1308 <tr class="separator:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memSeparator" colspan="2"> </td></tr>
1309 <tr class="memitem:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memItemLeft" align="right" valign="top">using </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>< cl_uint ></td></tr>
1310 <tr class="separator:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memSeparator" colspan="2"> </td></tr>
1311 <tr class="memitem:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memItemLeft" align="right" valign="top">using </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>< cl_short ></td></tr>
1312 <tr class="separator:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memSeparator" colspan="2"> </td></tr>
1313 <tr class="memitem:ab95380ecf1c0253f6c785c0f59194066"><td class="memItemLeft" align="right" valign="top">using </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>< cl_int ></td></tr>
1314 <tr class="separator:ab95380ecf1c0253f6c785c0f59194066"><td class="memSeparator" colspan="2"> </td></tr>
1315 <tr class="memitem:a631bac7c033a0d341c631870f9755217"><td class="memItemLeft" align="right" valign="top">using </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>< cl_float ></td></tr>
1316 <tr class="separator:a631bac7c033a0d341c631870f9755217"><td class="memSeparator" colspan="2"> </td></tr>
1317 <tr class="memitem:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memItemLeft" align="right" valign="top">using </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>
1318 <tr class="separator:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memSeparator" colspan="2"> </td></tr>
1319 <tr class="memitem:a4751499f1c526c7285e7e946c2e84541"><td class="memItemLeft" align="right" valign="top">using </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>< 3 ></td></tr>
1320 <tr class="memdesc:a4751499f1c526c7285e7e946c2e84541"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 3x3 convolution to a tensor. <a href="#a4751499f1c526c7285e7e946c2e84541">More...</a><br /></td></tr>
1321 <tr class="separator:a4751499f1c526c7285e7e946c2e84541"><td class="memSeparator" colspan="2"> </td></tr>
1322 <tr class="memitem:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memItemLeft" align="right" valign="top">using </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>< 5 ></td></tr>
1323 <tr class="memdesc:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 5x5 convolution to a tensor. <a href="#ac4cfbdf439d7bf5d420546298bd5ca0d">More...</a><br /></td></tr>
1324 <tr class="separator:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memSeparator" colspan="2"> </td></tr>
1325 <tr class="memitem:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memItemLeft" align="right" valign="top">using </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>< 7 ></td></tr>
1326 <tr class="memdesc:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 7x7 convolution to a tensor. <a href="#a99a54c937a254c96cd1a29a96ffa7dcf">More...</a><br /></td></tr>
1327 <tr class="separator:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memSeparator" colspan="2"> </td></tr>
1328 <tr class="memitem:a908439cd5cf8253865d5c70a413fd607"><td class="memItemLeft" align="right" valign="top">using </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>< 9 ></td></tr>
1329 <tr class="memdesc:a908439cd5cf8253865d5c70a413fd607"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 9x9 convolution to a tensor. <a href="#a908439cd5cf8253865d5c70a413fd607">More...</a><br /></td></tr>
1330 <tr class="separator:a908439cd5cf8253865d5c70a413fd607"><td class="memSeparator" colspan="2"> </td></tr>
1331 <tr class="memitem:ac72d613f7270604dbcad2553c278b16c"><td class="memItemLeft" align="right" valign="top">using </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>< 5 ></td></tr>
1332 <tr class="memdesc:ac72d613f7270604dbcad2553c278b16c"><td class="mdescLeft"> </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>
1333 <tr class="separator:ac72d613f7270604dbcad2553c278b16c"><td class="memSeparator" colspan="2"> </td></tr>
1334 <tr class="memitem:aab26624bf4b326f8145b2909a5042004"><td class="memItemLeft" align="right" valign="top">using </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>< 7 ></td></tr>
1335 <tr class="memdesc:aab26624bf4b326f8145b2909a5042004"><td class="mdescLeft"> </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>
1336 <tr class="separator:aab26624bf4b326f8145b2909a5042004"><td class="memSeparator" colspan="2"> </td></tr>
1337 <tr class="memitem:a9f34ccad344bc43d25e8be2b828853aa"><td class="memItemLeft" align="right" valign="top">using </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>< 9 ></td></tr>
1338 <tr class="memdesc:a9f34ccad344bc43d25e8be2b828853aa"><td class="mdescLeft"> </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>
1339 <tr class="separator:a9f34ccad344bc43d25e8be2b828853aa"><td class="memSeparator" colspan="2"> </td></tr>
1340 <tr class="memitem:ac7295b0d8d71be75033238ad7fbba38c"><td class="memItemLeft" align="right" valign="top">using </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>< 5 ></td></tr>
1341 <tr class="memdesc:ac7295b0d8d71be75033238ad7fbba38c"><td class="mdescLeft"> </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>
1342 <tr class="separator:ac7295b0d8d71be75033238ad7fbba38c"><td class="memSeparator" colspan="2"> </td></tr>
1343 <tr class="memitem:a0ffdf01e236016ce8d366a69875d1375"><td class="memItemLeft" align="right" valign="top">using </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>< 7 ></td></tr>
1344 <tr class="memdesc:a0ffdf01e236016ce8d366a69875d1375"><td class="mdescLeft"> </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>
1345 <tr class="separator:a0ffdf01e236016ce8d366a69875d1375"><td class="memSeparator" colspan="2"> </td></tr>
1346 <tr class="memitem:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memItemLeft" align="right" valign="top">using </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>< 9 ></td></tr>
1347 <tr class="memdesc:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="mdescLeft"> </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>
1348 <tr class="separator:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memSeparator" colspan="2"> </td></tr>
1349 <tr class="memitem:a569a32a7a853d4708fd4f4840c88a157"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a> ></td></tr>
1350 <tr class="separator:a569a32a7a853d4708fd4f4840c88a157"><td class="memSeparator" colspan="2"> </td></tr>
1351 <tr class="memitem:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a> ></td></tr>
1352 <tr class="separator:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memSeparator" colspan="2"> </td></tr>
1353 <tr class="memitem:a0339a19c93dde6754834a7d4ec7dab73"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a> ></td></tr>
1354 <tr class="separator:a0339a19c93dde6754834a7d4ec7dab73"><td class="memSeparator" colspan="2"> </td></tr>
1355 <tr class="memitem:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memItemLeft" align="right" valign="top">using </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>
1356 <tr class="separator:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memSeparator" colspan="2"> </td></tr>
1357 <tr class="memitem:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> ></td></tr>
1358 <tr class="separator:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memSeparator" colspan="2"> </td></tr>
1359 <tr class="memitem:aac9efd49d3bbbd53779713e5fb37de62"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> ></td></tr>
1360 <tr class="separator:aac9efd49d3bbbd53779713e5fb37de62"><td class="memSeparator" colspan="2"> </td></tr>
1361 <tr class="memitem:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> ></td></tr>
1362 <tr class="separator:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memSeparator" colspan="2"> </td></tr>
1363 <tr class="memitem:a32e4b9083329486a06960006af89a84c"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> ></td></tr>
1364 <tr class="separator:a32e4b9083329486a06960006af89a84c"><td class="memSeparator" colspan="2"> </td></tr>
1365 <tr class="memitem:a276401fd5651e75431d3e1cc90601caa"><td class="memItemLeft" align="right" valign="top">using </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>< uint8_t ></td></tr>
1366 <tr class="separator:a276401fd5651e75431d3e1cc90601caa"><td class="memSeparator" colspan="2"> </td></tr>
1367 <tr class="memitem:a1ffe8af91a934c926d102938db8d3ce1"><td class="memItemLeft" align="right" valign="top">using </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>< uint16_t ></td></tr>
1368 <tr class="separator:a1ffe8af91a934c926d102938db8d3ce1"><td class="memSeparator" colspan="2"> </td></tr>
1369 <tr class="memitem:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memItemLeft" align="right" valign="top">using </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>< uint32_t ></td></tr>
1370 <tr class="separator:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memSeparator" colspan="2"> </td></tr>
1371 <tr class="memitem:a1dd5e04cea002eae658fa2a899848ad7"><td class="memItemLeft" align="right" valign="top">using </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>< int16_t ></td></tr>
1372 <tr class="separator:a1dd5e04cea002eae658fa2a899848ad7"><td class="memSeparator" colspan="2"> </td></tr>
1373 <tr class="memitem:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memItemLeft" align="right" valign="top">using </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>< int32_t ></td></tr>
1374 <tr class="separator:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memSeparator" colspan="2"> </td></tr>
1375 <tr class="memitem:a8a82a1928159e86b0778c3c14e8842be"><td class="memItemLeft" align="right" valign="top">using </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>< float ></td></tr>
1376 <tr class="separator:a8a82a1928159e86b0778c3c14e8842be"><td class="memSeparator" colspan="2"> </td></tr>
1377 <tr class="memitem:a9f3ed96e009111cfbe53d3f77c712390"><td class="memItemLeft" align="right" valign="top">using </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>
1378 <tr class="separator:a9f3ed96e009111cfbe53d3f77c712390"><td class="memSeparator" colspan="2"> </td></tr>
1379 <tr class="memitem:a4aad0c49ce3d7cf4693830398f190250"><td class="memItemLeft" align="right" valign="top">using </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>
1380 <tr class="separator:a4aad0c49ce3d7cf4693830398f190250"><td class="memSeparator" colspan="2"> </td></tr>
1381 <tr class="memitem:acf81639b3d33b5da654ef088e4d10520"><td class="memItemLeft" align="right" valign="top">using </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>< 3 ></td></tr>
1382 <tr class="memdesc:acf81639b3d33b5da654ef088e4d10520"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 3x3 convolution to a tensor. <a href="#acf81639b3d33b5da654ef088e4d10520">More...</a><br /></td></tr>
1383 <tr class="separator:acf81639b3d33b5da654ef088e4d10520"><td class="memSeparator" colspan="2"> </td></tr>
1384 <tr class="memitem:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memItemLeft" align="right" valign="top">using </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>< 5 ></td></tr>
1385 <tr class="memdesc:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 5x5 convolution to a tensor. <a href="#a21898b2d2e31ab9af8933c66ff82c8c6">More...</a><br /></td></tr>
1386 <tr class="separator:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memSeparator" colspan="2"> </td></tr>
1387 <tr class="memitem:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memItemLeft" align="right" valign="top">using </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>< 7 ></td></tr>
1388 <tr class="memdesc:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 7x7 convolution to a tensor. <a href="#ae46cbbe03d31c6c8e7eba7b58999842d">More...</a><br /></td></tr>
1389 <tr class="separator:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memSeparator" colspan="2"> </td></tr>
1390 <tr class="memitem:a1025306f820a9e76df7e5891caacff7b"><td class="memItemLeft" align="right" valign="top">using </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>< 9 ></td></tr>
1391 <tr class="memdesc:a1025306f820a9e76df7e5891caacff7b"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 9x9 convolution to a tensor. <a href="#a1025306f820a9e76df7e5891caacff7b">More...</a><br /></td></tr>
1392 <tr class="separator:a1025306f820a9e76df7e5891caacff7b"><td class="memSeparator" colspan="2"> </td></tr>
1393 <tr class="memitem:ac78a7593874c21cff86478c1ba6df27b"><td class="memItemLeft" align="right" valign="top">using </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>< 5 ></td></tr>
1394 <tr class="memdesc:ac78a7593874c21cff86478c1ba6df27b"><td class="mdescLeft"> </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>
1395 <tr class="separator:ac78a7593874c21cff86478c1ba6df27b"><td class="memSeparator" colspan="2"> </td></tr>
1396 <tr class="memitem:aca4adbcd292c26b0e392c59875c1e926"><td class="memItemLeft" align="right" valign="top">using </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>< 7 ></td></tr>
1397 <tr class="memdesc:aca4adbcd292c26b0e392c59875c1e926"><td class="mdescLeft"> </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>
1398 <tr class="separator:aca4adbcd292c26b0e392c59875c1e926"><td class="memSeparator" colspan="2"> </td></tr>
1399 <tr class="memitem:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memItemLeft" align="right" valign="top">using </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>< 9 ></td></tr>
1400 <tr class="memdesc:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="mdescLeft"> </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>
1401 <tr class="separator:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memSeparator" colspan="2"> </td></tr>
1402 <tr class="memitem:ae4152320657df499674ed64b16c28a7b"><td class="memItemLeft" align="right" valign="top">using </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>< 5 ></td></tr>
1403 <tr class="memdesc:ae4152320657df499674ed64b16c28a7b"><td class="mdescLeft"> </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>
1404 <tr class="separator:ae4152320657df499674ed64b16c28a7b"><td class="memSeparator" colspan="2"> </td></tr>
1405 <tr class="memitem:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memItemLeft" align="right" valign="top">using </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>< 7 ></td></tr>
1406 <tr class="memdesc:a0f952bd0821b506e18514a3f4dbc6c39"><td class="mdescLeft"> </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>
1407 <tr class="separator:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memSeparator" colspan="2"> </td></tr>
1408 <tr class="memitem:a6310d21f215fface41df4cde725a62b9"><td class="memItemLeft" align="right" valign="top">using </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>< 9 ></td></tr>
1409 <tr class="memdesc:a6310d21f215fface41df4cde725a62b9"><td class="mdescLeft"> </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>
1410 <tr class="separator:a6310d21f215fface41df4cde725a62b9"><td class="memSeparator" colspan="2"> </td></tr>
1411 <tr class="memitem:a19699533eb1b662e46a10715f6086487"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> ></td></tr>
1412 <tr class="separator:a19699533eb1b662e46a10715f6086487"><td class="memSeparator" colspan="2"> </td></tr>
1413 <tr class="memitem:a4467b302fc9ec312c40580336ab783da"><td class="memItemLeft" align="right" valign="top">using </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>
1414 <tr class="separator:a4467b302fc9ec312c40580336ab783da"><td class="memSeparator" colspan="2"> </td></tr>
1415 <tr class="memitem:a2ab89a5d0959531aac270879cdd3ed78"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple< float, float, float ></td></tr>
1416 <tr class="separator:a2ab89a5d0959531aac270879cdd3ed78"><td class="memSeparator" colspan="2"> </td></tr>
1417 <tr class="memitem:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> ></td></tr>
1418 <tr class="separator:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memSeparator" colspan="2"> </td></tr>
1419 <tr class="memitem:a327abccf7b43aa32d6a24319b986f3ab"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> ></td></tr>
1420 <tr class="separator:a327abccf7b43aa32d6a24319b986f3ab"><td class="memSeparator" colspan="2"> </td></tr>
1421 <tr class="memitem:a5fe01ab895629edd84a511b56657d79e"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> ></td></tr>
1422 <tr class="separator:a5fe01ab895629edd84a511b56657d79e"><td class="memSeparator" colspan="2"> </td></tr>
1423 <tr class="memitem:abd445adaaca7913c9344c90dc8c76358"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> ></td></tr>
1424 <tr class="separator:abd445adaaca7913c9344c90dc8c76358"><td class="memSeparator" colspan="2"> </td></tr>
1425 <tr class="memitem:a9dbb5e00a3f397691eb782f03f65375c"><td class="memItemLeft" align="right" valign="top">using </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>< uint8_t ></td></tr>
1426 <tr class="separator:a9dbb5e00a3f397691eb782f03f65375c"><td class="memSeparator" colspan="2"> </td></tr>
1427 <tr class="memitem:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memItemLeft" align="right" valign="top">using </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>< uint16_t ></td></tr>
1428 <tr class="separator:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memSeparator" colspan="2"> </td></tr>
1429 <tr class="memitem:acd6eb2619ccd5eee4963de3195785359"><td class="memItemLeft" align="right" valign="top">using </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>< uint32_t ></td></tr>
1430 <tr class="separator:acd6eb2619ccd5eee4963de3195785359"><td class="memSeparator" colspan="2"> </td></tr>
1431 <tr class="memitem:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memItemLeft" align="right" valign="top">using </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>< int16_t ></td></tr>
1432 <tr class="separator:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memSeparator" colspan="2"> </td></tr>
1433 <tr class="memitem:a6af9862834629c287a81b16837b51e44"><td class="memItemLeft" align="right" valign="top">using </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>< int32_t ></td></tr>
1434 <tr class="separator:a6af9862834629c287a81b16837b51e44"><td class="memSeparator" colspan="2"> </td></tr>
1435 <tr class="memitem:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memItemLeft" align="right" valign="top">using </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>< float ></td></tr>
1436 <tr class="separator:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memSeparator" colspan="2"> </td></tr>
1437 <tr class="memitem:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> ></td></tr>
1438 <tr class="separator:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memSeparator" colspan="2"> </td></tr>
1439 <tr class="memitem:a0fd5f0310a26faad00b905bac3792726"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> ></td></tr>
1440 <tr class="separator:a0fd5f0310a26faad00b905bac3792726"><td class="memSeparator" colspan="2"> </td></tr>
1441 <tr class="memitem:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> ></td></tr>
1442 <tr class="separator:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memSeparator" colspan="2"> </td></tr>
1443 <tr class="memitem:a3f9ab729931f4e4fa36ff1683186d988"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> ></td></tr>
1444 <tr class="separator:a3f9ab729931f4e4fa36ff1683186d988"><td class="memSeparator" colspan="2"> </td></tr>
1445 <tr class="memitem:aa031694bb03711e09e25546ad2b643cc"><td class="memItemLeft" align="right" valign="top">using </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>< cl_uchar ></td></tr>
1446 <tr class="separator:aa031694bb03711e09e25546ad2b643cc"><td class="memSeparator" colspan="2"> </td></tr>
1447 <tr class="memitem:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memItemLeft" align="right" valign="top">using </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>< cl_ushort ></td></tr>
1448 <tr class="separator:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memSeparator" colspan="2"> </td></tr>
1449 <tr class="memitem:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memItemLeft" align="right" valign="top">using </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>< cl_uint ></td></tr>
1450 <tr class="separator:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memSeparator" colspan="2"> </td></tr>
1451 <tr class="memitem:a5fb8cb339705102066c915d18f0701ac"><td class="memItemLeft" align="right" valign="top">using </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>< cl_short ></td></tr>
1452 <tr class="separator:a5fb8cb339705102066c915d18f0701ac"><td class="memSeparator" colspan="2"> </td></tr>
1453 <tr class="memitem:a8a401a071524761c661a75969c951cf5"><td class="memItemLeft" align="right" valign="top">using </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>< cl_int ></td></tr>
1454 <tr class="separator:a8a401a071524761c661a75969c951cf5"><td class="memSeparator" colspan="2"> </td></tr>
1455 <tr class="memitem:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a193a4859b365f3ef4e0d73a1e6b12c85">CLFloatArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< cl_float ></td></tr>
1456 <tr class="separator:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memSeparator" colspan="2"> </td></tr>
1457 <tr class="memitem:aae712f442eae2d56d17529ca6cb9cb77"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aae712f442eae2d56d17529ca6cb9cb77">CLImage</a> = <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
1458 <tr class="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2"> </td></tr>
1459 <tr class="memitem:a843447b81f09d837e90d44e6e6bd236d"><td class="memItemLeft" align="right" valign="top">using </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>< 5 ></td></tr>
1460 <tr class="memdesc:a843447b81f09d837e90d44e6e6bd236d"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#a843447b81f09d837e90d44e6e6bd236d">More...</a><br /></td></tr>
1461 <tr class="separator:a843447b81f09d837e90d44e6e6bd236d"><td class="memSeparator" colspan="2"> </td></tr>
1462 <tr class="memitem:a1992a8362b7074e709394a5219d16e62"><td class="memItemLeft" align="right" valign="top">using </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>< 7 ></td></tr>
1463 <tr class="memdesc:a1992a8362b7074e709394a5219d16e62"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#a1992a8362b7074e709394a5219d16e62">More...</a><br /></td></tr>
1464 <tr class="separator:a1992a8362b7074e709394a5219d16e62"><td class="memSeparator" colspan="2"> </td></tr>
1465 <tr class="memitem:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memItemLeft" align="right" valign="top">using </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>< 9 ></td></tr>
1466 <tr class="memdesc:a587dee5d7f05d5e9c3b8704ae8927101"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#a587dee5d7f05d5e9c3b8704ae8927101">More...</a><br /></td></tr>
1467 <tr class="separator:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memSeparator" colspan="2"> </td></tr>
1468 <tr class="memitem:af87af588094f04e537df98eaf0426cb6"><td class="memItemLeft" align="right" valign="top">using </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>
1469 <tr class="separator:af87af588094f04e537df98eaf0426cb6"><td class="memSeparator" colspan="2"> </td></tr>
1470 <tr class="memitem:a70997613219641045213b0c12948fb74"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a> ></td></tr>
1471 <tr class="separator:a70997613219641045213b0c12948fb74"><td class="memSeparator" colspan="2"> </td></tr>
1472 <tr class="memitem:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memItemLeft" align="right" valign="top">using </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>< <a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a> ></td></tr>
1473 <tr class="separator:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memSeparator" colspan="2"> </td></tr>
1474 <tr class="memitem:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ec6965f606c588137f7a48d84c1d6f0">CLOldValueArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< <a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a> ></td></tr>
1475 <tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2"> </td></tr>
1476 <tr class="memitem:a681c120e2188371794ec3a59768c64ab"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a681c120e2188371794ec3a59768c64ab">LKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> ></td></tr>
1477 <tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2"> </td></tr>
1478 <tr class="memitem:a9d037379f22f90d871d3fa4ad337437a"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d037379f22f90d871d3fa4ad337437a">NEScheduler</a> = <a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
1479 <tr class="separator:a9d037379f22f90d871d3fa4ad337437a"><td class="memSeparator" colspan="2"> </td></tr>
1480 <tr class="memitem:a7fb6a368d181ef193475f725c713430a"><td class="memItemLeft" align="right" valign="top">using </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>
1481 <tr class="separator:a7fb6a368d181ef193475f725c713430a"><td class="memSeparator" colspan="2"> </td></tr>
1482 </table><table class="memberdecls">
1483 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
1484 Enumerations</h2></td></tr>
1485 <tr class="memitem:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> { <br />
1486   <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1487 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
1488 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,
1489 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
1491   <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
1492 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
1493 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
1494 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
1496   <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>,
1497 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>,
1498 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>,
1499 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>,
1501   <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>,
1502 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>,
1503 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>,
1504 <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>,
1506   <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>
1508 }<tr class="memdesc:ab4e88c89b3b7ea1735996cc4def22d58"><td class="mdescLeft"> </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>
1510 <tr class="separator:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memSeparator" colspan="2"> </td></tr>
1511 <tr class="memitem:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> { <br />
1512   <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1513 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
1514 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,
1515 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
1517   <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
1518 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
1519 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
1520 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,
1522   <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
1523 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
1524 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
1525 <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
1527   <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
1529 }<tr class="memdesc:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="mdescLeft"> </td><td class="mdescRight">Available data types. <a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">More...</a><br /></td></tr>
1531 <tr class="separator:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memSeparator" colspan="2"> </td></tr>
1532 <tr class="memitem:a15a05537a472ee742404821851529327"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1533 <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,
1534 <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>
1535 }<tr class="memdesc:a15a05537a472ee742404821851529327"><td class="mdescLeft"> </td><td class="mdescRight">Methods available to handle borders. <a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">More...</a><br /></td></tr>
1537 <tr class="separator:a15a05537a472ee742404821851529327"><td class="memSeparator" colspan="2"> </td></tr>
1538 <tr class="memitem:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1539 <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>
1540 }<tr class="memdesc:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="mdescLeft"> </td><td class="mdescRight">Policy to handle overflow. <a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">More...</a><br /></td></tr>
1542 <tr class="separator:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memSeparator" colspan="2"> </td></tr>
1543 <tr class="memitem:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1544 <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,
1545 <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>
1546 }<tr class="memdesc:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="mdescLeft"> </td><td class="mdescRight">Interpolation method. <a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">More...</a><br /></td></tr>
1548 <tr class="separator:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memSeparator" colspan="2"> </td></tr>
1549 <tr class="memitem:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1550 <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>
1551 }<tr class="memdesc:a2d8a00f1d80a53ce8f75fa929c873202"><td class="mdescLeft"> </td><td class="mdescRight">Bilinear Interpolation method used by LKTracker. <a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">More...</a><br /></td></tr>
1553 <tr class="separator:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memSeparator" colspan="2"> </td></tr>
1554 <tr class="memitem:a3e6b23e675649b83240691abbc42a649"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1555 <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>
1556 }<tr class="memdesc:a3e6b23e675649b83240691abbc42a649"><td class="mdescLeft"> </td><td class="mdescRight">Threshold mode. <a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">More...</a><br /></td></tr>
1558 <tr class="separator:a3e6b23e675649b83240691abbc42a649"><td class="memSeparator" colspan="2"> </td></tr>
1559 <tr class="memitem:add6426cbf2e057a195846d4ba09a50be"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1560 <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>
1561 }<tr class="memdesc:add6426cbf2e057a195846d4ba09a50be"><td class="mdescLeft"> </td><td class="mdescRight">Rounding method. <a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">More...</a><br /></td></tr>
1563 <tr class="separator:add6426cbf2e057a195846d4ba09a50be"><td class="memSeparator" colspan="2"> </td></tr>
1564 <tr class="memitem:a08c1503414e23f5dd10ff83492685453"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1565 <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,
1566 <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>
1567 }<tr class="memdesc:a08c1503414e23f5dd10ff83492685453"><td class="mdescLeft"> </td><td class="mdescRight">Termination criteria. <a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">More...</a><br /></td></tr>
1569 <tr class="separator:a08c1503414e23f5dd10ff83492685453"><td class="memSeparator" colspan="2"> </td></tr>
1570 <tr class="memitem:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1571 <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>
1572 }<tr class="memdesc:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="mdescLeft"> </td><td class="mdescRight">Magnitude calculation type. <a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">More...</a><br /></td></tr>
1574 <tr class="separator:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memSeparator" colspan="2"> </td></tr>
1575 <tr class="memitem:af00a42ecad444bbda75cde1b64bd7e72"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1576 <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>
1577 }<tr class="memdesc:af00a42ecad444bbda75cde1b64bd7e72"><td class="mdescLeft"> </td><td class="mdescRight">Phase calculation type. <a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">More...</a><br /></td></tr>
1579 <tr class="separator:af00a42ecad444bbda75cde1b64bd7e72"><td class="memSeparator" colspan="2"> </td></tr>
1580 <tr class="memitem:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> { <br />
1581   <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1582 <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,
1583 <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,
1584 <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,
1586   <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,
1587 <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,
1588 <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,
1589 <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,
1591   <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,
1592 <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,
1593 <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,
1594 <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>
1596 }<tr class="memdesc:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="mdescLeft"> </td><td class="mdescRight">Available channels. <a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">More...</a><br /></td></tr>
1598 <tr class="separator:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memSeparator" colspan="2"> </td></tr>
1599 <tr class="memitem:afdda916edc7502967bbec17ea3c06c02"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1600 <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>,
1601 <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,
1602 <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>
1603 }<tr class="memdesc:afdda916edc7502967bbec17ea3c06c02"><td class="mdescLeft"> </td><td class="mdescRight">Available matrix patterns. <a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">More...</a><br /></td></tr>
1605 <tr class="separator:afdda916edc7502967bbec17ea3c06c02"><td class="memSeparator" colspan="2"> </td></tr>
1606 <tr class="memitem:adf2ced65e536375a1c96425d9fced858"><td class="memItemLeft" align="right" valign="top">enum  </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,
1607 <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1,
1608 <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2
1609 }<tr class="memdesc:adf2ced65e536375a1c96425d9fced858"><td class="mdescLeft"> </td><td class="mdescRight">Available non linear functions. <a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">More...</a><br /></td></tr>
1611 <tr class="separator:adf2ced65e536375a1c96425d9fced858"><td class="memSeparator" colspan="2"> </td></tr>
1612 <tr class="memitem:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> { <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2">IN_MAP</a>,
1613 <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>
1614 }<tr class="memdesc:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="mdescLeft"> </td><td class="mdescRight">The normalization type used for the normalization layer. <a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">More...</a><br /></td></tr>
1616 <tr class="separator:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memSeparator" colspan="2"> </td></tr>
1617 <tr class="memitem:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1618 <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>,
1619 <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>,
1620 <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52">L1SQRT_NORM</a>
1621 }<tr class="memdesc:a673665b4587a2956fcbad5f0e9ba89d3"><td class="mdescLeft"> </td><td class="mdescRight">Normalization type for Histogram of Oriented Gradients (HOG) <a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">More...</a><br /></td></tr>
1623 <tr class="separator:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memSeparator" colspan="2"> </td></tr>
1624 <tr class="memitem:a1fece1bd804e64f39f602d1c3969849a"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1625 <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>
1626 }<tr class="memdesc:a1fece1bd804e64f39f602d1c3969849a"><td class="mdescLeft"> </td><td class="mdescRight">Dimension rounding type when down-scaling on CNNs. <a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">More...</a><br /></td></tr>
1628 <tr class="separator:a1fece1bd804e64f39f602d1c3969849a"><td class="memSeparator" colspan="2"> </td></tr>
1629 <tr class="memitem:a9172da722f0a434e5cc07c0a3c115d93"><td class="memItemLeft" align="right" valign="top">enum  </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>,
1630 <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>
1631 }<tr class="memdesc:a9172da722f0a434e5cc07c0a3c115d93"><td class="mdescLeft"> </td><td class="mdescRight">Available pooling types. <a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">More...</a><br /></td></tr>
1633 <tr class="separator:a9172da722f0a434e5cc07c0a3c115d93"><td class="memSeparator" colspan="2"> </td></tr>
1634 </table><table class="memberdecls">
1635 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
1636 Functions</h2></td></tr>
1637 <tr class="memitem:ab04905b0c6c0e4091160561eae870101"><td class="memItemLeft" align="right" valign="top">std::string </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> &dt)</td></tr>
1638 <tr class="memdesc:ab04905b0c6c0e4091160561eae870101"><td class="mdescLeft"> </td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="#ab04905b0c6c0e4091160561eae870101">More...</a><br /></td></tr>
1639 <tr class="separator:ab04905b0c6c0e4091160561eae870101"><td class="memSeparator" colspan="2"> </td></tr>
1640 <tr class="memitem:a22af22ebac966b76e8553127064201a2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22af22ebac966b76e8553127064201a2">enqueue</a> (cl::CommandQueue &queue, <a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &window, const cl::NDRange &lws_hint=cl::Range_128_1)</td></tr>
1641 <tr class="memdesc:a22af22ebac966b76e8553127064201a2"><td class="mdescLeft"> </td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a22af22ebac966b76e8553127064201a2">More...</a><br /></td></tr>
1642 <tr class="separator:a22af22ebac966b76e8553127064201a2"><td class="memSeparator" colspan="2"> </td></tr>
1643 <tr class="memitem:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a568b0fbfa3d903099d9c9f7b6acf188d">error</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
1644 <tr class="memdesc:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="mdescLeft"> </td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a568b0fbfa3d903099d9c9f7b6acf188d">More...</a><br /></td></tr>
1645 <tr class="separator:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memSeparator" colspan="2"> </td></tr>
1646 <tr class="memitem:a78fd1c0056e9add7ab01b8e118c0038d"><td class="memTemplParams" colspan="2">template<typename L , typename... Ts> </td></tr>
1647 <tr class="memitem:a78fd1c0056e9add7ab01b8e118c0038d"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &w, L &&lambda_function, Ts &&...iterators)</td></tr>
1648 <tr class="memdesc:a78fd1c0056e9add7ab01b8e118c0038d"><td class="mdescLeft"> </td><td class="mdescRight">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. <a href="#a78fd1c0056e9add7ab01b8e118c0038d">More...</a><br /></td></tr>
1649 <tr class="separator:a78fd1c0056e9add7ab01b8e118c0038d"><td class="memSeparator" colspan="2"> </td></tr>
1650 <tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
1651 <tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplItemLeft" align="right" valign="top">bool </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> &win, Ts &&...patterns)</td></tr>
1652 <tr class="memdesc:ac2a92cae51d2734a65676052adb33c22"><td class="mdescLeft"> </td><td class="mdescRight">Update window and padding size for each of the access patterns. <a href="#ac2a92cae51d2734a65676052adb33c22">More...</a><br /></td></tr>
1653 <tr class="separator:ac2a92cae51d2734a65676052adb33c22"><td class="memSeparator" colspan="2"> </td></tr>
1654 <tr class="memitem:aa8063930734453501dbe41f60c5a89d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8063930734453501dbe41f60c5a89d9">calculate_max_window</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &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>
1655 <tr class="memdesc:aa8063930734453501dbe41f60c5a89d9"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#aa8063930734453501dbe41f60c5a89d9">More...</a><br /></td></tr>
1656 <tr class="separator:aa8063930734453501dbe41f60c5a89d9"><td class="memSeparator" colspan="2"> </td></tr>
1657 <tr class="memitem:a0451630695335182319ee53d785d0715"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0451630695335182319ee53d785d0715">calculate_max_window_horizontal</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &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>
1658 <tr class="memdesc:a0451630695335182319ee53d785d0715"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. <a href="#a0451630695335182319ee53d785d0715">More...</a><br /></td></tr>
1659 <tr class="separator:a0451630695335182319ee53d785d0715"><td class="memSeparator" colspan="2"> </td></tr>
1660 <tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
1661 <tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3bb1b3d01f14dbc0beb1e826eefeddc6">intersect_valid_regions</a> (Ts &&...regions)</td></tr>
1662 <tr class="memdesc:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="mdescLeft"> </td><td class="mdescRight">Intersect multiple valid regions. <a href="#a3bb1b3d01f14dbc0beb1e826eefeddc6">More...</a><br /></td></tr>
1663 <tr class="separator:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memSeparator" colspan="2"> </td></tr>
1664 <tr class="memitem:aedfc72aa9d25b8918734bd374421ee32"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
1665 <tr class="memitem:aedfc72aa9d25b8918734bd374421ee32"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aedfc72aa9d25b8918734bd374421ee32">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &info, T stride_x, Ts &&...fixed_strides)</td></tr>
1666 <tr class="memdesc:aedfc72aa9d25b8918734bd374421ee32"><td class="mdescLeft"> </td><td class="mdescRight">Create a strides object based on the provided strides and the tensor dimensions. <a href="#aedfc72aa9d25b8918734bd374421ee32">More...</a><br /></td></tr>
1667 <tr class="separator:aedfc72aa9d25b8918734bd374421ee32"><td class="memSeparator" colspan="2"> </td></tr>
1668 <tr class="memitem:a99bbb937f89cde6dfe346f566d41c707"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
1669 <tr class="memitem:a99bbb937f89cde6dfe346f566d41c707"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99bbb937f89cde6dfe346f566d41c707">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &info)</td></tr>
1670 <tr class="memdesc:a99bbb937f89cde6dfe346f566d41c707"><td class="mdescLeft"> </td><td class="mdescRight">Create a strides object based on the tensor dimensions. <a href="#a99bbb937f89cde6dfe346f566d41c707">More...</a><br /></td></tr>
1671 <tr class="separator:a99bbb937f89cde6dfe346f566d41c707"><td class="memSeparator" colspan="2"> </td></tr>
1672 <tr class="memitem:a41c1523098580451b378f76b8c37a0f0"><td class="memItemLeft" align="right" valign="top">int </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>
1673 <tr class="memdesc:a41c1523098580451b378f76b8c37a0f0"><td class="mdescLeft"> </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>
1674 <tr class="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2"> </td></tr>
1675 <tr class="memitem:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memItemLeft" align="right" valign="top">int </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>
1676 <tr class="memdesc:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="mdescLeft"> </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>
1677 <tr class="separator:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memSeparator" colspan="2"> </td></tr>
1678 <tr class="memitem:a93cc303c8ae098d264f07d37890412de"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a93cc303c8ae098d264f07d37890412de">colorconvert_rgb_to_rgbx</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
1679 <tr class="separator:a93cc303c8ae098d264f07d37890412de"><td class="memSeparator" colspan="2"> </td></tr>
1680 <tr class="memitem:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1681 <tr class="separator:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memSeparator" colspan="2"> </td></tr>
1682 <tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplParams" colspan="2">template<bool yuyv, bool alpha> </td></tr>
1683 <tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1684 <tr class="separator:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memSeparator" colspan="2"> </td></tr>
1685 <tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplParams" colspan="2">template<bool uv, bool alpha> </td></tr>
1686 <tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1687 <tr class="separator:ae6a44e412bccc0705a720708b0692218"><td class="memSeparator" colspan="2"> </td></tr>
1688 <tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplParams" colspan="2">template<bool alpha> </td></tr>
1689 <tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1690 <tr class="separator:a6e42fac1baa264b033ac430b63ebd145"><td class="memSeparator" colspan="2"> </td></tr>
1691 <tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplParams" colspan="2">template<bool yuyv> </td></tr>
1692 <tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1693 <tr class="separator:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memSeparator" colspan="2"> </td></tr>
1694 <tr class="memitem:af2be1325decaa34a8a1199af177148c6"><td class="memItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1695 <tr class="separator:af2be1325decaa34a8a1199af177148c6"><td class="memSeparator" colspan="2"> </td></tr>
1696 <tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplParams" colspan="2">template<bool uv> </td></tr>
1697 <tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1698 <tr class="separator:a199d36780fbb4a70168f290480673650"><td class="memSeparator" colspan="2"> </td></tr>
1699 <tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplParams" colspan="2">template<bool yuyv> </td></tr>
1700 <tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1701 <tr class="separator:ae43e8f0463c0289169025c3041688d36"><td class="memSeparator" colspan="2"> </td></tr>
1702 <tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplParams" colspan="2">template<bool uv> </td></tr>
1703 <tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1704 <tr class="separator:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memSeparator" colspan="2"> </td></tr>
1705 <tr class="memitem:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1706 <tr class="separator:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memSeparator" colspan="2"> </td></tr>
1707 <tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplParams" colspan="2">template<bool alpha> </td></tr>
1708 <tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1709 <tr class="separator:a14fd899b732509e245976b9967b8931d"><td class="memSeparator" colspan="2"> </td></tr>
1710 <tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplParams" colspan="2">template<bool alpha> </td></tr>
1711 <tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplItemLeft" align="right" valign="top">void </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> &win)</td></tr>
1712 <tr class="separator:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memSeparator" colspan="2"> </td></tr>
1713 <tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplParams" colspan="2">template<bool alpha> </td></tr>
1714 <tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad304c0b0a72ed3f65c24fa69ab3cd53e">colorconvert_rgb_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
1715 <tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2"> </td></tr>
1716 <tr class="memitem:aab4b53a52d617f05420711425f20ed4b"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab4b53a52d617f05420711425f20ed4b">vinvsqrt_f32</a> (float32x4_t x)</td></tr>
1717 <tr class="memdesc:aab4b53a52d617f05420711425f20ed4b"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root. <a href="#aab4b53a52d617f05420711425f20ed4b">More...</a><br /></td></tr>
1718 <tr class="separator:aab4b53a52d617f05420711425f20ed4b"><td class="memSeparator" colspan="2"> </td></tr>
1719 <tr class="memitem:a99d2837a875fc6bca19755f40205f04a"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99d2837a875fc6bca19755f40205f04a">vinv_f32</a> (const float32x4_t &x)</td></tr>
1720 <tr class="memdesc:a99d2837a875fc6bca19755f40205f04a"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal. <a href="#a99d2837a875fc6bca19755f40205f04a">More...</a><br /></td></tr>
1721 <tr class="separator:a99d2837a875fc6bca19755f40205f04a"><td class="memSeparator" colspan="2"> </td></tr>
1722 <tr class="memitem:aa4e5c4d2084010ee1c68475fde882f84"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">vtaylor_poly_f32</a> (const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs)</td></tr>
1723 <tr class="memdesc:aa4e5c4d2084010ee1c68475fde882f84"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 7th degree polynomial approximation using Estrin's method. <a href="#aa4e5c4d2084010ee1c68475fde882f84">More...</a><br /></td></tr>
1724 <tr class="separator:aa4e5c4d2084010ee1c68475fde882f84"><td class="memSeparator" colspan="2"> </td></tr>
1725 <tr class="memitem:ab61617950fb57bf883ee19fc4e219826"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">vexp_f32</a> (const float32x4_t &x)</td></tr>
1726 <tr class="memdesc:ab61617950fb57bf883ee19fc4e219826"><td class="mdescLeft"> </td><td class="mdescRight">Calculate exponential. <a href="#ab61617950fb57bf883ee19fc4e219826">More...</a><br /></td></tr>
1727 <tr class="separator:ab61617950fb57bf883ee19fc4e219826"><td class="memSeparator" colspan="2"> </td></tr>
1728 <tr class="memitem:afa7e6a89815b00d86c5ae6ec73d79c26"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa7e6a89815b00d86c5ae6ec73d79c26">vlog_f32</a> (const float32x4_t &x)</td></tr>
1729 <tr class="memdesc:afa7e6a89815b00d86c5ae6ec73d79c26"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm. <a href="#afa7e6a89815b00d86c5ae6ec73d79c26">More...</a><br /></td></tr>
1730 <tr class="separator:afa7e6a89815b00d86c5ae6ec73d79c26"><td class="memSeparator" colspan="2"> </td></tr>
1731 <tr class="memitem:af2002ba27e8c8033e3038da708248f32"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af2002ba27e8c8033e3038da708248f32">vtanh_f32</a> (const float32x4_t &val)</td></tr>
1732 <tr class="memdesc:af2002ba27e8c8033e3038da708248f32"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#af2002ba27e8c8033e3038da708248f32">More...</a><br /></td></tr>
1733 <tr class="separator:af2002ba27e8c8033e3038da708248f32"><td class="memSeparator" colspan="2"> </td></tr>
1734 <tr class="memitem:ae0dbcd09c015bda4ab290b957d7bd6c7"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae0dbcd09c015bda4ab290b957d7bd6c7">vpowq_f32</a> (const float32x4_t &val, const float32x4_t &n)</td></tr>
1735 <tr class="memdesc:ae0dbcd09c015bda4ab290b957d7bd6c7"><td class="mdescLeft"> </td><td class="mdescRight">Calculate n power of a number. <a href="#ae0dbcd09c015bda4ab290b957d7bd6c7">More...</a><br /></td></tr>
1736 <tr class="separator:ae0dbcd09c015bda4ab290b957d7bd6c7"><td class="memSeparator" colspan="2"> </td></tr>
1737 <tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplParams" colspan="2">template<typename S , typename T > </td></tr>
1738 <tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf0c6059174045f80af46a0f1fb57bc6">ceil_to_multiple</a> (S value, T divisor) -> decltype(((value+divisor-1)/divisor)*divisor)</td></tr>
1739 <tr class="memdesc:adf0c6059174045f80af46a0f1fb57bc6"><td class="mdescLeft"> </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>
1740 <tr class="separator:adf0c6059174045f80af46a0f1fb57bc6"><td class="memSeparator" colspan="2"> </td></tr>
1741 <tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplParams" colspan="2">template<typename S , typename T > </td></tr>
1742 <tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6959e681668a37a9242d2aae4e8b4375">floor_to_multiple</a> (S value, T divisor) -> decltype((value/divisor)*divisor)</td></tr>
1743 <tr class="memdesc:a6959e681668a37a9242d2aae4e8b4375"><td class="mdescLeft"> </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>
1744 <tr class="separator:a6959e681668a37a9242d2aae4e8b4375"><td class="memSeparator" colspan="2"> </td></tr>
1745 <tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplParams" colspan="2">template<typename S , typename T > </td></tr>
1746 <tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplItemLeft" align="right" valign="top">constexpr auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">DIV_CEIL</a> (S val, T m) -> decltype((val+m-1)/m)</td></tr>
1747 <tr class="memdesc:a12705a88669cb9fb90451ebe0db53c41"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the rounded up quotient of val / m. <a href="#a12705a88669cb9fb90451ebe0db53c41">More...</a><br /></td></tr>
1748 <tr class="separator:a12705a88669cb9fb90451ebe0db53c41"><td class="memSeparator" colspan="2"> </td></tr>
1749 <tr class="memitem:a64c17a5a42d2499a1626222ff9753b4d"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information</a> ()</td></tr>
1750 <tr class="memdesc:a64c17a5a42d2499a1626222ff9753b4d"><td class="mdescLeft"> </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>
1751 <tr class="separator:a64c17a5a42d2499a1626222ff9753b4d"><td class="memSeparator" colspan="2"> </td></tr>
1752 <tr class="memitem:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file</a> (const std::string &filename, bool binary)</td></tr>
1753 <tr class="memdesc:aefa4a4d3136d77b85cccfce344f9f37f"><td class="mdescLeft"> </td><td class="mdescRight">Load an entire file in memory. <a href="#aefa4a4d3136d77b85cccfce344f9f37f">More...</a><br /></td></tr>
1754 <tr class="separator:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memSeparator" colspan="2"> </td></tr>
1755 <tr class="memitem:ae350823b5c93227dc33f1105ece06d68"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
1756 <tr class="memitem:ae350823b5c93227dc33f1105ece06d68"><td class="memTemplItemLeft" align="right" valign="top">const std::string </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae350823b5c93227dc33f1105ece06d68">val_to_string</a> (T val)</td></tr>
1757 <tr class="memdesc:ae350823b5c93227dc33f1105ece06d68"><td class="mdescLeft"> </td><td class="mdescRight">Return a value as a string. <a href="#ae350823b5c93227dc33f1105ece06d68">More...</a><br /></td></tr>
1758 <tr class="separator:ae350823b5c93227dc33f1105ece06d68"><td class="memSeparator" colspan="2"> </td></tr>
1759 <tr class="memitem:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memItemLeft" align="right" valign="top">size_t </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>
1760 <tr class="memdesc:abb7e0f23a4f2e63f39433f158dad47ab"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the data type. <a href="#abb7e0f23a4f2e63f39433f158dad47ab">More...</a><br /></td></tr>
1761 <tr class="separator:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memSeparator" colspan="2"> </td></tr>
1762 <tr class="memitem:a4823543d67a2520c98669e2a5608ef6a"><td class="memItemLeft" align="right" valign="top">size_t </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>
1763 <tr class="memdesc:a4823543d67a2520c98669e2a5608ef6a"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the pixel format. <a href="#a4823543d67a2520c98669e2a5608ef6a">More...</a><br /></td></tr>
1764 <tr class="separator:a4823543d67a2520c98669e2a5608ef6a"><td class="memSeparator" colspan="2"> </td></tr>
1765 <tr class="memitem:a34b06c0cd94808a77b697e79880b84b0"><td class="memItemLeft" align="right" valign="top">size_t </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>
1766 <tr class="memdesc:a34b06c0cd94808a77b697e79880b84b0"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the data type. <a href="#a34b06c0cd94808a77b697e79880b84b0">More...</a><br /></td></tr>
1767 <tr class="separator:a34b06c0cd94808a77b697e79880b84b0"><td class="memSeparator" colspan="2"> </td></tr>
1768 <tr class="memitem:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </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>
1769 <tr class="memdesc:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="mdescLeft"> </td><td class="mdescRight">Return the data type used by a given single-planar pixel format. <a href="#a59846ef5ca75cd81cdb7e8a1ce08f9db">More...</a><br /></td></tr>
1770 <tr class="separator:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memSeparator" colspan="2"> </td></tr>
1771 <tr class="memitem:a4f6fe18760340bcec02d095b7099e923"><td class="memItemLeft" align="right" valign="top">int </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>
1772 <tr class="memdesc:a4f6fe18760340bcec02d095b7099e923"><td class="mdescLeft"> </td><td class="mdescRight">Return the plane index of a given channel given an input format. <a href="#a4f6fe18760340bcec02d095b7099e923">More...</a><br /></td></tr>
1773 <tr class="separator:a4f6fe18760340bcec02d095b7099e923"><td class="memSeparator" colspan="2"> </td></tr>
1774 <tr class="memitem:a2a71659def659c8b1c164023a99a25a9"><td class="memItemLeft" align="right" valign="top">size_t </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>
1775 <tr class="memdesc:a2a71659def659c8b1c164023a99a25a9"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of planes for a given format. <a href="#a2a71659def659c8b1c164023a99a25a9">More...</a><br /></td></tr>
1776 <tr class="separator:a2a71659def659c8b1c164023a99a25a9"><td class="memSeparator" colspan="2"> </td></tr>
1777 <tr class="memitem:ab14153fb809c18823af3c9c8bc4286cb"><td class="memItemLeft" align="right" valign="top">size_t </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>
1778 <tr class="memdesc:ab14153fb809c18823af3c9c8bc4286cb"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of channels for a given single-planar pixel format. <a href="#ab14153fb809c18823af3c9c8bc4286cb">More...</a><br /></td></tr>
1779 <tr class="separator:ab14153fb809c18823af3c9c8bc4286cb"><td class="memSeparator" colspan="2"> </td></tr>
1780 <tr class="memitem:a18ec57dffc5c26864be77318111dfb2a"><td class="memItemLeft" align="right" valign="top">bool </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 size)</td></tr>
1781 <tr class="memdesc:a18ec57dffc5c26864be77318111dfb2a"><td class="mdescLeft"> </td><td class="mdescRight">Separate a 2D convolution into two 1D convolutions. <a href="#a18ec57dffc5c26864be77318111dfb2a">More...</a><br /></td></tr>
1782 <tr class="separator:a18ec57dffc5c26864be77318111dfb2a"><td class="memSeparator" colspan="2"> </td></tr>
1783 <tr class="memitem:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memItemLeft" align="right" valign="top">uint32_t </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>
1784 <tr class="memdesc:a0101a40c4a6acc2af3b55afa7632f16a"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the scale of the given square matrix. <a href="#a0101a40c4a6acc2af3b55afa7632f16a">More...</a><br /></td></tr>
1785 <tr class="separator:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memSeparator" colspan="2"> </td></tr>
1786 <tr class="memitem:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memItemLeft" align="right" valign="top">std::pair< <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> > </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 size)</td></tr>
1787 <tr class="memdesc:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="mdescLeft"> </td><td class="mdescRight">Calculate accurary required by the horizontal and vertical convolution computations. <a href="#a01adc12d8e07c06cdb0f03c56a455bf3">More...</a><br /></td></tr>
1788 <tr class="separator:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memSeparator" colspan="2"> </td></tr>
1789 <tr class="memitem:a3992df9e8723140a53e49dc194d89ef5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </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 size)</td></tr>
1790 <tr class="memdesc:a3992df9e8723140a53e49dc194d89ef5"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the accuracy required by the squared convolution calculation. <a href="#a3992df9e8723140a53e49dc194d89ef5">More...</a><br /></td></tr>
1791 <tr class="separator:a3992df9e8723140a53e49dc194d89ef5"><td class="memSeparator" colspan="2"> </td></tr>
1792 <tr class="memitem:a6fd2c972d67298469a6aad75879fffab"><td class="memItemLeft" align="right" valign="top">const std::pair< unsigned int, unsigned int > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6fd2c972d67298469a6aad75879fffab">scaled_dimensions</a> (unsigned int width, unsigned int height, unsigned int kernel_size, unsigned int stride_x, unsigned int stride_y, unsigned int pad_x, unsigned int pad_y, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a> round_type)</td></tr>
1793 <tr class="memdesc:a6fd2c972d67298469a6aad75879fffab"><td class="mdescLeft"> </td><td class="mdescRight">Returns expected width and height of output scaled tensor depending on dimensions rounding mode. <a href="#a6fd2c972d67298469a6aad75879fffab">More...</a><br /></td></tr>
1794 <tr class="separator:a6fd2c972d67298469a6aad75879fffab"><td class="memSeparator" colspan="2"> </td></tr>
1795 <tr class="memitem:a9c92c867fc64454545668d87b20979eb"><td class="memItemLeft" align="right" valign="top">const std::string & </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>
1796 <tr class="memdesc:a9c92c867fc64454545668d87b20979eb"><td class="mdescLeft"> </td><td class="mdescRight">Convert a tensor format into a string. <a href="#a9c92c867fc64454545668d87b20979eb">More...</a><br /></td></tr>
1797 <tr class="separator:a9c92c867fc64454545668d87b20979eb"><td class="memSeparator" colspan="2"> </td></tr>
1798 <tr class="memitem:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memItemLeft" align="right" valign="top">const std::string & </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>
1799 <tr class="memdesc:a106c203dd6af234d38452ea0ee7b2ddc"><td class="mdescLeft"> </td><td class="mdescRight">Convert a channel identity into a string. <a href="#a106c203dd6af234d38452ea0ee7b2ddc">More...</a><br /></td></tr>
1800 <tr class="separator:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memSeparator" colspan="2"> </td></tr>
1801 <tr class="memitem:aefa1d9648995e5eccc693c690e27aa88"><td class="memItemLeft" align="right" valign="top">const std::string & </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>
1802 <tr class="memdesc:aefa1d9648995e5eccc693c690e27aa88"><td class="mdescLeft"> </td><td class="mdescRight">Convert a data type identity into a string. <a href="#aefa1d9648995e5eccc693c690e27aa88">More...</a><br /></td></tr>
1803 <tr class="separator:aefa1d9648995e5eccc693c690e27aa88"><td class="memSeparator" colspan="2"> </td></tr>
1804 <tr class="memitem:a018795ab2489d17309e158ff5c060ab1"><td class="memItemLeft" align="right" valign="top">const std::string & </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>
1805 <tr class="memdesc:a018795ab2489d17309e158ff5c060ab1"><td class="mdescLeft"> </td><td class="mdescRight">Convert a matrix pattern into a string. <a href="#a018795ab2489d17309e158ff5c060ab1">More...</a><br /></td></tr>
1806 <tr class="separator:a018795ab2489d17309e158ff5c060ab1"><td class="memSeparator" colspan="2"> </td></tr>
1807 <tr class="memitem:ac955c978e18cc9bf6daea31f13076fba"><td class="memItemLeft" align="right" valign="top">const std::string & </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>
1808 <tr class="memdesc:ac955c978e18cc9bf6daea31f13076fba"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given activation function to a string. <a href="#ac955c978e18cc9bf6daea31f13076fba">More...</a><br /></td></tr>
1809 <tr class="separator:ac955c978e18cc9bf6daea31f13076fba"><td class="memSeparator" colspan="2"> </td></tr>
1810 <tr class="memitem:a14831547f57ecf5f0deef888ad41ad30"><td class="memItemLeft" align="right" valign="top">const std::string & </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>
1811 <tr class="memdesc:a14831547f57ecf5f0deef888ad41ad30"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given non linear function to a string. <a href="#a14831547f57ecf5f0deef888ad41ad30">More...</a><br /></td></tr>
1812 <tr class="separator:a14831547f57ecf5f0deef888ad41ad30"><td class="memSeparator" colspan="2"> </td></tr>
1813 <tr class="memitem:ade34f5e72f050fd3665f3294dfb15850"><td class="memItemLeft" align="right" valign="top">const std::string & </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>
1814 <tr class="memdesc:ade34f5e72f050fd3665f3294dfb15850"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given interpolation policy to a string. <a href="#ade34f5e72f050fd3665f3294dfb15850">More...</a><br /></td></tr>
1815 <tr class="separator:ade34f5e72f050fd3665f3294dfb15850"><td class="memSeparator" colspan="2"> </td></tr>
1816 <tr class="memitem:abd15add5c6c7de5c8205ce236875aadd"><td class="memItemLeft" align="right" valign="top">const std::string & </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>
1817 <tr class="memdesc:abd15add5c6c7de5c8205ce236875aadd"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given border mode policy to a string. <a href="#abd15add5c6c7de5c8205ce236875aadd">More...</a><br /></td></tr>
1818 <tr class="separator:abd15add5c6c7de5c8205ce236875aadd"><td class="memSeparator" colspan="2"> </td></tr>
1819 <tr class="memitem:ab72adf11888176ec19224deef7b1a7dc"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab72adf11888176ec19224deef7b1a7dc">lower_string</a> (std::string val)</td></tr>
1820 <tr class="memdesc:ab72adf11888176ec19224deef7b1a7dc"><td class="mdescLeft"> </td><td class="mdescRight">Lower a given string. <a href="#ab72adf11888176ec19224deef7b1a7dc">More...</a><br /></td></tr>
1821 <tr class="separator:ab72adf11888176ec19224deef7b1a7dc"><td class="memSeparator" colspan="2"> </td></tr>
1822 <tr class="memitem:af5982a092e9eb743fce2d6392bdd8897"><td class="memItemLeft" align="right" valign="top">bool </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>
1823 <tr class="separator:af5982a092e9eb743fce2d6392bdd8897"><td class="memSeparator" colspan="2"> </td></tr>
1824 <tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
1825 <tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3a28b8acd21301990e06377c64e1276">print_consecutive_elements_impl</a> (std::ostream &s, const T *ptr, unsigned int n, int stream_width=0, const std::string &element_delim=" ")</td></tr>
1826 <tr class="memdesc:aa3a28b8acd21301990e06377c64e1276"><td class="mdescLeft"> </td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#aa3a28b8acd21301990e06377c64e1276">More...</a><br /></td></tr>
1827 <tr class="separator:aa3a28b8acd21301990e06377c64e1276"><td class="memSeparator" colspan="2"> </td></tr>
1828 <tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
1829 <tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaecee617b967dd96f27d2f36732fb68e">max_consecutive_elements_display_width_impl</a> (std::ostream &s, const T *ptr, unsigned int n)</td></tr>
1830 <tr class="memdesc:aaecee617b967dd96f27d2f36732fb68e"><td class="mdescLeft"> </td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#aaecee617b967dd96f27d2f36732fb68e">More...</a><br /></td></tr>
1831 <tr class="separator:aaecee617b967dd96f27d2f36732fb68e"><td class="memSeparator" colspan="2"> </td></tr>
1832 <tr class="memitem:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51a0d2ae440bc8cab3fbbe84bfea8b1d">print_consecutive_elements</a> (std::ostream &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 &element_delim=" ")</td></tr>
1833 <tr class="memdesc:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="mdescLeft"> </td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#a51a0d2ae440bc8cab3fbbe84bfea8b1d">More...</a><br /></td></tr>
1834 <tr class="separator:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memSeparator" colspan="2"> </td></tr>
1835 <tr class="memitem:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac3f2de3a35ff8d9a47b5b793637784e7">max_consecutive_elements_display_width</a> (std::ostream &s, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, const uint8_t *ptr, unsigned int n)</td></tr>
1836 <tr class="memdesc:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="mdescLeft"> </td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#ac3f2de3a35ff8d9a47b5b793637784e7">More...</a><br /></td></tr>
1837 <tr class="separator:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memSeparator" colspan="2"> </td></tr>
1838 <tr class="memitem:a26a9847c05c48bd1470f22f898ee254d"><td class="memItemLeft" align="right" valign="top">void </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> &full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
1839 <tr class="memdesc:a26a9847c05c48bd1470f22f898ee254d"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed window is invalid. <a href="#a26a9847c05c48bd1470f22f898ee254d">More...</a><br /></td></tr>
1840 <tr class="separator:a26a9847c05c48bd1470f22f898ee254d"><td class="memSeparator" colspan="2"> </td></tr>
1841 <tr class="memitem:a0916477887763c20822b43be144963eb"><td class="memItemLeft" align="right" valign="top">void </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> &full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &sub)</td></tr>
1842 <tr class="memdesc:a0916477887763c20822b43be144963eb"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed subwindow is invalid. <a href="#a0916477887763c20822b43be144963eb">More...</a><br /></td></tr>
1843 <tr class="separator:a0916477887763c20822b43be144963eb"><td class="memSeparator" colspan="2"> </td></tr>
1844 <tr class="memitem:a130822528598f21a48f7ee0e6d8438a0"><td class="memItemLeft" align="right" valign="top">void </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> &pos, unsigned int max_dim)</td></tr>
1845 <tr class="memdesc:a130822528598f21a48f7ee0e6d8438a0"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed coordinates have too many dimensions. <a href="#a130822528598f21a48f7ee0e6d8438a0">More...</a><br /></td></tr>
1846 <tr class="separator:a130822528598f21a48f7ee0e6d8438a0"><td class="memSeparator" colspan="2"> </td></tr>
1847 <tr class="memitem:a6fed5543ae383442a51362e6607c4e65"><td class="memItemLeft" align="right" valign="top">void </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> &win, unsigned int max_dim)</td></tr>
1848 <tr class="memdesc:a6fed5543ae383442a51362e6607c4e65"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed window has too many dimensions. <a href="#a6fed5543ae383442a51362e6607c4e65">More...</a><br /></td></tr>
1849 <tr class="separator:a6fed5543ae383442a51362e6607c4e65"><td class="memSeparator" colspan="2"> </td></tr>
1850 <tr class="memitem:a98c979818eae59f104fcaf8de723aeda"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a98c979818eae59f104fcaf8de723aeda">have_different_shapes</a> (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)</td></tr>
1851 <tr class="separator:a98c979818eae59f104fcaf8de723aeda"><td class="memSeparator" colspan="2"> </td></tr>
1852 <tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
1853 <tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplItemLeft" align="right" valign="top">void </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>
1854 <tr class="memdesc:a7b689868b627ba9e22c8473c5f985512"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed two tensors have different shapes. <a href="#a7b689868b627ba9e22c8473c5f985512">More...</a><br /></td></tr>
1855 <tr class="separator:a7b689868b627ba9e22c8473c5f985512"><td class="memSeparator" colspan="2"> </td></tr>
1856 <tr class="memitem:ad35d92af32949e38ec38b3d8e46b566c"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
1857 <tr class="memitem:ad35d92af32949e38ec38b3d8e46b566c"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad35d92af32949e38ec38b3d8e46b566c">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_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
1858 <tr class="memdesc:ad35d92af32949e38ec38b3d8e46b566c"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed two tensors have different data types. <a href="#ad35d92af32949e38ec38b3d8e46b566c">More...</a><br /></td></tr>
1859 <tr class="separator:ad35d92af32949e38ec38b3d8e46b566c"><td class="memSeparator" colspan="2"> </td></tr>
1860 <tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplParams" colspan="2">template<typename T , typename F , typename... Fs> </td></tr>
1861 <tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplItemLeft" align="right" valign="top">void </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 &&format, Fs &&...formats)</td></tr>
1862 <tr class="memdesc:a0b360558b516e256f0af005a164c674e"><td class="mdescLeft"> </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>
1863 <tr class="separator:a0b360558b516e256f0af005a164c674e"><td class="memSeparator" colspan="2"> </td></tr>
1864 <tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
1865 <tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplItemLeft" align="right" valign="top">void </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 &&dt, Ts &&...dts)</td></tr>
1866 <tr class="memdesc:a0c52339d3cb372d145deeafb5a313807"><td class="mdescLeft"> </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>
1867 <tr class="separator:a0c52339d3cb372d145deeafb5a313807"><td class="memSeparator" colspan="2"> </td></tr>
1868 <tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
1869 <tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplItemLeft" align="right" valign="top">void </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 &&dt, Ts &&...dts)</td></tr>
1870 <tr class="memdesc:a690ce072b4480f4a5bad433f23c9fe05"><td class="mdescLeft"> </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>
1871 <tr class="separator:a690ce072b4480f4a5bad433f23c9fe05"><td class="memSeparator" colspan="2"> </td></tr>
1872 <tr class="memitem:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memItemLeft" align="right" valign="top">void </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>
1873 <tr class="memdesc:a65c8e0610dff27ecf1ef30214f08d19e"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the tensor is not 2D. <a href="#a65c8e0610dff27ecf1ef30214f08d19e">More...</a><br /></td></tr>
1874 <tr class="separator:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memSeparator" colspan="2"> </td></tr>
1875 <tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
1876 <tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplItemLeft" align="right" valign="top">void </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 &&channel, Ts &&...channels)</td></tr>
1877 <tr class="memdesc:a593d972357b3bcfeecb87207dc925417"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the channel is not in channels. <a href="#a593d972357b3bcfeecb87207dc925417">More...</a><br /></td></tr>
1878 <tr class="separator:a593d972357b3bcfeecb87207dc925417"><td class="memSeparator" colspan="2"> </td></tr>
1879 <tr class="memitem:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memItemLeft" align="right" valign="top">void </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>
1880 <tr class="memdesc:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the channel is not in format. <a href="#ad0d001a84424d440f9a11fc1b80ed2ff">More...</a><br /></td></tr>
1881 <tr class="separator:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memSeparator" colspan="2"> </td></tr>
1882 <tr class="memitem:a307666ca482a84d5a64251d78889a818"><td class="memItemLeft" align="right" valign="top">void </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>
1883 <tr class="memdesc:a307666ca482a84d5a64251d78889a818"><td class="mdescLeft"> </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>
1884 <tr class="separator:a307666ca482a84d5a64251d78889a818"><td class="memSeparator" colspan="2"> </td></tr>
1885 <tr class="memitem:a21a4884cd1dbfa83351b8efa265f526a"><td class="memItemLeft" align="right" valign="top">void </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>
1886 <tr class="memdesc:a21a4884cd1dbfa83351b8efa265f526a"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the kernel is not configured. <a href="#a21a4884cd1dbfa83351b8efa265f526a">More...</a><br /></td></tr>
1887 <tr class="separator:a21a4884cd1dbfa83351b8efa265f526a"><td class="memSeparator" colspan="2"> </td></tr>
1888 </table><table class="memberdecls">
1889 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
1890 Variables</h2></td></tr>
1891 <tr class="memitem:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memItemLeft" align="right" valign="top">constexpr size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a769d636d7a3c7c84579a5f477a18bc9d">MAX_DIMS</a> = 6</td></tr>
1892 <tr class="separator:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memSeparator" colspan="2"> </td></tr>
1893 <tr class="memitem:a869945609357fa552d94eb16f7aad4e9"><td class="memItemLeft" align="right" valign="top">const std::array< float32x4_t, 8 > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a></td></tr>
1894 <tr class="separator:a869945609357fa552d94eb16f7aad4e9"><td class="memSeparator" colspan="2"> </td></tr>
1895 <tr class="memitem:a48fb9cf404e8f7043235bf14105c9793"><td class="memItemLeft" align="right" valign="top">const std::array< float32x4_t, 8 > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a></td></tr>
1896 <tr class="separator:a48fb9cf404e8f7043235bf14105c9793"><td class="memSeparator" colspan="2"> </td></tr>
1897 <tr class="memitem:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memItemLeft" align="right" valign="top">constexpr uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3fed059965fe44cbe7ed4091d6b63acf">CONSTANT_BORDER_VALUE</a> = 199</td></tr>
1898 <tr class="memdesc:a3fed059965fe44cbe7ed4091d6b63acf"><td class="mdescLeft"> </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>
1899 <tr class="separator:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memSeparator" colspan="2"> </td></tr>
1900 <tr class="memitem:af9876aedd664cac0ddeacddb40cb71cd"><td class="memItemLeft" align="right" valign="top">constexpr float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af9876aedd664cac0ddeacddb40cb71cd">SCALE_PYRAMID_HALF</a> = 0.5f</td></tr>
1901 <tr class="separator:af9876aedd664cac0ddeacddb40cb71cd"><td class="memSeparator" colspan="2"> </td></tr>
1902 <tr class="memitem:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memItemLeft" align="right" valign="top">constexpr float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ebcd5423d5fba468e7debd2e1aabe91">SCALE_PYRAMID_ORB</a> = 8.408964152537146130583778358414e-01</td></tr>
1903 <tr class="separator:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memSeparator" colspan="2"> </td></tr>
1905 <h2 class="groupheader">Typedef Documentation</h2>
1906 <a class="anchor" id="afcef84cf3b7d147b2b6ab0bd884afc16"></a>
1907 <div class="memitem">
1908 <div class="memproto">
1909 <table class="memname">
1911 <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><<a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a>></td>
1914 </div><div class="memdoc">
1916 <p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
1920 <a class="anchor" id="a4751499f1c526c7285e7e946c2e84541"></a>
1921 <div class="memitem">
1922 <div class="memproto">
1923 <table class="memname">
1925 <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><3></td>
1928 </div><div class="memdoc">
1930 <p>Interface for the kernel which applies a 3x3 convolution to a tensor. </p>
1932 <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>
1936 <a class="anchor" id="a843447b81f09d837e90d44e6e6bd236d"></a>
1937 <div class="memitem">
1938 <div class="memproto">
1939 <table class="memname">
1941 <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><5></td>
1944 </div><div class="memdoc">
1946 <p>Basic function to run 5x5 convolution. </p>
1948 <p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
1952 <a class="anchor" id="ac4cfbdf439d7bf5d420546298bd5ca0d"></a>
1953 <div class="memitem">
1954 <div class="memproto">
1955 <table class="memname">
1957 <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><5></td>
1960 </div><div class="memdoc">
1962 <p>Interface for the kernel which applies a 5x5 convolution to a tensor. </p>
1964 <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>
1968 <a class="anchor" id="a1992a8362b7074e709394a5219d16e62"></a>
1969 <div class="memitem">
1970 <div class="memproto">
1971 <table class="memname">
1973 <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><7></td>
1976 </div><div class="memdoc">
1978 <p>Basic function to run 7x7 convolution. </p>
1980 <p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
1984 <a class="anchor" id="a99a54c937a254c96cd1a29a96ffa7dcf"></a>
1985 <div class="memitem">
1986 <div class="memproto">
1987 <table class="memname">
1989 <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><7></td>
1992 </div><div class="memdoc">
1994 <p>Interface for the kernel which applies a 7x7 convolution to a tensor. </p>
1996 <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>
2000 <a class="anchor" id="a587dee5d7f05d5e9c3b8704ae8927101"></a>
2001 <div class="memitem">
2002 <div class="memproto">
2003 <table class="memname">
2005 <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><9></td>
2008 </div><div class="memdoc">
2010 <p>Basic function to run 9x9 convolution. </p>
2012 <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>
2016 <a class="anchor" id="a908439cd5cf8253865d5c70a413fd607"></a>
2017 <div class="memitem">
2018 <div class="memproto">
2019 <table class="memname">
2021 <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><9></td>
2024 </div><div class="memdoc">
2026 <p>Interface for the kernel which applies a 9x9 convolution to a tensor. </p>
2028 <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>
2032 <a class="anchor" id="a0fd5f0310a26faad00b905bac3792726"></a>
2033 <div class="memitem">
2034 <div class="memproto">
2035 <table class="memname">
2037 <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><<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>></td>
2040 </div><div class="memdoc">
2042 <p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
2046 <a class="anchor" id="ab8d2c7efb7643ce8f9e5446dbe1da0b4"></a>
2047 <div class="memitem">
2048 <div class="memproto">
2049 <table class="memname">
2051 <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><<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>></td>
2054 </div><div class="memdoc">
2056 <p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00099">99</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
2060 <a class="anchor" id="a193a4859b365f3ef4e0d73a1e6b12c85"></a>
2061 <div class="memitem">
2062 <div class="memproto">
2063 <table class="memname">
2065 <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><cl_float></td>
2068 </div><div class="memdoc">
2070 <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>
2074 <a class="anchor" id="aae712f442eae2d56d17529ca6cb9cb77"></a>
2075 <div class="memitem">
2076 <div class="memproto">
2077 <table class="memname">
2079 <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>
2082 </div><div class="memdoc">
2084 <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>
2088 <a class="anchor" id="a5fb8cb339705102066c915d18f0701ac"></a>
2089 <div class="memitem">
2090 <div class="memproto">
2091 <table class="memname">
2093 <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><cl_short></td>
2096 </div><div class="memdoc">
2098 <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>
2102 <a class="anchor" id="a8a401a071524761c661a75969c951cf5"></a>
2103 <div class="memitem">
2104 <div class="memproto">
2105 <table class="memname">
2107 <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><cl_int></td>
2110 </div><div class="memdoc">
2112 <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>
2116 <a class="anchor" id="a55e1c5ed17b7ee3762198a38eb50650a"></a>
2117 <div class="memitem">
2118 <div class="memproto">
2119 <table class="memname">
2121 <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><<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>></td>
2124 </div><div class="memdoc">
2126 <p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00097">97</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
2130 <a class="anchor" id="a70997613219641045213b0c12948fb74"></a>
2131 <div class="memitem">
2132 <div class="memproto">
2133 <table class="memname">
2135 <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><<a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a>></td>
2138 </div><div class="memdoc">
2140 <p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
2144 <a class="anchor" id="a4ec6965f606c588137f7a48d84c1d6f0"></a>
2145 <div class="memitem">
2146 <div class="memproto">
2147 <table class="memname">
2149 <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><<a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a>></td>
2152 </div><div class="memdoc">
2154 <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>
2158 <a class="anchor" id="ac72d613f7270604dbcad2553c278b16c"></a>
2159 <div class="memitem">
2160 <div class="memproto">
2161 <table class="memname">
2163 <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><5></td>
2166 </div><div class="memdoc">
2168 <p>Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. </p>
2170 <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>
2174 <a class="anchor" id="ac7295b0d8d71be75033238ad7fbba38c"></a>
2175 <div class="memitem">
2176 <div class="memproto">
2177 <table class="memname">
2179 <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><5></td>
2182 </div><div class="memdoc">
2184 <p>Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. </p>
2186 <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>
2190 <a class="anchor" id="aab26624bf4b326f8145b2909a5042004"></a>
2191 <div class="memitem">
2192 <div class="memproto">
2193 <table class="memname">
2195 <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><7></td>
2198 </div><div class="memdoc">
2200 <p>Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. </p>
2202 <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>
2206 <a class="anchor" id="a0ffdf01e236016ce8d366a69875d1375"></a>
2207 <div class="memitem">
2208 <div class="memproto">
2209 <table class="memname">
2211 <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><7></td>
2214 </div><div class="memdoc">
2216 <p>Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. </p>
2218 <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>
2222 <a class="anchor" id="a9f34ccad344bc43d25e8be2b828853aa"></a>
2223 <div class="memitem">
2224 <div class="memproto">
2225 <table class="memname">
2227 <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><9></td>
2230 </div><div class="memdoc">
2232 <p>Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. </p>
2234 <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>
2238 <a class="anchor" id="a6d08e1e881bf611c1e1b9e2bb8810d19"></a>
2239 <div class="memitem">
2240 <div class="memproto">
2241 <table class="memname">
2243 <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><9></td>
2246 </div><div class="memdoc">
2248 <p>Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. </p>
2250 <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>
2254 <a class="anchor" id="a3f9ab729931f4e4fa36ff1683186d988"></a>
2255 <div class="memitem">
2256 <div class="memproto">
2257 <table class="memname">
2259 <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><<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>></td>
2262 </div><div class="memdoc">
2264 <p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
2268 <a class="anchor" id="a7b4c4a79c73a3f85ba89aff03fddefa7"></a>
2269 <div class="memitem">
2270 <div class="memproto">
2271 <table class="memname">
2273 <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><cl_ushort></td>
2276 </div><div class="memdoc">
2278 <p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00102">102</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
2282 <a class="anchor" id="a1d7d89b7e990055dc95ed37dfb24da48"></a>
2283 <div class="memitem">
2284 <div class="memproto">
2285 <table class="memname">
2287 <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><cl_uint></td>
2290 </div><div class="memdoc">
2292 <p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00103">103</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
2296 <a class="anchor" id="aa031694bb03711e09e25546ad2b643cc"></a>
2297 <div class="memitem">
2298 <div class="memproto">
2299 <table class="memname">
2301 <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><cl_uchar></td>
2304 </div><div class="memdoc">
2306 <p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00101">101</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
2310 <a class="anchor" id="a327abccf7b43aa32d6a24319b986f3ab"></a>
2311 <div class="memitem">
2312 <div class="memproto">
2313 <table class="memname">
2315 <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><<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>></td>
2318 </div><div class="memdoc">
2320 <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>
2324 <a class="anchor" id="a5fe01ab895629edd84a511b56657d79e"></a>
2325 <div class="memitem">
2326 <div class="memproto">
2327 <table class="memname">
2329 <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><<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>></td>
2332 </div><div class="memdoc">
2334 <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>
2338 <a class="anchor" id="a6e06029aa1b68c0cdeb80656cc9353fe"></a>
2339 <div class="memitem">
2340 <div class="memproto">
2341 <table class="memname">
2343 <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><float></td>
2346 </div><div class="memdoc">
2348 <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>
2352 <a class="anchor" id="a05d88c40a53babe38cb2cb5841c4a0ad"></a>
2353 <div class="memitem">
2354 <div class="memproto">
2355 <table class="memname">
2357 <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><<a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a>></td>
2360 </div><div class="memdoc">
2362 <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>
2366 <a class="anchor" id="adf4063963bf3a4b07a5d0cc840da9ee2"></a>
2367 <div class="memitem">
2368 <div class="memproto">
2369 <table class="memname">
2371 <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><<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>></td>
2374 </div><div class="memdoc">
2376 <p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00108">108</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
2380 <a class="anchor" id="a4cc908807b0a45ccc6ce7ba340ae2259"></a>
2381 <div class="memitem">
2382 <div class="memproto">
2383 <table class="memname">
2385 <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><<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>></td>
2388 </div><div class="memdoc">
2390 <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>
2394 <a class="anchor" id="a631bac7c033a0d341c631870f9755217"></a>
2395 <div class="memitem">
2396 <div class="memproto">
2397 <table class="memname">
2399 <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><cl_float></td>
2402 </div><div class="memdoc">
2404 <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>
2408 <a class="anchor" id="aa80145f30ddae0c2ccbcaa910e3e71dd"></a>
2409 <div class="memitem">
2410 <div class="memproto">
2411 <table class="memname">
2413 <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>
2416 </div><div class="memdoc">
2418 <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>
2422 <a class="anchor" id="a67328fa21e30aecd0c27d6d2e63a2b9c"></a>
2423 <div class="memitem">
2424 <div class="memproto">
2425 <table class="memname">
2427 <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><cl_short></td>
2430 </div><div class="memdoc">
2432 <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>
2436 <a class="anchor" id="ab95380ecf1c0253f6c785c0f59194066"></a>
2437 <div class="memitem">
2438 <div class="memproto">
2439 <table class="memname">
2441 <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><cl_int></td>
2444 </div><div class="memdoc">
2446 <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>
2450 <a class="anchor" id="adb969f0e554bf563f2fa671399d59280"></a>
2451 <div class="memitem">
2452 <div class="memproto">
2453 <table class="memname">
2455 <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><<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>></td>
2458 </div><div class="memdoc">
2460 <p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00107">107</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
2464 <a class="anchor" id="a569a32a7a853d4708fd4f4840c88a157"></a>
2465 <div class="memitem">
2466 <div class="memproto">
2467 <table class="memname">
2469 <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><<a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a>></td>
2472 </div><div class="memdoc">
2474 <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>
2478 <a class="anchor" id="a0339a19c93dde6754834a7d4ec7dab73"></a>
2479 <div class="memitem">
2480 <div class="memproto">
2481 <table class="memname">
2483 <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><<a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a>></td>
2486 </div><div class="memdoc">
2488 <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>
2492 <a class="anchor" id="a68396eee600b3d23bf7f95a802e65dff"></a>
2493 <div class="memitem">
2494 <div class="memproto">
2495 <table class="memname">
2497 <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><<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>></td>
2500 </div><div class="memdoc">
2502 <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>
2506 <a class="anchor" id="af87af588094f04e537df98eaf0426cb6"></a>
2507 <div class="memitem">
2508 <div class="memproto">
2509 <table class="memname">
2511 <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>
2514 </div><div class="memdoc">
2516 <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>
2520 <a class="anchor" id="aed5c7222c31a34327f00de37d8c4f4fc"></a>
2521 <div class="memitem">
2522 <div class="memproto">
2523 <table class="memname">
2525 <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><cl_ushort></td>
2528 </div><div class="memdoc">
2530 <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>
2534 <a class="anchor" id="a6b5f839e8d27c6351e8d58812dd46c97"></a>
2535 <div class="memitem">
2536 <div class="memproto">
2537 <table class="memname">
2539 <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><cl_uint></td>
2542 </div><div class="memdoc">
2544 <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>
2548 <a class="anchor" id="a72251c7a73b3c057ffca9f32ee3e19ea"></a>
2549 <div class="memitem">
2550 <div class="memproto">
2551 <table class="memname">
2553 <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><cl_uchar></td>
2556 </div><div class="memdoc">
2558 <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>
2562 <a class="anchor" id="aac9efd49d3bbbd53779713e5fb37de62"></a>
2563 <div class="memitem">
2564 <div class="memproto">
2565 <table class="memname">
2567 <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><<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>></td>
2570 </div><div class="memdoc">
2572 <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>
2576 <a class="anchor" id="a52b3b9de6092ae37321159c4c2f1bf40"></a>
2577 <div class="memitem">
2578 <div class="memproto">
2579 <table class="memname">
2581 <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><<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>></td>
2584 </div><div class="memdoc">
2586 <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>
2590 <a class="anchor" id="a8a82a1928159e86b0778c3c14e8842be"></a>
2591 <div class="memitem">
2592 <div class="memproto">
2593 <table class="memname">
2595 <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><float></td>
2598 </div><div class="memdoc">
2600 <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>
2604 <a class="anchor" id="ac20902ac1ef01783c8a8d71a9bdf1100"></a>
2605 <div class="memitem">
2606 <div class="memproto">
2607 <table class="memname">
2609 <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>
2612 </div><div class="memdoc">
2614 <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>
2618 <a class="anchor" id="a1dd5e04cea002eae658fa2a899848ad7"></a>
2619 <div class="memitem">
2620 <div class="memproto">
2621 <table class="memname">
2623 <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><int16_t></td>
2626 </div><div class="memdoc">
2628 <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>
2632 <a class="anchor" id="a51fdf34dfc5c60b6f4f455f0a9cac457"></a>
2633 <div class="memitem">
2634 <div class="memproto">
2635 <table class="memname">
2637 <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><int32_t></td>
2640 </div><div class="memdoc">
2642 <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>
2646 <a class="anchor" id="ab56a557a5fdf97819f23c35c24f0b0d2"></a>
2647 <div class="memitem">
2648 <div class="memproto">
2649 <table class="memname">
2651 <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><<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>></td>
2654 </div><div class="memdoc">
2656 <p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00138">138</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
2660 <a class="anchor" id="a7fb6a368d181ef193475f725c713430a"></a>
2661 <div class="memitem">
2662 <div class="memproto">
2663 <table class="memname">
2665 <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>
2668 </div><div class="memdoc">
2670 <p>Definition at line <a class="el" href="_tensor_8h_source.xhtml#l00063">63</a> of file <a class="el" href="_tensor_8h_source.xhtml">Tensor.h</a>.</p>
2674 <a class="anchor" id="a9f3ed96e009111cfbe53d3f77c712390"></a>
2675 <div class="memitem">
2676 <div class="memproto">
2677 <table class="memname">
2679 <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>
2682 </div><div class="memdoc">
2684 <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>
2688 <a class="anchor" id="a19699533eb1b662e46a10715f6086487"></a>
2689 <div class="memitem">
2690 <div class="memproto">
2691 <table class="memname">
2693 <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><<a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a>></td>
2696 </div><div class="memdoc">
2698 <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>
2702 <a class="anchor" id="a4aad0c49ce3d7cf4693830398f190250"></a>
2703 <div class="memitem">
2704 <div class="memproto">
2705 <table class="memname">
2707 <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>
2710 </div><div class="memdoc">
2712 <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>
2716 <a class="anchor" id="a69c19b38cbee8fa6680513f6ff76bbb3"></a>
2717 <div class="memitem">
2718 <div class="memproto">
2719 <table class="memname">
2721 <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><int16_t></td>
2724 </div><div class="memdoc">
2726 <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>
2730 <a class="anchor" id="a6af9862834629c287a81b16837b51e44"></a>
2731 <div class="memitem">
2732 <div class="memproto">
2733 <table class="memname">
2735 <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><int32_t></td>
2738 </div><div class="memdoc">
2740 <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>
2744 <a class="anchor" id="a2ab89a5d0959531aac270879cdd3ed78"></a>
2745 <div class="memitem">
2746 <div class="memproto">
2747 <table class="memname">
2749 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple<float, float, float></td>
2752 </div><div class="memdoc">
2754 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00253">253</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
2758 <a class="anchor" id="a32e4b9083329486a06960006af89a84c"></a>
2759 <div class="memitem">
2760 <div class="memproto">
2761 <table class="memname">
2763 <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><<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>></td>
2766 </div><div class="memdoc">
2768 <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>
2772 <a class="anchor" id="a1ffe8af91a934c926d102938db8d3ce1"></a>
2773 <div class="memitem">
2774 <div class="memproto">
2775 <table class="memname">
2777 <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><uint16_t></td>
2780 </div><div class="memdoc">
2782 <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>
2786 <a class="anchor" id="ac9b2a6fa6e146437bfc8c0bee96e4760"></a>
2787 <div class="memitem">
2788 <div class="memproto">
2789 <table class="memname">
2791 <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><uint32_t></td>
2794 </div><div class="memdoc">
2796 <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>
2800 <a class="anchor" id="a276401fd5651e75431d3e1cc90601caa"></a>
2801 <div class="memitem">
2802 <div class="memproto">
2803 <table class="memname">
2805 <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><uint8_t></td>
2808 </div><div class="memdoc">
2810 <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>
2814 <a class="anchor" id="a8856eca9a83e16bb0cb5880e9c6c9fe7"></a>
2815 <div class="memitem">
2816 <div class="memproto">
2817 <table class="memname">
2819 <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><<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>></td>
2822 </div><div class="memdoc">
2824 <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>
2828 <a class="anchor" id="a681c120e2188371794ec3a59768c64ab"></a>
2829 <div class="memitem">
2830 <div class="memproto">
2831 <table class="memname">
2833 <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><<a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a>></td>
2836 </div><div class="memdoc">
2838 <p>Definition at line <a class="el" href="_n_e_optical_flow_8h_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_optical_flow_8h_source.xhtml">NEOpticalFlow.h</a>.</p>
2842 <a class="anchor" id="acf81639b3d33b5da654ef088e4d10520"></a>
2843 <div class="memitem">
2844 <div class="memproto">
2845 <table class="memname">
2847 <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><3></td>
2850 </div><div class="memdoc">
2852 <p>Interface for the kernel which applied a 3x3 convolution to a tensor. </p>
2854 <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>
2858 <a class="anchor" id="a21898b2d2e31ab9af8933c66ff82c8c6"></a>
2859 <div class="memitem">
2860 <div class="memproto">
2861 <table class="memname">
2863 <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><5></td>
2866 </div><div class="memdoc">
2868 <p>Interface for the kernel which applied a 5x5 convolution to a tensor. </p>
2870 <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>
2874 <a class="anchor" id="ae46cbbe03d31c6c8e7eba7b58999842d"></a>
2875 <div class="memitem">
2876 <div class="memproto">
2877 <table class="memname">
2879 <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><7></td>
2882 </div><div class="memdoc">
2884 <p>Interface for the kernel which applied a 7x7 convolution to a tensor. </p>
2886 <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>
2890 <a class="anchor" id="a1025306f820a9e76df7e5891caacff7b"></a>
2891 <div class="memitem">
2892 <div class="memproto">
2893 <table class="memname">
2895 <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><9></td>
2898 </div><div class="memdoc">
2900 <p>Interface for the kernel which applied a 9x9 convolution to a tensor. </p>
2902 <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>
2906 <a class="anchor" id="a9d037379f22f90d871d3fa4ad337437a"></a>
2907 <div class="memitem">
2908 <div class="memproto">
2909 <table class="memname">
2911 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a9d037379f22f90d871d3fa4ad337437a">NEScheduler</a> = <a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td>
2914 </div><div class="memdoc">
2916 <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>
2920 <a class="anchor" id="ac78a7593874c21cff86478c1ba6df27b"></a>
2921 <div class="memitem">
2922 <div class="memproto">
2923 <table class="memname">
2925 <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><5></td>
2928 </div><div class="memdoc">
2930 <p>Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. </p>
2932 <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>
2936 <a class="anchor" id="ae4152320657df499674ed64b16c28a7b"></a>
2937 <div class="memitem">
2938 <div class="memproto">
2939 <table class="memname">
2941 <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><5></td>
2944 </div><div class="memdoc">
2946 <p>Interface for the kernel which applied a 1x5 vertical convolution to a tensor. </p>
2948 <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>
2952 <a class="anchor" id="aca4adbcd292c26b0e392c59875c1e926"></a>
2953 <div class="memitem">
2954 <div class="memproto">
2955 <table class="memname">
2957 <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><7></td>
2960 </div><div class="memdoc">
2962 <p>Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. </p>
2964 <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>
2968 <a class="anchor" id="a0f952bd0821b506e18514a3f4dbc6c39"></a>
2969 <div class="memitem">
2970 <div class="memproto">
2971 <table class="memname">
2973 <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><7></td>
2976 </div><div class="memdoc">
2978 <p>Interface for the kernel which applied a 1x7 vertical convolution to a tensor. </p>
2980 <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>
2984 <a class="anchor" id="a4ba5f6b7cd6b70b75e42149f3bc08f38"></a>
2985 <div class="memitem">
2986 <div class="memproto">
2987 <table class="memname">
2989 <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><9></td>
2992 </div><div class="memdoc">
2994 <p>Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. </p>
2996 <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>
3000 <a class="anchor" id="a6310d21f215fface41df4cde725a62b9"></a>
3001 <div class="memitem">
3002 <div class="memproto">
3003 <table class="memname">
3005 <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><9></td>
3008 </div><div class="memdoc">
3010 <p>Interface for the kernel which applied a 1x9 vertical convolution to a tensor. </p>
3012 <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>
3016 <a class="anchor" id="a4467b302fc9ec312c40580336ab783da"></a>
3017 <div class="memitem">
3018 <div class="memproto">
3019 <table class="memname">
3021 <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>
3024 </div><div class="memdoc">
3026 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00178">178</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3030 <a class="anchor" id="abd445adaaca7913c9344c90dc8c76358"></a>
3031 <div class="memitem">
3032 <div class="memproto">
3033 <table class="memname">
3035 <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><<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>></td>
3038 </div><div class="memdoc">
3040 <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>
3044 <a class="anchor" id="ab91cb2269b2e58ed2cb6bd2ca831d434"></a>
3045 <div class="memitem">
3046 <div class="memproto">
3047 <table class="memname">
3049 <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><uint16_t></td>
3052 </div><div class="memdoc">
3054 <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>
3058 <a class="anchor" id="acd6eb2619ccd5eee4963de3195785359"></a>
3059 <div class="memitem">
3060 <div class="memproto">
3061 <table class="memname">
3063 <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><uint32_t></td>
3066 </div><div class="memdoc">
3068 <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>
3072 <a class="anchor" id="a9dbb5e00a3f397691eb782f03f65375c"></a>
3073 <div class="memitem">
3074 <div class="memproto">
3075 <table class="memname">
3077 <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><uint8_t></td>
3080 </div><div class="memdoc">
3082 <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>
3086 <h2 class="groupheader">Enumeration Type Documentation</h2>
3087 <a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202"></a>
3088 <div class="memitem">
3089 <div class="memproto">
3090 <table class="mlabels">
3092 <td class="mlabels-left">
3093 <table class="memname">
3095 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a></td>
3099 <td class="mlabels-right">
3100 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3103 </div><div class="memdoc">
3105 <p>Bilinear Interpolation method used by LKTracker. </p>
3106 <table class="fieldtable">
3107 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"></a>BILINEAR_OLD_NEW </td><td class="fielddoc">
3109 <tr><td class="fieldname"><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"></a>BILINEAR_SCHARR </td><td class="fielddoc">
3113 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00196">196</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3114 <div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">arm_compute::BilinearInterpolation::BILINEAR_OLD_NEW</a></div></div>
3115 <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>
3116 </div><!-- fragment -->
3119 <a class="anchor" id="a15a05537a472ee742404821851529327"></a>
3120 <div class="memitem">
3121 <div class="memproto">
3122 <table class="mlabels">
3124 <td class="mlabels-left">
3125 <table class="memname">
3127 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a></td>
3131 <td class="mlabels-right">
3132 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3135 </div><div class="memdoc">
3137 <p>Methods available to handle borders. </p>
3138 <table class="fieldtable">
3139 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"></a>UNDEFINED </td><td class="fielddoc">
3140 <p>Borders are left undefined. </p>
3142 <tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"></a>CONSTANT </td><td class="fielddoc">
3143 <p>Pixels outside the image are assumed to have a constant value. </p>
3145 <tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"></a>REPLICATE </td><td class="fielddoc">
3146 <p>Pixels outside the image are assumed to have the same value as the closest image pixel. </p>
3150 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00108">108</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3151 <div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::BorderMode::UNDEFINED</a></div><div class="ttdoc">Borders are left undefined. </div></div>
3152 <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>
3153 <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>
3154 </div><!-- fragment -->
3157 <a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455a"></a>
3158 <div class="memitem">
3159 <div class="memproto">
3160 <table class="mlabels">
3162 <td class="mlabels-left">
3163 <table class="memname">
3165 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a></td>
3169 <td class="mlabels-right">
3170 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3173 </div><div class="memdoc">
3175 <p>Available channels. </p>
3176 <table class="fieldtable">
3177 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN </td><td class="fielddoc">
3179 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"></a>C0 </td><td class="fielddoc">
3180 <p>Unknown channel format. </p>
3181 <p>First channel (used by formats with unknown channel types). </p>
3183 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"></a>C1 </td><td class="fielddoc">
3184 <p>Second channel (used by formats with unknown channel types). </p>
3186 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"></a>C2 </td><td class="fielddoc">
3187 <p>Third channel (used by formats with unknown channel types). </p>
3189 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"></a>C3 </td><td class="fielddoc">
3190 <p>Fourth channel (used by formats with unknown channel types). </p>
3192 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"></a>R </td><td class="fielddoc">
3193 <p>Red channel. </p>
3195 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"></a>G </td><td class="fielddoc">
3196 <p>Green channel. </p>
3198 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"></a>B </td><td class="fielddoc">
3199 <p>Blue channel. </p>
3201 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"></a>A </td><td class="fielddoc">
3202 <p>Alpha channel. </p>
3204 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"></a>Y </td><td class="fielddoc">
3205 <p>Luma channel. </p>
3207 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"></a>U </td><td class="fielddoc">
3208 <p>Cb/U channel. </p>
3210 <tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"></a>V </td><td class="fielddoc">
3211 <p>Cr/V/Value channel. </p>
3215 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00280">280</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3216 <div class="fragment"><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
3217 <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>
3218 <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>
3219 <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>
3220 <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>
3221 <div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a></div></div>
3222 <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>
3223 <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>
3224 <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>
3225 <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>
3226 <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>
3227 <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>
3228 </div><!-- fragment -->
3231 <a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6f"></a>
3232 <div class="memitem">
3233 <div class="memproto">
3234 <table class="mlabels">
3236 <td class="mlabels-left">
3237 <table class="memname">
3239 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a></td>
3243 <td class="mlabels-right">
3244 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3247 </div><div class="memdoc">
3249 <p>Policy to handle overflow. </p>
3250 <table class="fieldtable">
3251 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"></a>WRAP </td><td class="fielddoc">
3252 <p>Wrap around. </p>
3254 <tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"></a>SATURATE </td><td class="fielddoc">
3259 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00181">181</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3260 <div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">arm_compute::ConvertPolicy::WRAP</a></div><div class="ttdoc">Wrap around. </div></div>
3261 <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>
3262 </div><!-- fragment -->
3265 <a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6"></a>
3266 <div class="memitem">
3267 <div class="memproto">
3268 <table class="mlabels">
3270 <td class="mlabels-left">
3271 <table class="memname">
3273 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a></td>
3277 <td class="mlabels-right">
3278 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3281 </div><div class="memdoc">
3283 <p>Available data types. </p>
3284 <table class="fieldtable">
3285 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN </td><td class="fielddoc">
3287 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5"></a>U8 </td><td class="fielddoc">
3289 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8 </td><td class="fielddoc">
3291 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16 </td><td class="fielddoc">
3293 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16 </td><td class="fielddoc">
3295 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32 </td><td class="fielddoc">
3297 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32 </td><td class="fielddoc">
3299 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64 </td><td class="fielddoc">
3301 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"></a>S64 </td><td class="fielddoc">
3303 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94"></a>F16 </td><td class="fielddoc">
3305 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32 </td><td class="fielddoc">
3307 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"></a>F64 </td><td class="fielddoc">
3309 <tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"></a>SIZET </td><td class="fielddoc">
3313 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00059">59</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3314 <div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">Unknown image format. </div></div>
3315 <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>
3316 <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>
3317 <div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a></div></div>
3318 <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>
3319 <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>
3320 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">arm_compute::DataType::S64</a></div></div>
3321 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">arm_compute::DataType::SIZET</a></div></div>
3322 <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>
3323 <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>
3324 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div></div>
3325 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div></div>
3326 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div></div>
3327 </div><!-- fragment -->
3330 <a class="anchor" id="a1fece1bd804e64f39f602d1c3969849a"></a>
3331 <div class="memitem">
3332 <div class="memproto">
3333 <table class="mlabels">
3335 <td class="mlabels-left">
3336 <table class="memname">
3338 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a></td>
3342 <td class="mlabels-right">
3343 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3346 </div><div class="memdoc">
3348 <p>Dimension rounding type when down-scaling on CNNs. </p>
3349 <dl class="section note"><dt>Note</dt><dd>Used in pooling and convolution layer </dd></dl>
3350 <table class="fieldtable">
3351 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"></a>FLOOR </td><td class="fielddoc">
3352 <p>Floor rounding. </p>
3354 <tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"></a>CEIL </td><td class="fielddoc">
3355 <p>Ceil rounding. </p>
3359 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00348">348</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3360 <div class="fragment"><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">arm_compute::DimensionRoundingType::CEIL</a></div><div class="ttdoc">Ceil rounding. </div></div>
3361 <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>
3362 </div><!-- fragment -->
3365 <a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58"></a>
3366 <div class="memitem">
3367 <div class="memproto">
3368 <table class="mlabels">
3370 <td class="mlabels-left">
3371 <table class="memname">
3373 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a></td>
3377 <td class="mlabels-right">
3378 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3381 </div><div class="memdoc">
3383 <p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. </p>
3384 <table class="fieldtable">
3385 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN </td><td class="fielddoc">
3387 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"></a>U8 </td><td class="fielddoc">
3388 <p>Unknown image format. </p>
3390 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"></a>S16 </td><td class="fielddoc">
3391 <p>1 channel, 1 U8 per channel </p>
3393 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16 </td><td class="fielddoc">
3394 <p>1 channel, 1 S16 per channel </p>
3396 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"></a>S32 </td><td class="fielddoc">
3397 <p>1 channel, 1 U16 per channel </p>
3399 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32 </td><td class="fielddoc">
3400 <p>1 channel, 1 S32 per channel </p>
3402 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"></a>F16 </td><td class="fielddoc">
3403 <p>1 channel, 1 U32 per channel </p>
3405 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32 </td><td class="fielddoc">
3406 <p>1 channel, 1 F16 per channel </p>
3408 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"></a>UV88 </td><td class="fielddoc">
3409 <p>1 channel, 1 F32 per channel </p>
3411 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"></a>RGB888 </td><td class="fielddoc">
3412 <p>2 channel, 1 U8 per channel </p>
3414 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"></a>RGBA8888 </td><td class="fielddoc">
3415 <p>3 channels, 1 U8 per channel </p>
3417 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"></a>YUV444 </td><td class="fielddoc">
3418 <p>4 channels, 1 U8 per channel </p>
3420 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"></a>YUYV422 </td><td class="fielddoc">
3421 <p>A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </p>
3423 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"></a>NV12 </td><td class="fielddoc">
3424 <p>A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </p>
3426 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"></a>NV21 </td><td class="fielddoc">
3427 <p>A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </p>
3429 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"></a>IYUV </td><td class="fielddoc">
3430 <p>A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </p>
3432 <tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"></a>UYVY422 </td><td class="fielddoc">
3433 <p>A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </p>
3434 <p>A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte </p>
3438 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3439 <div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a></div><div class="ttdoc">A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </div></div>
3440 <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>
3441 <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>
3442 <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>
3443 <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>
3444 <div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a></div></div>
3445 <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>
3446 <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>
3447 <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>
3448 <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>
3449 <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>
3450 <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>
3451 <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>
3452 <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>
3453 <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>
3454 <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>
3455 <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>
3456 </div><!-- fragment -->
3459 <a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3"></a>
3460 <div class="memitem">
3461 <div class="memproto">
3462 <table class="mlabels">
3464 <td class="mlabels-left">
3465 <table class="memname">
3467 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a></td>
3471 <td class="mlabels-right">
3472 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3475 </div><div class="memdoc">
3477 <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>
3478 <table class="fieldtable">
3479 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM </td><td class="fielddoc">
3482 <tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"></a>L2HYS_NORM </td><td class="fielddoc">
3483 <p>L2-norm followed by clipping. </p>
3485 <tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"></a>L1_NORM </td><td class="fielddoc">
3488 <tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52"></a>L1SQRT_NORM </td><td class="fielddoc">
3489 <p>L1 norm with SQRT. </p>
3493 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00321">321</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3494 <div class="fragment"><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> {</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>, </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>, </div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>, </div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52">L1SQRT_NORM</a> </div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a></div><div class="ttdoc">L2-norm followed by clipping. </div></div>
3495 <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>
3496 <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>
3497 <div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52">arm_compute::HOGNormType::L1SQRT_NORM</a></div><div class="ttdoc">L1 norm with SQRT. </div></div>
3498 </div><!-- fragment -->
3501 <a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9"></a>
3502 <div class="memitem">
3503 <div class="memproto">
3504 <table class="mlabels">
3506 <td class="mlabels-left">
3507 <table class="memname">
3509 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a></td>
3513 <td class="mlabels-right">
3514 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3517 </div><div class="memdoc">
3519 <p>Interpolation method. </p>
3520 <table class="fieldtable">
3521 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"></a>NEAREST_NEIGHBOR </td><td class="fielddoc">
3522 <p>Output values are defined to match the source pixel whose center is nearest to the sample position. </p>
3524 <tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"></a>BILINEAR </td><td class="fielddoc">
3525 <p>Output values are defined by bilinear interpolation between the pixels. </p>
3527 <tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"></a>AREA </td><td class="fielddoc">
3528 <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>
3532 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00188">188</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3533 <div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> {</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">arm_compute::InterpolationPolicy::BILINEAR</a></div><div class="ttdoc">Output values are defined by bilinear interpolation between the pixels. </div></div>
3534 <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>
3535 <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>
3536 </div><!-- fragment -->
3539 <a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8a"></a>
3540 <div class="memitem">
3541 <div class="memproto">
3542 <table class="mlabels">
3544 <td class="mlabels-left">
3545 <table class="memname">
3547 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a></td>
3551 <td class="mlabels-right">
3552 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3555 </div><div class="memdoc">
3557 <p>Magnitude calculation type. </p>
3558 <table class="fieldtable">
3559 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"></a>L1NORM </td><td class="fielddoc">
3560 <p>L1 normalization type. </p>
3562 <tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"></a>L2NORM </td><td class="fielddoc">
3563 <p>L2 normalization type. </p>
3567 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00225">225</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3568 <div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">arm_compute::MagnitudeType::L1NORM</a></div><div class="ttdoc">L1 normalization type. </div></div>
3569 <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>
3570 </div><!-- fragment -->
3573 <a class="anchor" id="afdda916edc7502967bbec17ea3c06c02"></a>
3574 <div class="memitem">
3575 <div class="memproto">
3576 <table class="mlabels">
3578 <td class="mlabels-left">
3579 <table class="memname">
3581 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a></td>
3585 <td class="mlabels-right">
3586 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3589 </div><div class="memdoc">
3591 <p>Available matrix patterns. </p>
3592 <table class="fieldtable">
3593 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"></a>BOX </td><td class="fielddoc">
3594 <p>Box pattern matrix. </p>
3596 <tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"></a>CROSS </td><td class="fielddoc">
3597 <p>Cross pattern matrix. </p>
3599 <tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"></a>DISK </td><td class="fielddoc">
3600 <p>Disk pattern matrix. </p>
3602 <tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"></a>OTHER </td><td class="fielddoc">
3603 <p>Any other matrix pattern. </p>
3607 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00297">297</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3608 <div class="fragment"><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">arm_compute::MatrixPattern::DISK</a></div><div class="ttdoc">Disk pattern matrix. </div></div>
3609 <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>
3610 <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>
3611 <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>
3612 </div><!-- fragment -->
3615 <a class="anchor" id="adf2ced65e536375a1c96425d9fced858"></a>
3616 <div class="memitem">
3617 <div class="memproto">
3618 <table class="mlabels">
3620 <td class="mlabels-left">
3621 <table class="memname">
3623 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned</td>
3627 <td class="mlabels-right">
3628 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3631 </div><div class="memdoc">
3633 <p>Available non linear functions. </p>
3634 <table class="fieldtable">
3635 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"></a>MEDIAN </td><td class="fielddoc">
3636 <p>Non linear median filter. </p>
3638 <tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"></a>MIN </td><td class="fielddoc">
3639 <p>Non linear erode. </p>
3641 <tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"></a>MAX </td><td class="fielddoc">
3642 <p>Non linear dilate. </p>
3646 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00306">306</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3647 <div class="fragment"><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  : <span class="keywordtype">unsigned</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
3648 <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>
3649 <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>
3650 </div><!-- fragment -->
3653 <a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59ca"></a>
3654 <div class="memitem">
3655 <div class="memproto">
3656 <table class="mlabels">
3658 <td class="mlabels-left">
3659 <table class="memname">
3661 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a></td>
3665 <td class="mlabels-right">
3666 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3669 </div><div class="memdoc">
3671 <p>The normalization type used for the normalization layer. </p>
3672 <table class="fieldtable">
3673 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2"></a>IN_MAP </td><td class="fielddoc">
3675 <tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"></a>CROSS_MAP </td><td class="fielddoc">
3679 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00314">314</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3680 <div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2">IN_MAP</a>, <span class="comment">/* Normalization applied within the same map */</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> <span class="comment">/* Normalization applied cross maps */</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2">arm_compute::NormType::IN_MAP</a></div></div>
3681 <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>
3682 </div><!-- fragment -->
3685 <a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72"></a>
3686 <div class="memitem">
3687 <div class="memproto">
3688 <table class="mlabels">
3690 <td class="mlabels-left">
3691 <table class="memname">
3693 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a></td>
3697 <td class="mlabels-right">
3698 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3701 </div><div class="memdoc">
3703 <p>Phase calculation type. </p>
3704 <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>
3705 <table class="fieldtable">
3706 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"></a>SIGNED </td><td class="fielddoc">
3707 <p>Angle range: [0, 360]. </p>
3709 <tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"></a>UNSIGNED </td><td class="fielddoc">
3710 <p>Angle range: [0, 180]. </p>
3714 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00235">235</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3715 <div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">arm_compute::PhaseType::UNSIGNED</a></div><div class="ttdoc">Angle range: [0, 180]. </div></div>
3716 <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>
3717 </div><!-- fragment -->
3720 <a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93"></a>
3721 <div class="memitem">
3722 <div class="memproto">
3723 <table class="mlabels">
3725 <td class="mlabels-left">
3726 <table class="memname">
3728 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a></td>
3732 <td class="mlabels-right">
3733 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3736 </div><div class="memdoc">
3738 <p>Available pooling types. </p>
3739 <table class="fieldtable">
3740 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5"></a>MAX </td><td class="fielddoc">
3741 <p>Max Pooling. </p>
3743 <tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"></a>AVG </td><td class="fielddoc">
3744 <p>Average Pooling. </p>
3748 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00355">355</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3749 <div class="fragment"><div class="line"><a name="l00356"></a><span class="lineno"> 356</span> {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a> </div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">arm_compute::PoolingType::AVG</a></div><div class="ttdoc">Average Pooling. </div></div>
3750 <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>
3751 </div><!-- fragment -->
3754 <a class="anchor" id="add6426cbf2e057a195846d4ba09a50be"></a>
3755 <div class="memitem">
3756 <div class="memproto">
3757 <table class="mlabels">
3759 <td class="mlabels-left">
3760 <table class="memname">
3762 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a></td>
3766 <td class="mlabels-right">
3767 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3770 </div><div class="memdoc">
3772 <p>Rounding method. </p>
3773 <table class="fieldtable">
3774 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO </td><td class="fielddoc">
3775 <p>Truncates the least significand values that are lost in operations. </p>
3777 <tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"></a>TO_NEAREST_EVEN </td><td class="fielddoc">
3778 <p>Rounds to nearest even output value. </p>
3782 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00210">210</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3783 <div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>, </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">arm_compute::RoundingPolicy::TO_NEAREST_EVEN</a></div><div class="ttdoc">Rounds to nearest even output value. </div></div>
3784 <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>
3785 </div><!-- fragment -->
3788 <a class="anchor" id="a08c1503414e23f5dd10ff83492685453"></a>
3789 <div class="memitem">
3790 <div class="memproto">
3791 <table class="mlabels">
3793 <td class="mlabels-left">
3794 <table class="memname">
3796 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a></td>
3800 <td class="mlabels-right">
3801 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3804 </div><div class="memdoc">
3806 <p>Termination criteria. </p>
3807 <table class="fieldtable">
3808 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"></a>TERM_CRITERIA_EPSILON </td><td class="fielddoc">
3810 <tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"></a>TERM_CRITERIA_ITERATIONS </td><td class="fielddoc">
3812 <tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"></a>TERM_CRITERIA_BOTH </td><td class="fielddoc">
3816 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00217">217</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3817 <div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">arm_compute::Termination::TERM_CRITERIA_EPSILON</a></div></div>
3818 <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>
3819 <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>
3820 </div><!-- fragment -->
3823 <a class="anchor" id="a3e6b23e675649b83240691abbc42a649"></a>
3824 <div class="memitem">
3825 <div class="memproto">
3826 <table class="mlabels">
3828 <td class="mlabels-left">
3829 <table class="memname">
3831 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a></td>
3835 <td class="mlabels-right">
3836 <span class="mlabels"><span class="mlabel">strong</span></span> </td>
3839 </div><div class="memdoc">
3841 <p>Threshold mode. </p>
3842 <table class="fieldtable">
3843 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"></a>BINARY </td><td class="fielddoc">
3844 <p>Threshold with one value. </p>
3846 <tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"></a>RANGE </td><td class="fielddoc">
3847 <p>Threshold with two values. </p>
3851 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00203">203</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3852 <div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">arm_compute::ThresholdType::RANGE</a></div><div class="ttdoc">Threshold with two values. </div></div>
3853 <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>
3854 </div><!-- fragment -->
3857 <h2 class="groupheader">Function Documentation</h2>
3858 <a class="anchor" id="a41c1523098580451b378f76b8c37a0f0"></a>
3859 <div class="memitem">
3860 <div class="memproto">
3861 <table class="mlabels">
3863 <td class="mlabels-left">
3864 <table class="memname">
3866 <td class="memname">int arm_compute::adjust_down </td>
3868 <td class="paramtype">int </td>
3869 <td class="paramname"><em>required</em>, </td>
3872 <td class="paramkey"></td>
3874 <td class="paramtype">int </td>
3875 <td class="paramname"><em>available</em>, </td>
3878 <td class="paramkey"></td>
3880 <td class="paramtype">int </td>
3881 <td class="paramname"><em>step</em> </td>
3890 <td class="mlabels-right">
3891 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3894 </div><div class="memdoc">
3896 <p>Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. </p>
3897 <dl class="params"><dt>Parameters</dt><dd>
3898 <table class="params">
3899 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
3900 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
3901 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to decrease required bytes.</td></tr>
3905 <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>
3907 <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>
3909 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>.</p>
3910 <div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step <= 0);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">return</span> required - step * ((required - available + step - 1) / step);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
3911 </div><!-- fragment -->
3914 <a class="anchor" id="ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"></a>
3915 <div class="memitem">
3916 <div class="memproto">
3917 <table class="mlabels">
3919 <td class="mlabels-left">
3920 <table class="memname">
3922 <td class="memname">int arm_compute::adjust_up </td>
3924 <td class="paramtype">int </td>
3925 <td class="paramname"><em>required</em>, </td>
3928 <td class="paramkey"></td>
3930 <td class="paramtype">int </td>
3931 <td class="paramname"><em>available</em>, </td>
3934 <td class="paramkey"></td>
3936 <td class="paramtype">int </td>
3937 <td class="paramname"><em>step</em> </td>
3946 <td class="mlabels-right">
3947 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
3950 </div><div class="memdoc">
3952 <p>Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. </p>
3953 <dl class="params"><dt>Parameters</dt><dd>
3954 <table class="params">
3955 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
3956 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
3957 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to increase required bytes.</td></tr>
3961 <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>
3963 <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>
3965 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>.</p>
3966 <div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step <= 0);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">return</span> required + step * ((available - required + step - 1) / step);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
3967 </div><!-- fragment -->
3970 <a class="anchor" id="a64c17a5a42d2499a1626222ff9753b4d"></a>
3971 <div class="memitem">
3972 <div class="memproto">
3973 <table class="memname">
3975 <td class="memname">std::string arm_compute::build_information </td>
3977 <td class="paramname"></td><td>)</td>
3981 </div><div class="memdoc">
3983 <p>Returns the <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information. </p>
3984 <p>Contains the version number and the build options used to build the library</p>
3985 <dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information </dd></dl>
3987 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00058">DIV_CEIL()</a>.</p>
3991 <a class="anchor" id="a0101a40c4a6acc2af3b55afa7632f16a"></a>
3992 <div class="memitem">
3993 <div class="memproto">
3994 <table class="mlabels">
3996 <td class="mlabels-left">
3997 <table class="memname">
3999 <td class="memname">uint32_t arm_compute::calculate_matrix_scale </td>
4001 <td class="paramtype">const int16_t * </td>
4002 <td class="paramname"><em>matrix</em>, </td>
4005 <td class="paramkey"></td>
4007 <td class="paramtype">unsigned int </td>
4008 <td class="paramname"><em>matrix_size</em> </td>
4017 <td class="mlabels-right">
4018 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4021 </div><div class="memdoc">
4023 <p>Calculate the scale of the given square matrix. </p>
4024 <p>The scale is the absolute value of the sum of all the coefficients in the matrix.</p>
4025 <dl class="section note"><dt>Note</dt><dd>If the coefficients add up to 0 then the scale is set to 1.</dd></dl>
4026 <dl class="params"><dt>Parameters</dt><dd>
4027 <table class="params">
4028 <tr><td class="paramdir">[in]</td><td class="paramname">matrix</td><td>Matrix coefficients </td></tr>
4029 <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>
4033 <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>
4035 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00419">419</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
4037 <p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>.</p>
4038 <div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> {</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> size = matrix_size * matrix_size;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keywordflow">return</span> std::max(1, std::abs(<a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(matrix, matrix + size, 0)));</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
4039 </div><!-- fragment -->
4042 <a class="anchor" id="aa8063930734453501dbe41f60c5a89d9"></a>
4043 <div class="memitem">
4044 <div class="memproto">
4045 <table class="memname">
4047 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
4049 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> & </td>
4050 <td class="paramname"><em>info</em>, </td>
4053 <td class="paramkey"></td>
4055 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> & </td>
4056 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
4059 <td class="paramkey"></td>
4061 <td class="paramtype">bool </td>
4062 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
4065 <td class="paramkey"></td>
4067 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> </td>
4068 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code> </td>
4076 </div><div class="memdoc">
4078 <p>Calculate the maximum window for a given tensor shape and border setting. </p>
4079 <dl class="params"><dt>Parameters</dt><dd>
4080 <table class="params">
4081 <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>
4082 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
4083 <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>
4084 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
4088 <dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
4090 <p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00294">update_window_and_padding()</a>.</p>
4094 <a class="anchor" id="a0451630695335182319ee53d785d0715"></a>
4095 <div class="memitem">
4096 <div class="memproto">
4097 <table class="memname">
4099 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
4101 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> & </td>
4102 <td class="paramname"><em>info</em>, </td>
4105 <td class="paramkey"></td>
4107 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> & </td>
4108 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
4111 <td class="paramkey"></td>
4113 <td class="paramtype">bool </td>
4114 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
4117 <td class="paramkey"></td>
4119 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> </td>
4120 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code> </td>
4128 </div><div class="memdoc">
4130 <p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
4131 <dl class="params"><dt>Parameters</dt><dd>
4132 <table class="params">
4133 <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>
4134 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
4135 <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>
4136 <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>
4140 <dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
4142 <p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00294">update_window_and_padding()</a>.</p>
4146 <a class="anchor" id="adf0c6059174045f80af46a0f1fb57bc6"></a>
4147 <div class="memitem">
4148 <div class="memproto">
4149 <table class="mlabels">
4151 <td class="mlabels-left">
4152 <table class="memname">
4154 <td class="memname">auto arm_compute::ceil_to_multiple </td>
4156 <td class="paramtype">S </td>
4157 <td class="paramname"><em>value</em>, </td>
4160 <td class="paramkey"></td>
4162 <td class="paramtype">T </td>
4163 <td class="paramname"><em>divisor</em> </td>
4168 <td></td><td> -> decltype(((value + divisor - 1) / divisor) * divisor)
4173 <td class="mlabels-right">
4174 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4177 </div><div class="memdoc">
4179 <p>Computes the smallest number larger or equal to value that is a multiple of divisor. </p>
4181 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00042">42</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
4183 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>.</p>
4185 <p>Referenced by <a class="el" href="_window_8inl_source.xhtml#l00053">Window::scale()</a>.</p>
4186 <div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">return</span> ((value + divisor - 1) / divisor) * divisor;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4187 </div><!-- fragment -->
4190 <a class="anchor" id="af2be1325decaa34a8a1199af177148c6"></a>
4191 <div class="memitem">
4192 <div class="memproto">
4193 <table class="memname">
4195 <td class="memname">void arm_compute::colorconvert_iyuv_to_nv12 </td>
4197 <td class="paramtype">const void *__restrict </td>
4198 <td class="paramname"><em>input</em>, </td>
4201 <td class="paramkey"></td>
4203 <td class="paramtype">void *__restrict </td>
4204 <td class="paramname"><em>output</em>, </td>
4207 <td class="paramkey"></td>
4209 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4210 <td class="paramname"><em>win</em> </td>
4218 </div><div class="memdoc">
4220 <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>
4222 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">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#l00068">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>
4223 <div class="fragment"><div class="line"><a name="l00551"></a><span class="lineno"> 551</span> {</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  win.validate();</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  Window win_uv(win);</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  win_uv.validate();</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  uint8x16x2_t ta_uv;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  },</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4224 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4225 </div><!-- fragment -->
4228 <a class="anchor" id="a6e42fac1baa264b033ac430b63ebd145"></a>
4229 <div class="memitem">
4230 <div class="memproto">
4231 <table class="memname">
4233 <td class="memname">void arm_compute::colorconvert_iyuv_to_rgb </td>
4235 <td class="paramtype">const void *__restrict </td>
4236 <td class="paramname"><em>input</em>, </td>
4239 <td class="paramkey"></td>
4241 <td class="paramtype">void *__restrict </td>
4242 <td class="paramname"><em>output</em>, </td>
4245 <td class="paramkey"></td>
4247 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4248 <td class="paramname"><em>win</em> </td>
4256 </div><div class="memdoc">
4258 <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>
4260 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">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="_tensor_info_8h_source.xhtml#l00198">TensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00068">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00085">Dimensions< T >::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
4261 <div class="fragment"><div class="line"><a name="l00446"></a><span class="lineno"> 446</span> {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  win.validate();</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-><a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">info</a>()-><a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a6b157a0e1ca25ef4d682d3bedfeae5f6">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>();</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  Window win_uv(win);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  win_uv.validate();</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  convert_uint8x16_to_float32x4x4(ta_u, uvec);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  convert_uint8x16_to_float32x4x4(ta_v, vvec);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  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><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  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><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  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><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  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><div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  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><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  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><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  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><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  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><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  },</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  in_y, in_u, in_v, out);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4262 <div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml_a8df2a8ec8fcd4258450270f15651b6c9"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">arm_compute::ITensor::info</a></div><div class="ttdeci">virtual TensorInfo * info() const =0</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div></div>
4263 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4264 <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>
4265 <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#l00085">Dimensions.h:85</a></div></div>
4266 <div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a6b157a0e1ca25ef4d682d3bedfeae5f6"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a6b157a0e1ca25ef4d682d3bedfeae5f6">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides & strides_in_bytes() const </div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00198">TensorInfo.h:198</a></div></div>
4267 </div><!-- fragment -->
4270 <a class="anchor" id="a08e9d88293a5cef787bb324c2dc0a6bf"></a>
4271 <div class="memitem">
4272 <div class="memproto">
4273 <table class="memname">
4275 <td class="memname">void arm_compute::colorconvert_iyuv_to_yuv4 </td>
4277 <td class="paramtype">const void *__restrict </td>
4278 <td class="paramname"><em>input</em>, </td>
4281 <td class="paramkey"></td>
4283 <td class="paramtype">void *__restrict </td>
4284 <td class="paramname"><em>output</em>, </td>
4287 <td class="paramkey"></td>
4289 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4290 <td class="paramname"><em>win</em> </td>
4298 </div><div class="memdoc">
4300 <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>
4302 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">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#l00068">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>
4303 <div class="fragment"><div class="line"><a name="l00738"></a><span class="lineno"> 738</span> {</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  win.validate();</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span> </div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  Window win_uv(win);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  win_uv.validate();</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  Iterator out_v(output_ptr->plane(2), win);</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  {</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  uint8x16x2_t uvec;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  uvec.val[0] = ta_u;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  uvec.val[1] = ta_u;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  uint8x16x2_t vvec;</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  vvec.val[0] = ta_v;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  vvec.val[1] = ta_v;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  },</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4304 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4305 </div><!-- fragment -->
4308 <a class="anchor" id="a199d36780fbb4a70168f290480673650"></a>
4309 <div class="memitem">
4310 <div class="memproto">
4311 <table class="memname">
4313 <td class="memname">void arm_compute::colorconvert_nv12_to_iyuv </td>
4315 <td class="paramtype">const void *__restrict </td>
4316 <td class="paramname"><em>input</em>, </td>
4319 <td class="paramkey"></td>
4321 <td class="paramtype">void *__restrict </td>
4322 <td class="paramname"><em>output</em>, </td>
4325 <td class="paramkey"></td>
4327 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4328 <td class="paramname"><em>win</em> </td>
4336 </div><div class="memdoc">
4338 <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>
4340 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">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#l00068">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>
4341 <div class="fragment"><div class="line"><a name="l00592"></a><span class="lineno"> 592</span> {</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  win.validate();</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  Window win_uv(win);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  win_uv.validate();</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  {</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  },</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4342 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4343 </div><!-- fragment -->
4346 <a class="anchor" id="ae6a44e412bccc0705a720708b0692218"></a>
4347 <div class="memitem">
4348 <div class="memproto">
4349 <table class="memname">
4351 <td class="memname">void arm_compute::colorconvert_nv12_to_rgb </td>
4353 <td class="paramtype">const void *__restrict </td>
4354 <td class="paramname"><em>input</em>, </td>
4357 <td class="paramkey"></td>
4359 <td class="paramtype">void *__restrict </td>
4360 <td class="paramname"><em>output</em>, </td>
4363 <td class="paramkey"></td>
4365 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4366 <td class="paramname"><em>win</em> </td>
4374 </div><div class="memdoc">
4376 <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>
4378 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">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="_tensor_info_8h_source.xhtml#l00198">TensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00068">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00085">Dimensions< T >::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
4379 <div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  win.validate();</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-><a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">info</a>()-><a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a6b157a0e1ca25ef4d682d3bedfeae5f6">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>();</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  Window win_uv(win);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win.x().step() / 2));</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  win_uv.validate();</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  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><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  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><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  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><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  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><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  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><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  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><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  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><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  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><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  },</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  in_y, in_uv, out);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4380 <div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml_a8df2a8ec8fcd4258450270f15651b6c9"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">arm_compute::ITensor::info</a></div><div class="ttdeci">virtual TensorInfo * info() const =0</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&#39;s metadata. </div></div>
4381 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4382 <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>
4383 <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#l00085">Dimensions.h:85</a></div></div>
4384 <div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a6b157a0e1ca25ef4d682d3bedfeae5f6"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a6b157a0e1ca25ef4d682d3bedfeae5f6">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides & strides_in_bytes() const </div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_info_8h_source.xhtml#l00198">TensorInfo.h:198</a></div></div>
4385 </div><!-- fragment -->
4388 <a class="anchor" id="a587a54c85dcc72838b8f4b5575ebafe4"></a>
4389 <div class="memitem">
4390 <div class="memproto">
4391 <table class="memname">
4393 <td class="memname">void arm_compute::colorconvert_nv12_to_yuv4 </td>
4395 <td class="paramtype">const void *__restrict </td>
4396 <td class="paramname"><em>input</em>, </td>
4399 <td class="paramkey"></td>
4401 <td class="paramtype">void *__restrict </td>
4402 <td class="paramname"><em>output</em>, </td>
4405 <td class="paramkey"></td>
4407 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4408 <td class="paramname"><em>win</em> </td>
4416 </div><div class="memdoc">
4418 <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>
4420 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">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#l00068">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>
4421 <div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> {</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  win.validate();</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  Window win_uv(win);</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  win_uv.validate();</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  Iterator out_v(output_ptr->plane(2), win);</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  uint8x16x2_t uvec;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  uvec.val[0] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  uvec.val[1] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  uint8x16x2_t vvec;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  vvec.val[0] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  vvec.val[1] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  },</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4422 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4423 </div><!-- fragment -->
4426 <a class="anchor" id="a49b7a8e217ba7aad821fdeaab86bad53"></a>
4427 <div class="memitem">
4428 <div class="memproto">
4429 <table class="memname">
4431 <td class="memname">void arm_compute::colorconvert_rgb_to_iyuv </td>
4433 <td class="paramtype">const void *__restrict </td>
4434 <td class="paramname"><em>input</em>, </td>
4437 <td class="paramkey"></td>
4439 <td class="paramtype">void *__restrict </td>
4440 <td class="paramname"><em>output</em>, </td>
4443 <td class="paramkey"></td>
4445 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4446 <td class="paramname"><em>win</em> </td>
4454 </div><div class="memdoc">
4456 <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>
4458 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_iterator.xhtml#a2f0d6383162e1af2df323c456a9335d3">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#l00068">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>
4459 <div class="fragment"><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> {</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  win.validate();</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  Window win_uv(win);</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  win_uv.validate();</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  {</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), alpha);</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr->info()->strides_in_bytes().y(), alpha);</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  store_rgb_to_iyuv(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  },</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  in, out_y, out_u, out_v);</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4460 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4461 <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>
4462 </div><!-- fragment -->
4465 <a class="anchor" id="a14fd899b732509e245976b9967b8931d"></a>
4466 <div class="memitem">
4467 <div class="memproto">
4468 <table class="memname">
4470 <td class="memname">void arm_compute::colorconvert_rgb_to_nv12 </td>
4472 <td class="paramtype">const void *__restrict </td>
4473 <td class="paramname"><em>input</em>, </td>
4476 <td class="paramkey"></td>
4478 <td class="paramtype">void *__restrict </td>
4479 <td class="paramname"><em>output</em>, </td>
4482 <td class="paramkey"></td>
4484 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4485 <td class="paramname"><em>win</em> </td>
4493 </div><div class="memdoc">
4495 <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>
4497 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_iterator.xhtml#a2f0d6383162e1af2df323c456a9335d3">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#l00068">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>
4498 <div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"> 790</span> {</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  win.validate();</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span> </div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  Window win_uv(win);</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  win_uv.validate();</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  {</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), alpha);</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr->info()->strides_in_bytes().y(), alpha);</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span> </div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  store_rgb_to_nv12(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  out_uv.ptr());</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  },</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  in, out_y, out_uv);</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4499 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4500 <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>
4501 </div><!-- fragment -->
4504 <a class="anchor" id="a93cc303c8ae098d264f07d37890412de"></a>
4505 <div class="memitem">
4506 <div class="memproto">
4507 <table class="memname">
4509 <td class="memname">void arm_compute::colorconvert_rgb_to_rgbx </td>
4511 <td class="paramtype">const void *__restrict </td>
4512 <td class="paramname"><em>input</em>, </td>
4515 <td class="paramkey"></td>
4517 <td class="paramtype">void *__restrict </td>
4518 <td class="paramname"><em>output</em>, </td>
4521 <td class="paramkey"></td>
4523 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4524 <td class="paramname"><em>win</em> </td>
4532 </div><div class="memdoc">
4534 <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>
4536 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, and <a class="el" href="classarm__compute_1_1_iterator.xhtml#a2f0d6383162e1af2df323c456a9335d3">Iterator::ptr()</a>.</p>
4537 <div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(in.ptr());</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  uint8x16x4_t ta2;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  vst4q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  },</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  in, out);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4538 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4539 <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>
4540 </div><!-- fragment -->
4543 <a class="anchor" id="ad304c0b0a72ed3f65c24fa69ab3cd53e"></a>
4544 <div class="memitem">
4545 <div class="memproto">
4546 <table class="memname">
4548 <td class="memname">void arm_compute::colorconvert_rgb_to_yuv4 </td>
4550 <td class="paramtype">const void *__restrict </td>
4551 <td class="paramname"><em>input</em>, </td>
4554 <td class="paramkey"></td>
4556 <td class="paramtype">void *__restrict </td>
4557 <td class="paramname"><em>output</em>, </td>
4560 <td class="paramkey"></td>
4562 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4563 <td class="paramname"><em>win</em> </td>
4571 </div><div class="memdoc">
4573 <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>
4575 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_iterator.xhtml#a2f0d6383162e1af2df323c456a9335d3">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00068">Window::validate()</a>.</p>
4576 <div class="fragment"><div class="line"><a name="l00863"></a><span class="lineno"> 863</span> {</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  win.validate();</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span> </div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  Iterator out_v(output_ptr->plane(2), win);</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  {</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(in.ptr(), alpha);</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  },</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  in, out_y, out_u, out_v);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4577 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4578 <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>
4579 </div><!-- fragment -->
4582 <a class="anchor" id="acf7451c0d0f8a4b1cfbb60d7531a43aa"></a>
4583 <div class="memitem">
4584 <div class="memproto">
4585 <table class="memname">
4587 <td class="memname">void arm_compute::colorconvert_rgbx_to_rgb </td>
4589 <td class="paramtype">const void * </td>
4590 <td class="paramname"><em>input</em>, </td>
4593 <td class="paramkey"></td>
4595 <td class="paramtype">void * </td>
4596 <td class="paramname"><em>output</em>, </td>
4599 <td class="paramkey"></td>
4601 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4602 <td class="paramname"><em>win</em> </td>
4610 </div><div class="memdoc">
4612 <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>
4614 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, and <a class="el" href="classarm__compute_1_1_iterator.xhtml#a2f0d6383162e1af2df323c456a9335d3">Iterator::ptr()</a>.</p>
4615 <div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  {</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld4q_u8(in.ptr());</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  uint8x16x3_t ta2;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  vst3q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  },</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  in, out);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4616 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4617 <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>
4618 </div><!-- fragment -->
4621 <a class="anchor" id="ae43e8f0463c0289169025c3041688d36"></a>
4622 <div class="memitem">
4623 <div class="memproto">
4624 <table class="memname">
4626 <td class="memname">void arm_compute::colorconvert_yuyv_to_iyuv </td>
4628 <td class="paramtype">const void *__restrict </td>
4629 <td class="paramname"><em>input</em>, </td>
4632 <td class="paramkey"></td>
4634 <td class="paramtype">void *__restrict </td>
4635 <td class="paramname"><em>output</em>, </td>
4638 <td class="paramkey"></td>
4640 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4641 <td class="paramname"><em>win</em> </td>
4649 </div><div class="memdoc">
4651 <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>
4653 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_iterator.xhtml#a2f0d6383162e1af2df323c456a9335d3">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#l00068">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>
4654 <div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span> {</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  win.validate();</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="comment">// Destination's UV's width and height are subsampled</span></div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  Window win_uv(win);</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  win_uv.validate();</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  {</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr->info()->strides_in_bytes().y());</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  uint8x16x2_t yvec;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  uint8x16x2_t yyvec;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  uint8x16_t uvec;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  vst1q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  uint8x16_t vvec;</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  vst1q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  },</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  in, out_y, out_u, out_v);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4655 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4656 <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>
4657 </div><!-- fragment -->
4660 <a class="anchor" id="a8ee13904a3f5ba84b28cb53d956021d7"></a>
4661 <div class="memitem">
4662 <div class="memproto">
4663 <table class="memname">
4665 <td class="memname">void arm_compute::colorconvert_yuyv_to_nv12 </td>
4667 <td class="paramtype">const void *__restrict </td>
4668 <td class="paramname"><em>input</em>, </td>
4671 <td class="paramkey"></td>
4673 <td class="paramtype">void *__restrict </td>
4674 <td class="paramname"><em>output</em>, </td>
4677 <td class="paramkey"></td>
4679 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4680 <td class="paramname"><em>win</em> </td>
4688 </div><div class="memdoc">
4690 <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>
4692 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">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="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_iterator.xhtml#a2f0d6383162e1af2df323c456a9335d3">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#l00068">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>
4693 <div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span> {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  win.validate();</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="comment">// NV12's UV's width and height are subsampled</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  Window win_uv(win);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  win_uv.validate();</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  {</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr->info()->strides_in_bytes().y());</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  uint8x16x2_t yvec;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  uint8x16x2_t yyvec;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  uint8x16x2_t uvvec;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  vst2q_u8(out_uv.ptr(), uvvec);</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  },</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  in, out_y, out_uv);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4694 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4695 <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>
4696 </div><!-- fragment -->
4699 <a class="anchor" id="a3c22c0d3494660b72b4fc04fec76f92d"></a>
4700 <div class="memitem">
4701 <div class="memproto">
4702 <table class="memname">
4704 <td class="memname">void arm_compute::colorconvert_yuyv_to_rgb </td>
4706 <td class="paramtype">const void *__restrict </td>
4707 <td class="paramname"><em>input</em>, </td>
4710 <td class="paramkey"></td>
4712 <td class="paramtype">void *__restrict </td>
4713 <td class="paramname"><em>output</em>, </td>
4716 <td class="paramkey"></td>
4718 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
4719 <td class="paramname"><em>win</em> </td>
4727 </div><div class="memdoc">
4729 <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>
4731 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop()</a>, and <a class="el" href="classarm__compute_1_1_iterator.xhtml#a2f0d6383162e1af2df323c456a9335d3">Iterator::ptr()</a>.</p>
4732 <div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  {</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  float32x4x4_t uvec, yvec, vvec, yyvec;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta = vld4q_u8(in.ptr());</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  yuyv_to_rgb_calculation(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  yuyv_to_rgb_calculation(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  yuyv_to_rgb_calculation(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  yuyv_to_rgb_calculation(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  },</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  in, out);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4733 <div class="ttc" id="namespacearm__compute_xhtml_a78fd1c0056e9add7ab01b8e118c0038d"><div class="ttname"><a href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4734 <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>
4735 </div><!-- fragment -->
4738 <a class="anchor" id="aedfc72aa9d25b8918734bd374421ee32"></a>
4739 <div class="memitem">
4740 <div class="memproto">
4741 <table class="mlabels">
4743 <td class="mlabels-left">
4744 <table class="memname">
4746 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
4748 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> & </td>
4749 <td class="paramname"><em>info</em>, </td>
4752 <td class="paramkey"></td>
4754 <td class="paramtype">T </td>
4755 <td class="paramname"><em>stride_x</em>, </td>
4758 <td class="paramkey"></td>
4760 <td class="paramtype">Ts &&... </td>
4761 <td class="paramname"><em>fixed_strides</em> </td>
4770 <td class="mlabels-right">
4771 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4774 </div><div class="memdoc">
4776 <p>Create a strides object based on the provided strides and the tensor dimensions. </p>
4777 <dl class="params"><dt>Parameters</dt><dd>
4778 <table class="params">
4779 <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>
4780 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride to be used in X dimension (in bytes). </td></tr>
4781 <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>
4785 <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>
4787 <p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00376">376</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
4789 <p>References <a class="el" href="_tensor_info_8h_source.xhtml#l00239">TensorInfo::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00073">Dimensions< T >::set()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00255">TensorInfo::tensor_shape()</a>.</p>
4791 <p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00398">compute_strides()</a>.</p>
4792 <div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> {</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keyword">const</span> TensorShape &shape = info.tensor_shape();</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="comment">// Create strides object</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  Strides strides(stride_x, fixed_strides...);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i < info.num_dimensions(); ++i)</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  strides.set(i, shape[i - 1] * strides[i - 1]);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  }</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">return</span> strides;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div></div><!-- fragment -->
4795 <a class="anchor" id="a99bbb937f89cde6dfe346f566d41c707"></a>
4796 <div class="memitem">
4797 <div class="memproto">
4798 <table class="mlabels">
4800 <td class="mlabels-left">
4801 <table class="memname">
4803 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
4805 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> & </td>
4806 <td class="paramname"><em>info</em></td><td>)</td>
4811 <td class="mlabels-right">
4812 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4815 </div><div class="memdoc">
4817 <p>Create a strides object based on the tensor dimensions. </p>
4818 <dl class="params"><dt>Parameters</dt><dd>
4819 <table class="params">
4820 <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>
4824 <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>
4826 <p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00398">398</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
4828 <p>References <a class="el" href="_helpers_8h_source.xhtml#l00376">compute_strides()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00231">TensorInfo::element_size()</a>.</p>
4829 <div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span> {</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a99bbb937f89cde6dfe346f566d41c707">compute_strides</a>(info, info.element_size());</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a99bbb937f89cde6dfe346f566d41c707"><div class="ttname"><a href="namespacearm__compute.xhtml#a99bbb937f89cde6dfe346f566d41c707">arm_compute::compute_strides</a></div><div class="ttdeci">Strides compute_strides(const TensorInfo &info)</div><div class="ttdoc">Create a strides object based on the tensor dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8h_source.xhtml#l00398">Helpers.h:398</a></div></div>
4830 </div><!-- fragment -->
4833 <a class="anchor" id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
4834 <div class="memitem">
4835 <div class="memproto">
4836 <table class="mlabels">
4838 <td class="mlabels-left">
4839 <table class="memname">
4841 <td class="memname">size_t arm_compute::data_size_from_type </td>
4843 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
4844 <td class="paramname"><em>data_type</em></td><td>)</td>
4849 <td class="mlabels-right">
4850 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4853 </div><div class="memdoc">
4855 <p>The size in bytes of the data type. </p>
4856 <dl class="params"><dt>Parameters</dt><dd>
4857 <table class="params">
4858 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Input data type</td></tr>
4862 <dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
4864 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00098">98</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
4866 <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#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>
4868 <p>Referenced by <a class="el" href="_tensor_info_8h_source.xhtml#l00231">TensorInfo::element_size()</a>.</p>
4869 <div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">switch</span>(data_type)</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid data type"</span>);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div><div class="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>
4870 </div><!-- fragment -->
4873 <a class="anchor" id="a01adc12d8e07c06cdb0f03c56a455bf3"></a>
4874 <div class="memitem">
4875 <div class="memproto">
4876 <table class="mlabels">
4878 <td class="mlabels-left">
4879 <table class="memname">
4881 <td class="memname">std::pair<<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>> arm_compute::data_type_for_convolution </td>
4883 <td class="paramtype">const int16_t * </td>
4884 <td class="paramname"><em>conv_col</em>, </td>
4887 <td class="paramkey"></td>
4889 <td class="paramtype">const int16_t * </td>
4890 <td class="paramname"><em>conv_row</em>, </td>
4893 <td class="paramkey"></td>
4895 <td class="paramtype">size_t </td>
4896 <td class="paramname"><em>size</em> </td>
4905 <td class="mlabels-right">
4906 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4909 </div><div class="memdoc">
4911 <p>Calculate accurary required by the horizontal and vertical convolution computations. </p>
4912 <dl class="params"><dt>Parameters</dt><dd>
4913 <table class="params">
4914 <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>
4915 <tr><td class="paramdir">[in]</td><td class="paramname">conv_row</td><td>Pointer to the horizontal vector of the convolution filter </td></tr>
4916 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of elements per vector of the separated matrix</td></tr>
4920 <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>
4922 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00435">435</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
4924 <p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
4925 <div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> {</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &v)</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  };</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keyword">auto</span> accu_neg = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &first, <span class="keyword">const</span> <span class="keywordtype">int</span> &second)</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">return</span> first + (second < 0 ? second : 0);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  };</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keyword">auto</span> accu_pos = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &first, <span class="keyword">const</span> <span class="keywordtype">int</span> &second)</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  {</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">return</span> first + (second > 0 ? second : 0);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  };</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + size, gez) && std::all_of(conv_col, conv_col + size, gez);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  {</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + size, 0) * max_row_value;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  first_stage = (max_row_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  second_stage = (max_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  {</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + size, 0, accu_neg) * UINT8_MAX;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + size, 0, accu_pos) * UINT8_MAX;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> neg_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + size, 0, accu_neg);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pos_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + size, 0, accu_pos);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = neg_coeffs_sum * max_row_value + pos_coeffs_sum * min_row_value;</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = neg_coeffs_sum * min_row_value + pos_coeffs_sum * max_row_value;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  first_stage = ((INT16_MIN <= min_row_value) && (max_row_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  second_stage = ((INT16_MIN <= min_value) && (max_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span> }</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
4926 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00059">Types.h:59</a></div></div>
4927 </div><!-- fragment -->
4930 <a class="anchor" id="a3992df9e8723140a53e49dc194d89ef5"></a>
4931 <div class="memitem">
4932 <div class="memproto">
4933 <table class="mlabels">
4935 <td class="mlabels-left">
4936 <table class="memname">
4938 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_for_convolution_matrix </td>
4940 <td class="paramtype">const int16_t * </td>
4941 <td class="paramname"><em>conv</em>, </td>
4944 <td class="paramkey"></td>
4946 <td class="paramtype">size_t </td>
4947 <td class="paramname"><em>size</em> </td>
4956 <td class="mlabels-right">
4957 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4960 </div><div class="memdoc">
4962 <p>Calculate the accuracy required by the squared convolution calculation. </p>
4963 <dl class="params"><dt>Parameters</dt><dd>
4964 <table class="params">
4965 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>Pointer to the squared convolution matrix </td></tr>
4966 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The total size of the convolution matrix</td></tr>
4970 <dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
4972 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">491</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
4974 <p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="namespacearm__compute.xhtml#ab72adf11888176ec19224deef7b1a7dc">lower_string()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#a6fd2c972d67298469a6aad75879fffab">scaled_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#ac955c978e18cc9bf6daea31f13076fba">string_from_activation_func()</a>, <a class="el" href="namespacearm__compute.xhtml#abd15add5c6c7de5c8205ce236875aadd">string_from_border_mode()</a>, <a class="el" href="namespacearm__compute.xhtml#a106c203dd6af234d38452ea0ee7b2ddc">string_from_channel()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, <a class="el" href="namespacearm__compute.xhtml#ade34f5e72f050fd3665f3294dfb15850">string_from_interpolation_policy()</a>, <a class="el" href="namespacearm__compute.xhtml#a018795ab2489d17309e158ff5c060ab1">string_from_matrix_pattern()</a>, <a class="el" href="namespacearm__compute.xhtml#a14831547f57ecf5f0deef888ad41ad30">string_from_non_linear_filter_function()</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
4975 <div class="fragment"><div class="line"><a name="l00492"></a><span class="lineno"> 492</span> {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  };</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv, conv + size, gez);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">if</span>(max_conv_value <= UINT16_MAX)</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  }</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  {</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">return</span> b < 0 ? a + b : a;</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  })</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  * UINT8_MAX;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  {</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">return</span> b > 0 ? a + b : a;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  })</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  * UINT8_MAX;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span> </div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">if</span>((INT16_MIN <= min_value) && (INT16_MAX >= max_value))</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  {</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  }</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  {</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  }</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  }</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span> }</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
4976 </div><!-- fragment -->
4979 <a class="anchor" id="a59846ef5ca75cd81cdb7e8a1ce08f9db"></a>
4980 <div class="memitem">
4981 <div class="memproto">
4982 <table class="mlabels">
4984 <td class="mlabels-left">
4985 <table class="memname">
4987 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_from_format </td>
4989 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
4990 <td class="paramname"><em>format</em></td><td>)</td>
4995 <td class="mlabels-right">
4996 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
4999 </div><div class="memdoc">
5001 <p>Return the data type used by a given single-planar pixel format. </p>
5002 <dl class="params"><dt>Parameters</dt><dd>
5003 <table class="params">
5004 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
5008 <dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
5010 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00195">195</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
5012 <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#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">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>
5013 <div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported data_type for given format"</span>);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> }</div><div class="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>
5014 </div><!-- fragment -->
5017 <a class="anchor" id="a12705a88669cb9fb90451ebe0db53c41"></a>
5018 <div class="memitem">
5019 <div class="memproto">
5020 <table class="memname">
5022 <td class="memname">constexpr auto arm_compute::DIV_CEIL </td>
5024 <td class="paramtype">S </td>
5025 <td class="paramname"><em>val</em>, </td>
5028 <td class="paramkey"></td>
5030 <td class="paramtype">T </td>
5031 <td class="paramname"><em>m</em> </td>
5036 <td></td><td> -> decltype((val + m - 1) / m)
5040 </div><div class="memdoc">
5042 <p>Calculate the rounded up quotient of val / m. </p>
5044 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00058">58</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
5046 <p>References <a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file()</a>.</p>
5047 <div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">return</span> (val + m - 1) / m;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> }</div></div><!-- fragment -->
5050 <a class="anchor" id="a34b06c0cd94808a77b697e79880b84b0"></a>
5051 <div class="memitem">
5052 <div class="memproto">
5053 <table class="mlabels">
5055 <td class="mlabels-left">
5056 <table class="memname">
5058 <td class="memname">size_t arm_compute::element_size_from_data_type </td>
5060 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
5061 <td class="paramname"><em>dt</em></td><td>)</td>
5066 <td class="mlabels-right">
5067 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
5070 </div><div class="memdoc">
5072 <p>The size in bytes of the data type. </p>
5073 <dl class="params"><dt>Parameters</dt><dd>
5074 <table class="params">
5075 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type</td></tr>
5079 <dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
5081 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00169">169</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
5083 <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#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>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
5084 <div class="fragment"><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> {</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined element size for given data type"</span>);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  }</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div><div class="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>
5085 </div><!-- fragment -->
5088 <a class="anchor" id="a22af22ebac966b76e8553127064201a2"></a>
5089 <div class="memitem">
5090 <div class="memproto">
5091 <table class="memname">
5093 <td class="memname">void arm_compute::enqueue </td>
5095 <td class="paramtype">cl::CommandQueue & </td>
5096 <td class="paramname"><em>queue</em>, </td>
5099 <td class="paramkey"></td>
5101 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> & </td>
5102 <td class="paramname"><em>kernel</em>, </td>
5105 <td class="paramkey"></td>
5107 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
5108 <td class="paramname"><em>window</em>, </td>
5111 <td class="paramkey"></td>
5113 <td class="paramtype">const cl::NDRange & </td>
5114 <td class="paramname"><em>lws_hint</em> = <code>cl::Range_128_1</code> </td>
5122 </div><div class="memdoc">
5124 <p>Add the kernel to the command queue with the given window. </p>
5125 <dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
5127 If kernel->kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
5128 <dl class="params"><dt>Parameters</dt><dd>
5129 <table class="params">
5130 <tr><td class="paramdir">[in,out]</td><td class="paramname">queue</td><td>OpenCL command queue. </td></tr>
5131 <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>
5132 <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>
5133 <tr><td class="paramdir">[in]</td><td class="paramname">lws_hint</td><td>Local workgroup size requested, by default (128,1)</td></tr>
5137 <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>
5139 <p>Referenced by <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00096">ICLKernel::add_argument()</a>.</p>
5143 <a class="anchor" id="a568b0fbfa3d903099d9c9f7b6acf188d"></a>
5144 <div class="memitem">
5145 <div class="memproto">
5146 <table class="memname">
5148 <td class="memname">void arm_compute::error </td>
5150 <td class="paramtype">const char * </td>
5151 <td class="paramname"><em>function</em>, </td>
5154 <td class="paramkey"></td>
5156 <td class="paramtype">const char * </td>
5157 <td class="paramname"><em>file</em>, </td>
5160 <td class="paramkey"></td>
5162 <td class="paramtype">const int </td>
5163 <td class="paramname"><em>line</em>, </td>
5166 <td class="paramkey"></td>
5168 <td class="paramtype">const char * </td>
5169 <td class="paramname"><em>msg</em>, </td>
5172 <td class="paramkey"></td>
5174 <td class="paramtype"> </td>
5175 <td class="paramname"><em>...</em> </td>
5183 </div><div class="memdoc">
5185 <p>Print an error message then throw an std::runtime_error. </p>
5186 <dl class="params"><dt>Parameters</dt><dd>
5187 <table class="params">
5188 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5189 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5190 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5191 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
5192 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
5199 <a class="anchor" id="a593d972357b3bcfeecb87207dc925417"></a>
5200 <div class="memitem">
5201 <div class="memproto">
5202 <table class="memname">
5204 <td class="memname">void arm_compute::error_on_channel_not_in </td>
5206 <td class="paramtype">const char * </td>
5207 <td class="paramname"><em>function</em>, </td>
5210 <td class="paramkey"></td>
5212 <td class="paramtype">const char * </td>
5213 <td class="paramname"><em>file</em>, </td>
5216 <td class="paramkey"></td>
5218 <td class="paramtype">const int </td>
5219 <td class="paramname"><em>line</em>, </td>
5222 <td class="paramkey"></td>
5224 <td class="paramtype">T </td>
5225 <td class="paramname"><em>cn</em>, </td>
5228 <td class="paramkey"></td>
5230 <td class="paramtype">T && </td>
5231 <td class="paramname"><em>channel</em>, </td>
5234 <td class="paramkey"></td>
5236 <td class="paramtype">Ts &&... </td>
5237 <td class="paramname"><em>channels</em> </td>
5245 </div><div class="memdoc">
5247 <p>Throw an error if the channel is not in channels. </p>
5248 <dl class="params"><dt>Parameters</dt><dd>
5249 <table class="params">
5250 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5251 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5252 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5253 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>Input channel </td></tr>
5254 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>First channel allowed. </td></tr>
5255 <tr><td class="paramdir">[in]</td><td class="paramname">channels</td><td>(Optional) Further allowed channels. </td></tr>
5260 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00292">292</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
5262 <p>References <a class="el" href="_error_8h_source.xhtml#l00110">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
5263 <div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(cn == Channel::UNKNOWN, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keyword">const</span> std::array<T, <span class="keyword">sizeof</span>...(Ts)> channels_array{ { std::forward<Ts>(channels)... } };</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(channels_array);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(channel != cn && std::none_of(channels_array.begin(), channels_array.end(), [&](<span class="keyword">const</span> T & f)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> f == cn;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }),</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> }</div><div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
5264 <div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00110">Error.h:110</a></div></div>
5265 </div><!-- fragment -->
5268 <a class="anchor" id="ad0d001a84424d440f9a11fc1b80ed2ff"></a>
5269 <div class="memitem">
5270 <div class="memproto">
5271 <table class="memname">
5273 <td class="memname">void arm_compute::error_on_channel_not_in_known_format </td>
5275 <td class="paramtype">const char * </td>
5276 <td class="paramname"><em>function</em>, </td>
5279 <td class="paramkey"></td>
5281 <td class="paramtype">const char * </td>
5282 <td class="paramname"><em>file</em>, </td>
5285 <td class="paramkey"></td>
5287 <td class="paramtype">const int </td>
5288 <td class="paramname"><em>line</em>, </td>
5291 <td class="paramkey"></td>
5293 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
5294 <td class="paramname"><em>fmt</em>, </td>
5297 <td class="paramkey"></td>
5299 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> </td>
5300 <td class="paramname"><em>cn</em> </td>
5308 </div><div class="memdoc">
5310 <p>Throw an error if the channel is not in format. </p>
5311 <dl class="params"><dt>Parameters</dt><dd>
5312 <table class="params">
5313 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5314 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5315 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5316 <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Input channel </td></tr>
5317 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>First channel allowed. </td></tr>
5324 <a class="anchor" id="a130822528598f21a48f7ee0e6d8438a0"></a>
5325 <div class="memitem">
5326 <div class="memproto">
5327 <table class="memname">
5329 <td class="memname">void arm_compute::error_on_coordinates_dimensions_gte </td>
5331 <td class="paramtype">const char * </td>
5332 <td class="paramname"><em>function</em>, </td>
5335 <td class="paramkey"></td>
5337 <td class="paramtype">const char * </td>
5338 <td class="paramname"><em>file</em>, </td>
5341 <td class="paramkey"></td>
5343 <td class="paramtype">const int </td>
5344 <td class="paramname"><em>line</em>, </td>
5347 <td class="paramkey"></td>
5349 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> & </td>
5350 <td class="paramname"><em>pos</em>, </td>
5353 <td class="paramkey"></td>
5355 <td class="paramtype">unsigned int </td>
5356 <td class="paramname"><em>max_dim</em> </td>
5364 </div><div class="memdoc">
5366 <p>Throw an error if the passed coordinates have too many dimensions. </p>
5367 <p>The coordinates have too many dimensions if any of the dimensions greater or equal to max_dim is different from 0.</p>
5368 <dl class="params"><dt>Parameters</dt><dd>
5369 <table class="params">
5370 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5371 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5372 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5373 <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>
5374 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
5381 <a class="anchor" id="a690ce072b4480f4a5bad433f23c9fe05"></a>
5382 <div class="memitem">
5383 <div class="memproto">
5384 <table class="memname">
5386 <td class="memname">void arm_compute::error_on_data_type_channel_not_in </td>
5388 <td class="paramtype">const char * </td>
5389 <td class="paramname"><em>function</em>, </td>
5392 <td class="paramkey"></td>
5394 <td class="paramtype">const char * </td>
5395 <td class="paramname"><em>file</em>, </td>
5398 <td class="paramkey"></td>
5400 <td class="paramtype">const int </td>
5401 <td class="paramname"><em>line</em>, </td>
5404 <td class="paramkey"></td>
5406 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
5407 <td class="paramname"><em>tensor</em>, </td>
5410 <td class="paramkey"></td>
5412 <td class="paramtype">size_t </td>
5413 <td class="paramname"><em>num_channels</em>, </td>
5416 <td class="paramkey"></td>
5418 <td class="paramtype">T && </td>
5419 <td class="paramname"><em>dt</em>, </td>
5422 <td class="paramkey"></td>
5424 <td class="paramtype">Ts &&... </td>
5425 <td class="paramname"><em>dts</em> </td>
5433 </div><div class="memdoc">
5435 <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>
5436 <dl class="params"><dt>Parameters</dt><dd>
5437 <table class="params">
5438 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5439 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5440 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5441 <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>
5442 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
5443 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
5444 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
5449 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00259">259</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
5451 <p>References <a class="el" href="_error_8h_source.xhtml#l00092">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_validate_8h_source.xhtml#l00227">error_on_data_type_not_in()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">ITensor::info()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00247">TensorInfo::num_channels()</a>.</p>
5452 <div class="fragment"><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor, std::forward<T>(dt), std::forward<Ts>(dts)...);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor->info()->num_channels();</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_nc);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <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">"Number of channels %d. Required number of channels %d"</span>, tensor_nc, num_channels);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5453 <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>
5454 <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 &&dt, Ts &&...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#l00227">Validate.h:227</a></div></div>
5455 </div><!-- fragment -->
5458 <a class="anchor" id="a0c52339d3cb372d145deeafb5a313807"></a>
5459 <div class="memitem">
5460 <div class="memproto">
5461 <table class="memname">
5463 <td class="memname">void arm_compute::error_on_data_type_not_in </td>
5465 <td class="paramtype">const char * </td>
5466 <td class="paramname"><em>function</em>, </td>
5469 <td class="paramkey"></td>
5471 <td class="paramtype">const char * </td>
5472 <td class="paramname"><em>file</em>, </td>
5475 <td class="paramkey"></td>
5477 <td class="paramtype">const int </td>
5478 <td class="paramname"><em>line</em>, </td>
5481 <td class="paramkey"></td>
5483 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
5484 <td class="paramname"><em>tensor</em>, </td>
5487 <td class="paramkey"></td>
5489 <td class="paramtype">T && </td>
5490 <td class="paramname"><em>dt</em>, </td>
5493 <td class="paramkey"></td>
5495 <td class="paramtype">Ts &&... </td>
5496 <td class="paramname"><em>dts</em> </td>
5504 </div><div class="memdoc">
5506 <p>Throw an error if the data type of the passed tensor does not match any of the data types provided. </p>
5507 <dl class="params"><dt>Parameters</dt><dd>
5508 <table class="params">
5509 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5510 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5511 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5512 <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>
5513 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
5514 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
5519 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00227">227</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
5521 <p>References <a class="el" href="_error_8h_source.xhtml#l00110">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00092">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00263">TensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">ITensor::info()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
5523 <p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00259">error_on_data_type_channel_not_in()</a>.</p>
5524 <div class="fragment"><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <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><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&tensor_dt = tensor->info()->data_type();</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_dt);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <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><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keyword">const</span> std::array<T, <span class="keyword">sizeof</span>...(Ts)> dts_array{ { std::forward<Ts>(dts)... } };</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(dts_array);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_dt != dt && std::none_of(dts_array.begin(), dts_array.end(), [&](<span class="keyword">const</span> T & d)</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> d == tensor_dt;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }),</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"ITensor data type %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(tensor_dt).c_str());</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5525 <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>
5526 <div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string & string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
5527 <div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00110">Error.h:110</a></div></div>
5528 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00059">Types.h:59</a></div></div>
5529 </div><!-- fragment -->
5532 <a class="anchor" id="a0b360558b516e256f0af005a164c674e"></a>
5533 <div class="memitem">
5534 <div class="memproto">
5535 <table class="memname">
5537 <td class="memname">void arm_compute::error_on_format_not_in </td>
5539 <td class="paramtype">const char * </td>
5540 <td class="paramname"><em>function</em>, </td>
5543 <td class="paramkey"></td>
5545 <td class="paramtype">const char * </td>
5546 <td class="paramname"><em>file</em>, </td>
5549 <td class="paramkey"></td>
5551 <td class="paramtype">const int </td>
5552 <td class="paramname"><em>line</em>, </td>
5555 <td class="paramkey"></td>
5557 <td class="paramtype">const T * </td>
5558 <td class="paramname"><em>object</em>, </td>
5561 <td class="paramkey"></td>
5563 <td class="paramtype">F && </td>
5564 <td class="paramname"><em>format</em>, </td>
5567 <td class="paramkey"></td>
5569 <td class="paramtype">Fs &&... </td>
5570 <td class="paramname"><em>formats</em> </td>
5578 </div><div class="memdoc">
5580 <p>Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. </p>
5581 <dl class="params"><dt>Parameters</dt><dd>
5582 <table class="params">
5583 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5584 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5585 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5586 <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>Tensor/multi-image to validate. </td></tr>
5587 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>First format allowed. </td></tr>
5588 <tr><td class="paramdir">[in]</td><td class="paramname">formats</td><td>(Optional) Further allowed formats. </td></tr>
5593 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00196">196</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
5595 <p>References <a class="el" href="_error_8h_source.xhtml#l00110">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00092">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
5596 <div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(<span class="keywordtype">object</span> == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &&object_format = <span class="keywordtype">object</span>->info()->format();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(object_format);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(object_format == Format::UNKNOWN, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">const</span> std::array<F, <span class="keyword">sizeof</span>...(Fs)> formats_array{ { std::forward<Fs>(formats)... } };</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(formats_array);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(object_format != format && std::none_of(formats_array.begin(), formats_array.end(), [&](<span class="keyword">const</span> F & f)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">return</span> f == object_format;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  }),</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Format %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a>(object_format).c_str());</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> }</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5597 <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>
5598 <div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a></div><div class="ttdeci">Format</div><div class="ttdoc">Image colour formats. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00037">Types.h:37</a></div></div>
5599 <div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00110">Error.h:110</a></div></div>
5600 <div class="ttc" id="namespacearm__compute_xhtml_a9c92c867fc64454545668d87b20979eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">arm_compute::string_from_format</a></div><div class="ttdeci">const std::string & string_from_format(Format format)</div><div class="ttdoc">Convert a tensor format into a string. </div></div>
5601 </div><!-- fragment -->
5604 <a class="anchor" id="a307666ca482a84d5a64251d78889a818"></a>
5605 <div class="memitem">
5606 <div class="memproto">
5607 <table class="memname">
5609 <td class="memname">void arm_compute::error_on_invalid_multi_hog </td>
5611 <td class="paramtype">const char * </td>
5612 <td class="paramname"><em>function</em>, </td>
5615 <td class="paramkey"></td>
5617 <td class="paramtype">const char * </td>
5618 <td class="paramname"><em>file</em>, </td>
5621 <td class="paramkey"></td>
5623 <td class="paramtype">const int </td>
5624 <td class="paramname"><em>line</em>, </td>
5627 <td class="paramkey"></td>
5629 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> * </td>
5630 <td class="paramname"><em>multi_hog</em> </td>
5638 </div><div class="memdoc">
5640 <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>
5641 <p>An <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid if:</p>
5643 <li>it is a nullptr</li>
5644 <li>it doesn't contain models</li>
5645 <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>
5646 <dl class="params"><dt>Parameters</dt><dd>
5647 <table class="params">
5648 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5649 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5650 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5651 <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>
5660 <a class="anchor" id="a0916477887763c20822b43be144963eb"></a>
5661 <div class="memitem">
5662 <div class="memproto">
5663 <table class="memname">
5665 <td class="memname">void arm_compute::error_on_invalid_subwindow </td>
5667 <td class="paramtype">const char * </td>
5668 <td class="paramname"><em>function</em>, </td>
5671 <td class="paramkey"></td>
5673 <td class="paramtype">const char * </td>
5674 <td class="paramname"><em>file</em>, </td>
5677 <td class="paramkey"></td>
5679 <td class="paramtype">const int </td>
5680 <td class="paramname"><em>line</em>, </td>
5683 <td class="paramkey"></td>
5685 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
5686 <td class="paramname"><em>full</em>, </td>
5689 <td class="paramkey"></td>
5691 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
5692 <td class="paramname"><em>sub</em> </td>
5700 </div><div class="memdoc">
5702 <p>Throw an error if the passed subwindow is invalid. </p>
5703 <p>The subwindow is invalid if:</p><ul>
5704 <li>It is not a valid window.</li>
5705 <li>It is not fully contained inside the full window</li>
5706 <li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
5707 <dl class="params"><dt>Parameters</dt><dd>
5708 <table class="params">
5709 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5710 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5711 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5712 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
5713 <tr><td class="paramdir">[in]</td><td class="paramname">sub</td><td>Sub-window to validate. </td></tr>
5722 <a class="anchor" id="ad35d92af32949e38ec38b3d8e46b566c"></a>
5723 <div class="memitem">
5724 <div class="memproto">
5725 <table class="memname">
5727 <td class="memname">void arm_compute::error_on_mismatching_data_types </td>
5729 <td class="paramtype">const char * </td>
5730 <td class="paramname"><em>function</em>, </td>
5733 <td class="paramkey"></td>
5735 <td class="paramtype">const char * </td>
5736 <td class="paramname"><em>file</em>, </td>
5739 <td class="paramkey"></td>
5741 <td class="paramtype">const int </td>
5742 <td class="paramname"><em>line</em>, </td>
5745 <td class="paramkey"></td>
5747 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
5748 <td class="paramname"><em>tensor_1</em>, </td>
5751 <td class="paramkey"></td>
5753 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
5754 <td class="paramname"><em>tensor_2</em>, </td>
5757 <td class="paramkey"></td>
5759 <td class="paramtype">Ts... </td>
5760 <td class="paramname"><em>tensors</em> </td>
5768 </div><div class="memdoc">
5770 <p>Throw an error if the passed two tensors have different data types. </p>
5771 <dl class="params"><dt>Parameters</dt><dd>
5772 <table class="params">
5773 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5774 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5775 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5776 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
5777 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
5778 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
5783 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00162">162</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
5785 <p>References <a class="el" href="_error_8h_source.xhtml#l00092">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00263">TensorInfo::data_type()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">ITensor::info()</a>.</p>
5786 <div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_1);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_2);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&first_data_type = tensor_1->info()->data_type();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(first_data_type);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">const</span> std::array<<span class="keyword">const</span> ITensor *, <span class="keyword">sizeof</span>...(Ts)> tensors_array{ { std::forward<Ts>(tensors)... } };</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_2->info()->data_type() != first_data_type || std::any_of(tensors_array.begin(), tensors_array.end(), [&](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> tensor->info()->data_type() != first_data_type;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }),</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different data types"</span>);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5787 <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>
5788 <div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00059">Types.h:59</a></div></div>
5789 </div><!-- fragment -->
5792 <a class="anchor" id="a7b689868b627ba9e22c8473c5f985512"></a>
5793 <div class="memitem">
5794 <div class="memproto">
5795 <table class="memname">
5797 <td class="memname">void arm_compute::error_on_mismatching_shapes </td>
5799 <td class="paramtype">const char * </td>
5800 <td class="paramname"><em>function</em>, </td>
5803 <td class="paramkey"></td>
5805 <td class="paramtype">const char * </td>
5806 <td class="paramname"><em>file</em>, </td>
5809 <td class="paramkey"></td>
5811 <td class="paramtype">const int </td>
5812 <td class="paramname"><em>line</em>, </td>
5815 <td class="paramkey"></td>
5817 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
5818 <td class="paramname"><em>tensor_1</em>, </td>
5821 <td class="paramkey"></td>
5823 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
5824 <td class="paramname"><em>tensor_2</em>, </td>
5827 <td class="paramkey"></td>
5829 <td class="paramtype">Ts... </td>
5830 <td class="paramname"><em>tensors</em> </td>
5838 </div><div class="memdoc">
5840 <p>Throw an error if the passed two tensors have different shapes. </p>
5841 <dl class="params"><dt>Parameters</dt><dd>
5842 <table class="params">
5843 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5844 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5845 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5846 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
5847 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
5848 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
5853 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00132">132</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
5855 <p>References <a class="el" href="_error_8h_source.xhtml#l00092">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, and <a class="el" href="_validate_8h_source.xhtml#l00109">have_different_shapes()</a>.</p>
5856 <div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_1);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_2);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">const</span> std::array<<span class="keyword">const</span> ITensor *, <span class="keyword">sizeof</span>...(Ts)> tensors_array{ { std::forward<Ts>(tensors)... } };</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(<a class="code" href="namespacearm__compute.xhtml#a98c979818eae59f104fcaf8de723aeda">have_different_shapes</a>(tensor_1, tensor_2) || std::any_of(tensors_array.begin(), tensors_array.end(), [&](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a98c979818eae59f104fcaf8de723aeda">have_different_shapes</a>(tensor_1, tensor);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }),</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different shapes"</span>);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5857 <div class="ttc" id="namespacearm__compute_xhtml_a98c979818eae59f104fcaf8de723aeda"><div class="ttname"><a href="namespacearm__compute.xhtml#a98c979818eae59f104fcaf8de723aeda">arm_compute::have_different_shapes</a></div><div class="ttdeci">bool have_different_shapes(const ITensor *tensor_1, const ITensor *tensor_2)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00109">Validate.h:109</a></div></div>
5858 <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>
5859 </div><!-- fragment -->
5862 <a class="anchor" id="a26a9847c05c48bd1470f22f898ee254d"></a>
5863 <div class="memitem">
5864 <div class="memproto">
5865 <table class="memname">
5867 <td class="memname">void arm_compute::error_on_mismatching_windows </td>
5869 <td class="paramtype">const char * </td>
5870 <td class="paramname"><em>function</em>, </td>
5873 <td class="paramkey"></td>
5875 <td class="paramtype">const char * </td>
5876 <td class="paramname"><em>file</em>, </td>
5879 <td class="paramkey"></td>
5881 <td class="paramtype">const int </td>
5882 <td class="paramname"><em>line</em>, </td>
5885 <td class="paramkey"></td>
5887 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
5888 <td class="paramname"><em>full</em>, </td>
5891 <td class="paramkey"></td>
5893 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
5894 <td class="paramname"><em>win</em> </td>
5902 </div><div class="memdoc">
5904 <p>Throw an error if the passed window is invalid. </p>
5905 <p>The subwindow is invalid if:</p><ul>
5906 <li>It is not a valid window.</li>
5907 <li>Its dimensions don't match the full window's ones</li>
5908 <li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
5909 <dl class="params"><dt>Parameters</dt><dd>
5910 <table class="params">
5911 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5912 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5913 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5914 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
5915 <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>
5924 <a class="anchor" id="a65c8e0610dff27ecf1ef30214f08d19e"></a>
5925 <div class="memitem">
5926 <div class="memproto">
5927 <table class="memname">
5929 <td class="memname">void arm_compute::error_on_tensor_not_2d </td>
5931 <td class="paramtype">const char * </td>
5932 <td class="paramname"><em>function</em>, </td>
5935 <td class="paramkey"></td>
5937 <td class="paramtype">const char * </td>
5938 <td class="paramname"><em>file</em>, </td>
5941 <td class="paramkey"></td>
5943 <td class="paramtype">const int </td>
5944 <td class="paramname"><em>line</em>, </td>
5947 <td class="paramkey"></td>
5949 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
5950 <td class="paramname"><em>tensor</em> </td>
5958 </div><div class="memdoc">
5960 <p>Throw an error if the tensor is not 2D. </p>
5961 <dl class="params"><dt>Parameters</dt><dd>
5962 <table class="params">
5963 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5964 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5965 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5966 <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>
5973 <a class="anchor" id="a21a4884cd1dbfa83351b8efa265f526a"></a>
5974 <div class="memitem">
5975 <div class="memproto">
5976 <table class="memname">
5978 <td class="memname">void arm_compute::error_on_unconfigured_kernel </td>
5980 <td class="paramtype">const char * </td>
5981 <td class="paramname"><em>function</em>, </td>
5984 <td class="paramkey"></td>
5986 <td class="paramtype">const char * </td>
5987 <td class="paramname"><em>file</em>, </td>
5990 <td class="paramkey"></td>
5992 <td class="paramtype">const int </td>
5993 <td class="paramname"><em>line</em>, </td>
5996 <td class="paramkey"></td>
5998 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> * </td>
5999 <td class="paramname"><em>kernel</em> </td>
6007 </div><div class="memdoc">
6009 <p>Throw an error if the kernel is not configured. </p>
6010 <dl class="params"><dt>Parameters</dt><dd>
6011 <table class="params">
6012 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
6013 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
6014 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
6015 <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>
6022 <a class="anchor" id="a6fed5543ae383442a51362e6607c4e65"></a>
6023 <div class="memitem">
6024 <div class="memproto">
6025 <table class="memname">
6027 <td class="memname">void arm_compute::error_on_window_dimensions_gte </td>
6029 <td class="paramtype">const char * </td>
6030 <td class="paramname"><em>function</em>, </td>
6033 <td class="paramkey"></td>
6035 <td class="paramtype">const char * </td>
6036 <td class="paramname"><em>file</em>, </td>
6039 <td class="paramkey"></td>
6041 <td class="paramtype">const int </td>
6042 <td class="paramname"><em>line</em>, </td>
6045 <td class="paramkey"></td>
6047 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
6048 <td class="paramname"><em>win</em>, </td>
6051 <td class="paramkey"></td>
6053 <td class="paramtype">unsigned int </td>
6054 <td class="paramname"><em>max_dim</em> </td>
6062 </div><div class="memdoc">
6064 <p>Throw an error if the passed window has too many dimensions. </p>
6065 <p>The window has too many dimensions if any of the dimension greater or equal to max_dim is different from 0.</p>
6066 <dl class="params"><dt>Parameters</dt><dd>
6067 <table class="params">
6068 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
6069 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
6070 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
6071 <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>
6072 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
6079 <a class="anchor" id="a78fd1c0056e9add7ab01b8e118c0038d"></a>
6080 <div class="memitem">
6081 <div class="memproto">
6082 <table class="mlabels">
6084 <td class="mlabels-left">
6085 <table class="memname">
6087 <td class="memname">void arm_compute::execute_window_loop </td>
6089 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
6090 <td class="paramname"><em>w</em>, </td>
6093 <td class="paramkey"></td>
6095 <td class="paramtype">L && </td>
6096 <td class="paramname"><em>lambda_function</em>, </td>
6099 <td class="paramkey"></td>
6101 <td class="paramtype">Ts &&... </td>
6102 <td class="paramname"><em>iterators</em> </td>
6111 <td class="mlabels-right">
6112 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
6115 </div><div class="memdoc">
6117 <p>Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. </p>
6118 <p>It passes the x and y positions to the lambda_function for each iteration</p>
6119 <dl class="params"><dt>Parameters</dt><dd>
6120 <table class="params">
6121 <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>
6122 <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> & id ) to call at each iteration. Where id represents the absolute coordinates of the item to process. </td></tr>
6123 <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>
6128 <p>Referenced by <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="test__helpers_2_utils_8h_source.xhtml#l00142">PPMLoader::fill_image()</a>, <a class="el" href="neon__copy__objects_8cpp_source.xhtml#l00035">main_neon_copy_objects()</a>, and <a class="el" href="test__helpers_2_utils_8h_source.xhtml#l00245">test_helpers::save_to_ppm()</a>.</p>
6132 <a class="anchor" id="a6959e681668a37a9242d2aae4e8b4375"></a>
6133 <div class="memitem">
6134 <div class="memproto">
6135 <table class="mlabels">
6137 <td class="mlabels-left">
6138 <table class="memname">
6140 <td class="memname">auto arm_compute::floor_to_multiple </td>
6142 <td class="paramtype">S </td>
6143 <td class="paramname"><em>value</em>, </td>
6146 <td class="paramkey"></td>
6148 <td class="paramtype">T </td>
6149 <td class="paramname"><em>divisor</em> </td>
6154 <td></td><td> -> decltype((value / divisor) * divisor)
6159 <td class="mlabels-right">
6160 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
6163 </div><div class="memdoc">
6165 <p>Computes the largest number smaller or equal to value that is a multiple of divisor. </p>
6167 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00050">50</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
6169 <p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>.</p>
6170 <div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value < 0 || divisor <= 0);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
6171 </div><!-- fragment -->
6174 <a class="anchor" id="ab04905b0c6c0e4091160561eae870101"></a>
6175 <div class="memitem">
6176 <div class="memproto">
6177 <table class="memname">
6179 <td class="memname">std::string arm_compute::get_cl_type_from_data_type </td>
6181 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> & </td>
6182 <td class="paramname"><em>dt</em></td><td>)</td>
6186 </div><div class="memdoc">
6188 <p>Translates a tensor data type to the appropriate OpenCL type. </p>
6189 <dl class="params"><dt>Parameters</dt><dd>
6190 <table class="params">
6191 <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>
6195 <dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL type to be used. </dd></dl>
6199 <a class="anchor" id="a98c979818eae59f104fcaf8de723aeda"></a>
6200 <div class="memitem">
6201 <div class="memproto">
6202 <table class="mlabels">
6204 <td class="mlabels-left">
6205 <table class="memname">
6207 <td class="memname">bool arm_compute::have_different_shapes </td>
6209 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
6210 <td class="paramname"><em>tensor_1</em>, </td>
6213 <td class="paramkey"></td>
6215 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
6216 <td class="paramname"><em>tensor_2</em> </td>
6225 <td class="mlabels-right">
6226 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
6229 </div><div class="memdoc">
6231 <p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00109">109</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
6233 <p>References <a class="el" href="_tensor_info_8h_source.xhtml#l00190">TensorInfo::dimension()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">ITensor::info()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions< int >::num_max_dimensions</a>.</p>
6235 <p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00132">error_on_mismatching_shapes()</a>.</p>
6236 <div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i < <a class="code" href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Coordinates::num_max_dimensions</a>; ++i)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">if</span>(tensor_1->info()->dimension(i) != tensor_2->info()->dimension(i))</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div><div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a1b67d5b720119d50faa286c774579ecc"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a1b67d5b720119d50faa286c774579ecc">arm_compute::Dimensions< int >::num_max_dimensions</a></div><div class="ttdeci">static constexpr size_t num_max_dimensions</div><div class="ttdoc">Number of dimensions the tensor has. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00045">Dimensions.h:45</a></div></div>
6237 </div><!-- fragment -->
6240 <a class="anchor" id="a3bb1b3d01f14dbc0beb1e826eefeddc6"></a>
6241 <div class="memitem">
6242 <div class="memproto">
6243 <table class="memname">
6245 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> arm_compute::intersect_valid_regions </td>
6247 <td class="paramtype">Ts &&... </td>
6248 <td class="paramname"><em>regions</em></td><td>)</td>
6252 </div><div class="memdoc">
6254 <p>Intersect multiple valid regions. </p>
6255 <dl class="params"><dt>Parameters</dt><dd>
6256 <table class="params">
6257 <tr><td class="paramdir">[in]</td><td class="paramname">regions</td><td>Valid regions.</td></tr>
6261 <dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
6263 <p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00344">344</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
6265 <p>References <a class="el" href="_types_8h_source.xhtml#l00103">ValidRegion::anchor</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00108">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00073">Dimensions< T >::set()</a>, and <a class="el" href="_types_8h_source.xhtml#l00104">ValidRegion::shape</a>.</p>
6266 <div class="fragment"><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keyword">auto</span> intersect = [](<span class="keyword">const</span> ValidRegion & r1, <span class="keyword">const</span> ValidRegion & r2) -> ValidRegion</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  ValidRegion region;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  {</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  region.anchor.set(d, std::max(r1.anchor[d], r2.anchor[d]));</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < std::min(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  region.shape.set(d, std::min(r1.shape[d], r2.shape[d]));</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  }</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">return</span> region;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  };</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">return</span> foldl(intersect, std::forward<Ts>(regions)...);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</div></div><!-- fragment -->
6269 <a class="anchor" id="af5982a092e9eb743fce2d6392bdd8897"></a>
6270 <div class="memitem">
6271 <div class="memproto">
6272 <table class="mlabels">
6274 <td class="mlabels-left">
6275 <table class="memname">
6277 <td class="memname">bool arm_compute::is_data_type_float </td>
6279 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
6280 <td class="paramname"><em>dt</em></td><td>)</td>
6285 <td class="mlabels-right">
6286 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
6289 </div><div class="memdoc">
6291 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00621">621</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
6293 <p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
6294 <div class="fragment"><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> {</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  {</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  }</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span> }</div></div><!-- fragment -->
6297 <a class="anchor" id="ab72adf11888176ec19224deef7b1a7dc"></a>
6298 <div class="memitem">
6299 <div class="memproto">
6300 <table class="memname">
6302 <td class="memname">std::string arm_compute::lower_string </td>
6304 <td class="paramtype">std::string </td>
6305 <td class="paramname"><em>val</em></td><td>)</td>
6309 </div><div class="memdoc">
6311 <p>Lower a given string. </p>
6312 <dl class="params"><dt>Parameters</dt><dd>
6313 <table class="params">
6314 <tr><td class="paramname">val</td><td>Given string to lower.</td></tr>
6318 <dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
6320 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
6324 <a class="anchor" id="ac3f2de3a35ff8d9a47b5b793637784e7"></a>
6325 <div class="memitem">
6326 <div class="memproto">
6327 <table class="memname">
6329 <td class="memname">int arm_compute::max_consecutive_elements_display_width </td>
6331 <td class="paramtype">std::ostream & </td>
6332 <td class="paramname"><em>s</em>, </td>
6335 <td class="paramkey"></td>
6337 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
6338 <td class="paramname"><em>dt</em>, </td>
6341 <td class="paramkey"></td>
6343 <td class="paramtype">const uint8_t * </td>
6344 <td class="paramname"><em>ptr</em>, </td>
6347 <td class="paramkey"></td>
6349 <td class="paramtype">unsigned int </td>
6350 <td class="paramname"><em>n</em> </td>
6358 </div><div class="memdoc">
6360 <p>Identify the maximum width of n consecutive elements. </p>
6361 <dl class="params"><dt>Parameters</dt><dd>
6362 <table class="params">
6363 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
6364 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
6365 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
6366 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print.</td></tr>
6370 <dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
6372 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00665">max_consecutive_elements_display_width_impl()</a>.</p>
6376 <a class="anchor" id="aaecee617b967dd96f27d2f36732fb68e"></a>
6377 <div class="memitem">
6378 <div class="memproto">
6379 <table class="memname">
6381 <td class="memname">int arm_compute::max_consecutive_elements_display_width_impl </td>
6383 <td class="paramtype">std::ostream & </td>
6384 <td class="paramname"><em>s</em>, </td>
6387 <td class="paramkey"></td>
6389 <td class="paramtype">const T * </td>
6390 <td class="paramname"><em>ptr</em>, </td>
6393 <td class="paramkey"></td>
6395 <td class="paramtype">unsigned int </td>
6396 <td class="paramname"><em>n</em> </td>
6404 </div><div class="memdoc">
6406 <p>Identify the maximum width of n consecutive elements. </p>
6407 <dl class="params"><dt>Parameters</dt><dd>
6408 <table class="params">
6409 <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>
6410 <tr><td class="paramdir"></td><td class="paramname">ptr</td><td>Pointer to the elements. </td></tr>
6411 <tr><td class="paramdir"></td><td class="paramname">n</td><td>Number of elements.</td></tr>
6415 <dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
6417 <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>
6419 <p>References <a class="el" href="namespacearm__compute.xhtml#ac3f2de3a35ff8d9a47b5b793637784e7">max_consecutive_elements_display_width()</a>, and <a class="el" href="namespacearm__compute.xhtml#a51a0d2ae440bc8cab3fbbe84bfea8b1d">print_consecutive_elements()</a>.</p>
6420 <div class="fragment"><div class="line"><a name="l00666"></a><span class="lineno"> 666</span> {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordtype">int</span> max_width = -1;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < n; ++i)</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  {</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  std::stringstream ss;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  ss.copyfmt(s);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  ss << ptr[i];</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  max_width = std::max<int>(max_width, ss.str().size());</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  }</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <span class="keywordflow">return</span> max_width;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span> }</div></div><!-- fragment -->
6423 <a class="anchor" id="ab14153fb809c18823af3c9c8bc4286cb"></a>
6424 <div class="memitem">
6425 <div class="memproto">
6426 <table class="mlabels">
6428 <td class="mlabels-left">
6429 <table class="memname">
6431 <td class="memname">size_t arm_compute::num_channels_from_format </td>
6433 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
6434 <td class="paramname"><em>format</em></td><td>)</td>
6439 <td class="mlabels-right">
6440 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
6443 </div><div class="memdoc">
6445 <p>Return the number of channels for a given single-planar pixel format. </p>
6446 <dl class="params"><dt>Parameters</dt><dd>
6447 <table class="params">
6448 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
6452 <dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
6454 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00317">317</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
6456 <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>
6457 <div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div></div><!-- fragment -->
6460 <a class="anchor" id="a2a71659def659c8b1c164023a99a25a9"></a>
6461 <div class="memitem">
6462 <div class="memproto">
6463 <table class="mlabels">
6465 <td class="mlabels-left">
6466 <table class="memname">
6468 <td class="memname">size_t arm_compute::num_planes_from_format </td>
6470 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
6471 <td class="paramname"><em>format</em></td><td>)</td>
6476 <td class="mlabels-right">
6477 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
6480 </div><div class="memdoc">
6482 <p>Return the number of planes for a given format. </p>
6483 <dl class="params"><dt>Parameters</dt><dd>
6484 <table class="params">
6485 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
6489 <dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
6491 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00283">283</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
6493 <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>
6494 <div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported format"</span>);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> }</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
6495 </div><!-- fragment -->
6498 <a class="anchor" id="a4823543d67a2520c98669e2a5608ef6a"></a>
6499 <div class="memitem">
6500 <div class="memproto">
6501 <table class="mlabels">
6503 <td class="mlabels-left">
6504 <table class="memname">
6506 <td class="memname">size_t arm_compute::pixel_size_from_format </td>
6508 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
6509 <td class="paramname"><em>format</em></td><td>)</td>
6514 <td class="mlabels-right">
6515 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
6518 </div><div class="memdoc">
6520 <p>The size in bytes of the pixel format. </p>
6521 <dl class="params"><dt>Parameters</dt><dd>
6522 <table class="params">
6523 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
6527 <dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
6529 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00131">131</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
6531 <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>
6532 <div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined pixel size for given format"</span>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
6533 </div><!-- fragment -->
6536 <a class="anchor" id="a4f6fe18760340bcec02d095b7099e923"></a>
6537 <div class="memitem">
6538 <div class="memproto">
6539 <table class="mlabels">
6541 <td class="mlabels-left">
6542 <table class="memname">
6544 <td class="memname">int arm_compute::plane_idx_from_channel </td>
6546 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
6547 <td class="paramname"><em>format</em>, </td>
6550 <td class="paramkey"></td>
6552 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> </td>
6553 <td class="paramname"><em>channel</em> </td>
6562 <td class="mlabels-right">
6563 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
6566 </div><div class="memdoc">
6568 <p>Return the plane index of a given channel given an input format. </p>
6569 <dl class="params"><dt>Parameters</dt><dd>
6570 <table class="params">
6571 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
6572 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
6576 <dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
6578 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00236">236</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
6580 <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>
6581 <div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  }</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported format"</span>);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
6582 </div><!-- fragment -->
6585 <a class="anchor" id="a51a0d2ae440bc8cab3fbbe84bfea8b1d"></a>
6586 <div class="memitem">
6587 <div class="memproto">
6588 <table class="memname">
6590 <td class="memname">void arm_compute::print_consecutive_elements </td>
6592 <td class="paramtype">std::ostream & </td>
6593 <td class="paramname"><em>s</em>, </td>
6596 <td class="paramkey"></td>
6598 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
6599 <td class="paramname"><em>dt</em>, </td>
6602 <td class="paramkey"></td>
6604 <td class="paramtype">const uint8_t * </td>
6605 <td class="paramname"><em>ptr</em>, </td>
6608 <td class="paramkey"></td>
6610 <td class="paramtype">unsigned int </td>
6611 <td class="paramname"><em>n</em>, </td>
6614 <td class="paramkey"></td>
6616 <td class="paramtype">int </td>
6617 <td class="paramname"><em>stream_width</em>, </td>
6620 <td class="paramkey"></td>
6622 <td class="paramtype">const std::string & </td>
6623 <td class="paramname"><em>element_delim</em> = <code>" "</code> </td>
6631 </div><div class="memdoc">
6633 <p>Print consecutive elements to an output stream. </p>
6634 <dl class="params"><dt>Parameters</dt><dd>
6635 <table class="params">
6636 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
6637 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
6638 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
6639 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
6640 <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>
6641 <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>
6646 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00665">max_consecutive_elements_display_width_impl()</a>.</p>
6650 <a class="anchor" id="aa3a28b8acd21301990e06377c64e1276"></a>
6651 <div class="memitem">
6652 <div class="memproto">
6653 <table class="memname">
6655 <td class="memname">void arm_compute::print_consecutive_elements_impl </td>
6657 <td class="paramtype">std::ostream & </td>
6658 <td class="paramname"><em>s</em>, </td>
6661 <td class="paramkey"></td>
6663 <td class="paramtype">const T * </td>
6664 <td class="paramname"><em>ptr</em>, </td>
6667 <td class="paramkey"></td>
6669 <td class="paramtype">unsigned int </td>
6670 <td class="paramname"><em>n</em>, </td>
6673 <td class="paramkey"></td>
6675 <td class="paramtype">int </td>
6676 <td class="paramname"><em>stream_width</em> = <code>0</code>, </td>
6679 <td class="paramkey"></td>
6681 <td class="paramtype">const std::string & </td>
6682 <td class="paramname"><em>element_delim</em> = <code>" "</code> </td>
6690 </div><div class="memdoc">
6692 <p>Print consecutive elements to an output stream. </p>
6693 <dl class="params"><dt>Parameters</dt><dd>
6694 <table class="params">
6695 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
6696 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
6697 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
6698 <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>
6699 <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>
6704 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00642">642</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
6705 <div class="fragment"><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> {</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < n; ++i)</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  {</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="comment">// Set stream width as it is not a "sticky" stream manipulator</span></div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">if</span>(stream_width != 0)</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  s.width(stream_width);</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  }</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  s << std::right << ptr[i] << element_delim;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  }</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span> }</div></div><!-- fragment -->
6708 <a class="anchor" id="aefa4a4d3136d77b85cccfce344f9f37f"></a>
6709 <div class="memitem">
6710 <div class="memproto">
6711 <table class="memname">
6713 <td class="memname">std::string arm_compute::read_file </td>
6715 <td class="paramtype">const std::string & </td>
6716 <td class="paramname"><em>filename</em>, </td>
6719 <td class="paramkey"></td>
6721 <td class="paramtype">bool </td>
6722 <td class="paramname"><em>binary</em> </td>
6730 </div><div class="memdoc">
6732 <p>Load an entire file in memory. </p>
6733 <dl class="params"><dt>Parameters</dt><dd>
6734 <table class="params">
6735 <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Name of the file to read. </td></tr>
6736 <tr><td class="paramdir">[in]</td><td class="paramname">binary</td><td>Is it a binary file ?</td></tr>
6740 <dl class="section return"><dt>Returns</dt><dd>The content of the file. </dd></dl>
6742 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00058">DIV_CEIL()</a>.</p>
6746 <a class="anchor" id="a6fd2c972d67298469a6aad75879fffab"></a>
6747 <div class="memitem">
6748 <div class="memproto">
6749 <table class="memname">
6751 <td class="memname">const std::pair<unsigned int, unsigned int> arm_compute::scaled_dimensions </td>
6753 <td class="paramtype">unsigned int </td>
6754 <td class="paramname"><em>width</em>, </td>
6757 <td class="paramkey"></td>
6759 <td class="paramtype">unsigned int </td>
6760 <td class="paramname"><em>height</em>, </td>
6763 <td class="paramkey"></td>
6765 <td class="paramtype">unsigned int </td>
6766 <td class="paramname"><em>kernel_size</em>, </td>
6769 <td class="paramkey"></td>
6771 <td class="paramtype">unsigned int </td>
6772 <td class="paramname"><em>stride_x</em>, </td>
6775 <td class="paramkey"></td>
6777 <td class="paramtype">unsigned int </td>
6778 <td class="paramname"><em>stride_y</em>, </td>
6781 <td class="paramkey"></td>
6783 <td class="paramtype">unsigned int </td>
6784 <td class="paramname"><em>pad_x</em>, </td>
6787 <td class="paramkey"></td>
6789 <td class="paramtype">unsigned int </td>
6790 <td class="paramname"><em>pad_y</em>, </td>
6793 <td class="paramkey"></td>
6795 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a> </td>
6796 <td class="paramname"><em>round_type</em> </td>
6804 </div><div class="memdoc">
6806 <p>Returns expected width and height of output scaled tensor depending on dimensions rounding mode. </p>
6807 <dl class="params"><dt>Parameters</dt><dd>
6808 <table class="params">
6809 <tr><td class="paramname">width</td><td>Width of input tensor (Number of columns) </td></tr>
6810 <tr><td class="paramname">height</td><td>Height of input tensor (Number of rows) </td></tr>
6811 <tr><td class="paramname">kernel_size</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> size. </td></tr>
6812 <tr><td class="paramname">stride_x</td><td>Stride of the operation in the x dimension. </td></tr>
6813 <tr><td class="paramname">stride_y</td><td>Stride of the operation in the y dimension. </td></tr>
6814 <tr><td class="paramname">pad_x</td><td>Padding size in the x dimension. </td></tr>
6815 <tr><td class="paramname">pad_y</td><td>Padding size in the y dimension. </td></tr>
6816 <tr><td class="paramname">round_type</td><td><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> rounding mode.</td></tr>
6820 <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>
6822 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
6826 <a class="anchor" id="a18ec57dffc5c26864be77318111dfb2a"></a>
6827 <div class="memitem">
6828 <div class="memproto">
6829 <table class="mlabels">
6831 <td class="mlabels-left">
6832 <table class="memname">
6834 <td class="memname">bool arm_compute::separate_matrix </td>
6836 <td class="paramtype">const int16_t * </td>
6837 <td class="paramname"><em>conv</em>, </td>
6840 <td class="paramkey"></td>
6842 <td class="paramtype">int16_t * </td>
6843 <td class="paramname"><em>conv_col</em>, </td>
6846 <td class="paramkey"></td>
6848 <td class="paramtype">int16_t * </td>
6849 <td class="paramname"><em>conv_row</em>, </td>
6852 <td class="paramkey"></td>
6854 <td class="paramtype">uint8_t </td>
6855 <td class="paramname"><em>size</em> </td>
6864 <td class="mlabels-right">
6865 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
6868 </div><div class="memdoc">
6870 <p>Separate a 2D convolution into two 1D convolutions. </p>
6871 <dl class="params"><dt>Parameters</dt><dd>
6872 <table class="params">
6873 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>2D convolution </td></tr>
6874 <tr><td class="paramdir">[out]</td><td class="paramname">conv_col</td><td>1D vertical convolution </td></tr>
6875 <tr><td class="paramdir">[out]</td><td class="paramname">conv_row</td><td>1D horizontal convolution </td></tr>
6876 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the 2D convolution</td></tr>
6880 <dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
6882 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00359">359</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
6883 <div class="fragment"><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  int32_t min_col = -1;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  int16_t min_col_val = -1;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">for</span>(int32_t i = 0; i < size; ++i)</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  {</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">if</span>(conv[i] != 0 && (min_col < 0 || abs(min_col_val) > abs(conv[i])))</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  min_col = i;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  min_col_val = conv[i];</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  }</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">if</span>(min_col < 0)</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  {</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  }</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">for</span>(uint32_t j = 0; j < size; ++j)</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  {</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  conv_col[j] = conv[min_col + j * size];</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  }</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">for</span>(uint32_t i = 0; i < size; i++)</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">if</span>(static_cast<int>(i) == min_col)</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  {</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  conv_row[i] = 1;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  }</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  int16_t coeff = conv[i] / conv[min_col];</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">for</span>(uint32_t j = 1; j < size; ++j)</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  {</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">if</span>(conv[i + j * size] != (conv_col[j] * coeff))</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  {</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  }</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  }</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  conv_row[i] = coeff;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  }</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  }</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div></div><!-- fragment -->
6886 <a class="anchor" id="ac955c978e18cc9bf6daea31f13076fba"></a>
6887 <div class="memitem">
6888 <div class="memproto">
6889 <table class="memname">
6891 <td class="memname">const std::string& arm_compute::string_from_activation_func </td>
6893 <td class="paramtype"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> </td>
6894 <td class="paramname"><em>act</em></td><td>)</td>
6898 </div><div class="memdoc">
6900 <p>Translates a given activation function to a string. </p>
6901 <dl class="params"><dt>Parameters</dt><dd>
6902 <table class="params">
6903 <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>
6907 <dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
6909 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
6913 <a class="anchor" id="abd15add5c6c7de5c8205ce236875aadd"></a>
6914 <div class="memitem">
6915 <div class="memproto">
6916 <table class="memname">
6918 <td class="memname">const std::string& arm_compute::string_from_border_mode </td>
6920 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> </td>
6921 <td class="paramname"><em>border_mode</em></td><td>)</td>
6925 </div><div class="memdoc">
6927 <p>Translates a given border mode policy to a string. </p>
6928 <dl class="params"><dt>Parameters</dt><dd>
6929 <table class="params">
6930 <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>
6934 <dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
6936 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
6940 <a class="anchor" id="a106c203dd6af234d38452ea0ee7b2ddc"></a>
6941 <div class="memitem">
6942 <div class="memproto">
6943 <table class="memname">
6945 <td class="memname">const std::string& arm_compute::string_from_channel </td>
6947 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> </td>
6948 <td class="paramname"><em>channel</em></td><td>)</td>
6952 </div><div class="memdoc">
6954 <p>Convert a channel identity into a string. </p>
6955 <dl class="params"><dt>Parameters</dt><dd>
6956 <table class="params">
6957 <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>
6961 <dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
6963 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
6967 <a class="anchor" id="aefa1d9648995e5eccc693c690e27aa88"></a>
6968 <div class="memitem">
6969 <div class="memproto">
6970 <table class="memname">
6972 <td class="memname">const std::string& arm_compute::string_from_data_type </td>
6974 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
6975 <td class="paramname"><em>dt</em></td><td>)</td>
6979 </div><div class="memdoc">
6981 <p>Convert a data type identity into a string. </p>
6982 <dl class="params"><dt>Parameters</dt><dd>
6983 <table class="params">
6984 <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>
6988 <dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
6990 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00227">error_on_data_type_not_in()</a>.</p>
6994 <a class="anchor" id="a9c92c867fc64454545668d87b20979eb"></a>
6995 <div class="memitem">
6996 <div class="memproto">
6997 <table class="memname">
6999 <td class="memname">const std::string& arm_compute::string_from_format </td>
7001 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
7002 <td class="paramname"><em>format</em></td><td>)</td>
7006 </div><div class="memdoc">
7008 <p>Convert a tensor format into a string. </p>
7009 <dl class="params"><dt>Parameters</dt><dd>
7010 <table class="params">
7011 <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>
7015 <dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
7017 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00196">error_on_format_not_in()</a>.</p>
7021 <a class="anchor" id="ade34f5e72f050fd3665f3294dfb15850"></a>
7022 <div class="memitem">
7023 <div class="memproto">
7024 <table class="memname">
7026 <td class="memname">const std::string& arm_compute::string_from_interpolation_policy </td>
7028 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> </td>
7029 <td class="paramname"><em>policy</em></td><td>)</td>
7033 </div><div class="memdoc">
7035 <p>Translates a given interpolation policy to a string. </p>
7036 <dl class="params"><dt>Parameters</dt><dd>
7037 <table class="params">
7038 <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>
7042 <dl class="section return"><dt>Returns</dt><dd>The string describing the interpolation policy. </dd></dl>
7044 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
7048 <a class="anchor" id="a018795ab2489d17309e158ff5c060ab1"></a>
7049 <div class="memitem">
7050 <div class="memproto">
7051 <table class="memname">
7053 <td class="memname">const std::string& arm_compute::string_from_matrix_pattern </td>
7055 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> </td>
7056 <td class="paramname"><em>pattern</em></td><td>)</td>
7060 </div><div class="memdoc">
7062 <p>Convert a matrix pattern into a string. </p>
7063 <dl class="params"><dt>Parameters</dt><dd>
7064 <table class="params">
7065 <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>
7069 <dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
7071 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
7075 <a class="anchor" id="a14831547f57ecf5f0deef888ad41ad30"></a>
7076 <div class="memitem">
7077 <div class="memproto">
7078 <table class="memname">
7080 <td class="memname">const std::string& arm_compute::string_from_non_linear_filter_function </td>
7082 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> </td>
7083 <td class="paramname"><em>function</em></td><td>)</td>
7087 </div><div class="memdoc">
7089 <p>Translates a given non linear function to a string. </p>
7090 <dl class="params"><dt>Parameters</dt><dd>
7091 <table class="params">
7092 <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>
7096 <dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
7098 <p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
7102 <a class="anchor" id="ac2a92cae51d2734a65676052adb33c22"></a>
7103 <div class="memitem">
7104 <div class="memproto">
7105 <table class="memname">
7107 <td class="memname">bool arm_compute::update_window_and_padding </td>
7109 <td class="paramtype"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
7110 <td class="paramname"><em>win</em>, </td>
7113 <td class="paramkey"></td>
7115 <td class="paramtype">Ts &&... </td>
7116 <td class="paramname"><em>patterns</em> </td>
7124 </div><div class="memdoc">
7126 <p>Update window and padding size for each of the access patterns. </p>
7127 <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>
7128 <dl class="params"><dt>Parameters</dt><dd>
7129 <table class="params">
7130 <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>
7131 <tr><td class="paramdir">[in]</td><td class="paramname">patterns</td><td>Access patterns used to calculate the final window and padding.</td></tr>
7135 <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>
7137 <p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00294">294</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
7139 <p>References <a class="el" href="namespacearm__compute.xhtml#aa8063930734453501dbe41f60c5a89d9">calculate_max_window()</a>, <a class="el" href="namespacearm__compute.xhtml#a0451630695335182319ee53d785d0715">calculate_max_window_horizontal()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#abd645498a7cbaebd88b257083e459dd6">IAccessWindow::update_padding_if_needed()</a>, and <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>.</p>
7140 <div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  for_each([&](<span class="keyword">const</span> IAccessWindow & w)</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  window_changed |= w.update_window_if_needed(win);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  },</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  patterns...);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  for_each([&](<span class="keyword">const</span> IAccessWindow & w)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  padding_changed |= w.update_padding_if_needed(win);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  },</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  patterns...);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">return</span> window_changed;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div></div><!-- fragment -->
7143 <a class="anchor" id="ae350823b5c93227dc33f1105ece06d68"></a>
7144 <div class="memitem">
7145 <div class="memproto">
7146 <table class="memname">
7148 <td class="memname">const std::string arm_compute::val_to_string </td>
7150 <td class="paramtype">T </td>
7151 <td class="paramname"><em>val</em></td><td>)</td>
7155 </div><div class="memdoc">
7157 <p>Return a value as a string. </p>
7158 <dl class="params"><dt>Parameters</dt><dd>
7159 <table class="params">
7160 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input value.</td></tr>
7164 <dl class="section return"><dt>Returns</dt><dd>Value represented as a string </dd></dl>
7166 <p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00087">87</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
7167 <div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span>std::ostringstream &<span class="keyword">></span>(std::ostringstream() << val).str();</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div></div><!-- fragment -->
7170 <a class="anchor" id="ab61617950fb57bf883ee19fc4e219826"></a>
7171 <div class="memitem">
7172 <div class="memproto">
7173 <table class="mlabels">
7175 <td class="mlabels-left">
7176 <table class="memname">
7178 <td class="memname">float32x4_t arm_compute::vexp_f32 </td>
7180 <td class="paramtype">const float32x4_t & </td>
7181 <td class="paramname"><em>x</em></td><td>)</td>
7186 <td class="mlabels-right">
7187 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
7190 </div><div class="memdoc">
7192 <p>Calculate exponential. </p>
7193 <dl class="params"><dt>Parameters</dt><dd>
7194 <table class="params">
7195 <tr><td class="paramname">x</td><td>Input vector value in F32 format.</td></tr>
7199 <dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
7201 <p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00115">115</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
7203 <p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00097">vtaylor_poly_f32()</a>.</p>
7205 <p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00186">vpowq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00165">vtanh_f32()</a>.</p>
7206 <div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_INV_LN2 = vdupq_n_f32(1.4426950408f); <span class="comment">// 1/ln(2)</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  int32x4_t m = vcvtq_s32_f32(vmulq_f32(x, CONST_INV_LN2));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  float32x4_t val = vmlsq_f32(x, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">vtaylor_poly_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  poly = vreinterpretq_f32_s32(vaddq_s32(vreinterpretq_s32_f32(poly), vshlq_n_s32(m, 23)));</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aa4e5c4d2084010ee1c68475fde882f84"><div class="ttname"><a href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">arm_compute::vtaylor_poly_f32</a></div><div class="ttdeci">float32x4_t vtaylor_poly_f32(const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00097">NEMath.h:97</a></div></div>
7207 <div class="ttc" id="namespacearm__compute_xhtml_a869945609357fa552d94eb16f7aad4e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">arm_compute::exp_tab</a></div><div class="ttdeci">const std::array< float32x4_t, 8 > exp_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00032">NEMath.h:32</a></div></div>
7208 </div><!-- fragment -->
7211 <a class="anchor" id="a99d2837a875fc6bca19755f40205f04a"></a>
7212 <div class="memitem">
7213 <div class="memproto">
7214 <table class="mlabels">
7216 <td class="mlabels-left">
7217 <table class="memname">
7219 <td class="memname">float32x4_t arm_compute::vinv_f32 </td>
7221 <td class="paramtype">const float32x4_t & </td>
7222 <td class="paramname"><em>x</em></td><td>)</td>
7227 <td class="mlabels-right">
7228 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
7231 </div><div class="memdoc">
7233 <p>Calculate reciprocal. </p>
7234 <dl class="params"><dt>Parameters</dt><dd>
7235 <table class="params">
7236 <tr><td class="paramname">x</td><td>Input value.</td></tr>
7240 <dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
7242 <p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00082">82</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
7244 <p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00165">vtanh_f32()</a>.</p>
7245 <div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  float32x4_t recip = vrecpeq_f32(x);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> recip;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div></div><!-- fragment -->
7248 <a class="anchor" id="aab4b53a52d617f05420711425f20ed4b"></a>
7249 <div class="memitem">
7250 <div class="memproto">
7251 <table class="mlabels">
7253 <td class="mlabels-left">
7254 <table class="memname">
7256 <td class="memname">float32x4_t arm_compute::vinvsqrt_f32 </td>
7258 <td class="paramtype">float32x4_t </td>
7259 <td class="paramname"><em>x</em></td><td>)</td>
7264 <td class="mlabels-right">
7265 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
7268 </div><div class="memdoc">
7270 <p>Calculate inverse square root. </p>
7271 <dl class="params"><dt>Parameters</dt><dd>
7272 <table class="params">
7273 <tr><td class="paramname">x</td><td>Input value.</td></tr>
7277 <dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
7279 <p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00067">67</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
7280 <div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  float32x4_t sqrt_reciprocal = vrsqrteq_f32(x);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> sqrt_reciprocal;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> }</div></div><!-- fragment -->
7283 <a class="anchor" id="afa7e6a89815b00d86c5ae6ec73d79c26"></a>
7284 <div class="memitem">
7285 <div class="memproto">
7286 <table class="mlabels">
7288 <td class="mlabels-left">
7289 <table class="memname">
7291 <td class="memname">float32x4_t arm_compute::vlog_f32 </td>
7293 <td class="paramtype">const float32x4_t & </td>
7294 <td class="paramname"><em>x</em></td><td>)</td>
7299 <td class="mlabels-right">
7300 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
7303 </div><div class="memdoc">
7305 <p>Calculate logarithm. </p>
7306 <dl class="params"><dt>Parameters</dt><dd>
7307 <table class="params">
7308 <tr><td class="paramname">x</td><td>Input vector value in F32 format.</td></tr>
7312 <dl class="section return"><dt>Returns</dt><dd>The calculated logarithm. </dd></dl>
7314 <p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
7316 <p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00097">vtaylor_poly_f32()</a>.</p>
7318 <p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00186">vpowq_f32()</a>.</p>
7319 <div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_127 = vdupq_n_s32(127); <span class="comment">// 127</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="comment">// Extract exponent</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  int32x4_t m = vsubq_s32(vreinterpretq_s32_u32(vshrq_n_u32(vreinterpretq_u32_f32(x), 23)), CONST_127);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  float32x4_t val = vreinterpretq_f32_s32(vsubq_s32(vreinterpretq_s32_f32(x), vshlq_n_s32(m, 23)));</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">vtaylor_poly_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a>);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  poly = vmlaq_f32(poly, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aa4e5c4d2084010ee1c68475fde882f84"><div class="ttname"><a href="namespacearm__compute.xhtml#aa4e5c4d2084010ee1c68475fde882f84">arm_compute::vtaylor_poly_f32</a></div><div class="ttdeci">float32x4_t vtaylor_poly_f32(const float32x4_t &x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00097">NEMath.h:97</a></div></div>
7320 <div class="ttc" id="namespacearm__compute_xhtml_a48fb9cf404e8f7043235bf14105c9793"><div class="ttname"><a href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">arm_compute::log_tab</a></div><div class="ttdeci">const std::array< float32x4_t, 8 > log_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00047">NEMath.h:47</a></div></div>
7321 </div><!-- fragment -->
7324 <a class="anchor" id="ae0dbcd09c015bda4ab290b957d7bd6c7"></a>
7325 <div class="memitem">
7326 <div class="memproto">
7327 <table class="mlabels">
7329 <td class="mlabels-left">
7330 <table class="memname">
7332 <td class="memname">float32x4_t arm_compute::vpowq_f32 </td>
7334 <td class="paramtype">const float32x4_t & </td>
7335 <td class="paramname"><em>val</em>, </td>
7338 <td class="paramkey"></td>
7340 <td class="paramtype">const float32x4_t & </td>
7341 <td class="paramname"><em>n</em> </td>
7350 <td class="mlabels-right">
7351 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
7354 </div><div class="memdoc">
7356 <p>Calculate n power of a number. </p>
7357 <p>pow(x,n) = e^(n*log(x))</p>
7358 <dl class="params"><dt>Parameters</dt><dd>
7359 <table class="params">
7360 <tr><td class="paramname">val</td><td>Input vector value in F32 format. </td></tr>
7361 <tr><td class="paramname">n</td><td>Powers to raise the input to.</td></tr>
7365 <dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
7367 <p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00186">186</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
7369 <p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexp_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00139">vlog_f32()</a>.</p>
7370 <div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">vexp_f32</a>(vmulq_f32(n, <a class="code" href="namespacearm__compute.xhtml#afa7e6a89815b00d86c5ae6ec73d79c26">vlog_f32</a>(val)));</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_afa7e6a89815b00d86c5ae6ec73d79c26"><div class="ttname"><a href="namespacearm__compute.xhtml#afa7e6a89815b00d86c5ae6ec73d79c26">arm_compute::vlog_f32</a></div><div class="ttdeci">float32x4_t vlog_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate logarithm. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00139">NEMath.h:139</a></div></div>
7371 <div class="ttc" id="namespacearm__compute_xhtml_ab61617950fb57bf883ee19fc4e219826"><div class="ttname"><a href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">arm_compute::vexp_f32</a></div><div class="ttdeci">float32x4_t vexp_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00115">NEMath.h:115</a></div></div>
7372 </div><!-- fragment -->
7375 <a class="anchor" id="af2002ba27e8c8033e3038da708248f32"></a>
7376 <div class="memitem">
7377 <div class="memproto">
7378 <table class="mlabels">
7380 <td class="mlabels-left">
7381 <table class="memname">
7383 <td class="memname">float32x4_t arm_compute::vtanh_f32 </td>
7385 <td class="paramtype">const float32x4_t & </td>
7386 <td class="paramname"><em>val</em></td><td>)</td>
7391 <td class="mlabels-right">
7392 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
7395 </div><div class="memdoc">
7397 <p>Calculate hyperbolic tangent. </p>
7398 <p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
7399 <dl class="params"><dt>Parameters</dt><dd>
7400 <table class="params">
7401 <tr><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
7405 <dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
7407 <p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00165">165</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
7409 <p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexp_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00082">vinv_f32()</a>.</p>
7410 <div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f); <span class="comment">// 1.f</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_2 = vdupq_n_f32(2.f); <span class="comment">// 2.f</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  float32x4_t exp2x = <a class="code" href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">vexp_f32</a>(vmulq_f32(CONST_2, val));</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  float32x4_t num = vsubq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  float32x4_t den = vaddq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  float32x4_t tanh = vmulq_f32(num, <a class="code" href="namespacearm__compute.xhtml#a99d2837a875fc6bca19755f40205f04a">vinv_f32</a>(den));</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> tanh;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a99d2837a875fc6bca19755f40205f04a"><div class="ttname"><a href="namespacearm__compute.xhtml#a99d2837a875fc6bca19755f40205f04a">arm_compute::vinv_f32</a></div><div class="ttdeci">float32x4_t vinv_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate reciprocal. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00082">NEMath.h:82</a></div></div>
7411 <div class="ttc" id="namespacearm__compute_xhtml_ab61617950fb57bf883ee19fc4e219826"><div class="ttname"><a href="namespacearm__compute.xhtml#ab61617950fb57bf883ee19fc4e219826">arm_compute::vexp_f32</a></div><div class="ttdeci">float32x4_t vexp_f32(const float32x4_t &x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00115">NEMath.h:115</a></div></div>
7412 </div><!-- fragment -->
7415 <a class="anchor" id="aa4e5c4d2084010ee1c68475fde882f84"></a>
7416 <div class="memitem">
7417 <div class="memproto">
7418 <table class="mlabels">
7420 <td class="mlabels-left">
7421 <table class="memname">
7423 <td class="memname">float32x4_t arm_compute::vtaylor_poly_f32 </td>
7425 <td class="paramtype">const float32x4_t & </td>
7426 <td class="paramname"><em>x</em>, </td>
7429 <td class="paramkey"></td>
7431 <td class="paramtype">const std::array< float32x4_t, 8 > & </td>
7432 <td class="paramname"><em>coeffs</em> </td>
7441 <td class="mlabels-right">
7442 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
7445 </div><div class="memdoc">
7447 <p>Perform a 7th degree polynomial approximation using Estrin's method. </p>
7448 <dl class="params"><dt>Parameters</dt><dd>
7449 <table class="params">
7450 <tr><td class="paramname">x</td><td>Input vector value in F32 format. </td></tr>
7451 <tr><td class="paramname">coeffs</td><td>Polynomial coefficients table.</td></tr>
7455 <dl class="section return"><dt>Returns</dt><dd>The calculated approximation. </dd></dl>
7457 <p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00097">97</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
7459 <p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>.</p>
7461 <p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexp_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00139">vlog_f32()</a>.</p>
7462 <div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vmlaq_f32(coeffs[0], coeffs[4], x);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vmlaq_f32(coeffs[2], coeffs[6], x);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  float32x4_t C = vmlaq_f32(coeffs[1], coeffs[5], x);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  float32x4_t D = vmlaq_f32(coeffs[3], coeffs[7], x);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  float32x4_t x2 = vmulq_f32(x, x);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  float32x4_t x4 = vmulq_f32(x2, x2);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  float32x4_t res = vmlaq_f32(vmlaq_f32(A, B, x2), vmlaq_f32(C, D, x2), x4);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
7463 <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>
7464 </div><!-- fragment -->
7467 <h2 class="groupheader">Variable Documentation</h2>
7468 <a class="anchor" id="a3fed059965fe44cbe7ed4091d6b63acf"></a>
7469 <div class="memitem">
7470 <div class="memproto">
7471 <table class="memname">
7473 <td class="memname">constexpr uint8_t CONSTANT_BORDER_VALUE = 199</td>
7476 </div><div class="memdoc">
7478 <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>
7480 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00077">77</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
7484 <a class="anchor" id="a869945609357fa552d94eb16f7aad4e9"></a>
7485 <div class="memitem">
7486 <div class="memproto">
7487 <table class="memname">
7489 <td class="memname">const std::array<float32x4_t, 8> exp_tab</td>
7492 </div><div class="memdoc">
7493 <b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line"> {</div><div class="line"> vdupq_n_f32(1.f),</div><div class="line"> vdupq_n_f32(0.0416598916054f),</div><div class="line"> vdupq_n_f32(0.500000596046f),</div><div class="line"> vdupq_n_f32(0.0014122662833f),</div><div class="line"> vdupq_n_f32(1.00000011921f),</div><div class="line"> vdupq_n_f32(0.00833693705499f),</div><div class="line"> vdupq_n_f32(0.166665703058f),</div><div class="line"> vdupq_n_f32(0.000195780929062f),</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment -->
7494 <p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
7498 <a class="anchor" id="a48fb9cf404e8f7043235bf14105c9793"></a>
7499 <div class="memitem">
7500 <div class="memproto">
7501 <table class="memname">
7503 <td class="memname">const std::array<float32x4_t, 8> log_tab</td>
7506 </div><div class="memdoc">
7507 <b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line"> {</div><div class="line"> vdupq_n_f32(-2.29561495781f),</div><div class="line"> vdupq_n_f32(-2.47071170807f),</div><div class="line"> vdupq_n_f32(-5.68692588806f),</div><div class="line"> vdupq_n_f32(-0.165253549814f),</div><div class="line"> vdupq_n_f32(5.17591238022f),</div><div class="line"> vdupq_n_f32(0.844007015228f),</div><div class="line"> vdupq_n_f32(4.58445882797f),</div><div class="line"> vdupq_n_f32(0.0141278216615f),</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment -->
7508 <p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
7512 <a class="anchor" id="a769d636d7a3c7c84579a5f477a18bc9d"></a>
7513 <div class="memitem">
7514 <div class="memproto">
7515 <table class="memname">
7517 <td class="memname">constexpr size_t MAX_DIMS = 6</td>
7520 </div><div class="memdoc">
7522 <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>
7526 <a class="anchor" id="af9876aedd664cac0ddeacddb40cb71cd"></a>
7527 <div class="memitem">
7528 <div class="memproto">
7529 <table class="memname">
7531 <td class="memname">constexpr float SCALE_PYRAMID_HALF = 0.5f</td>
7534 </div><div class="memdoc">
7536 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00080">80</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
7540 <a class="anchor" id="a2ebcd5423d5fba468e7debd2e1aabe91"></a>
7541 <div class="memitem">
7542 <div class="memproto">
7543 <table class="memname">
7545 <td class="memname">constexpr float SCALE_PYRAMID_ORB = 8.408964152537146130583778358414e-01</td>
7548 </div><div class="memdoc">
7550 <p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00083">83</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
7554 </div><!-- contents -->
7555 </div><!-- doc-content -->
7556 <!-- start footer part -->
7557 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
7559 <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li>
7560 <li class="footer">Generated on Wed Apr 12 2017 14:26:05 for ARM Compute Library by
7561 <a href="http://www.doxygen.org/index.html">
7562 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>