blob: 15c085da588de02f73dce7db4db4fca4fcdd4d6f [file] [log] [blame]
Anthony Barbier871448e2017-03-24 14:54:29 +00001<!-- HTML header for doxygen 1.8.9.1-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
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);
20</script>
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(); });
26</script>
27<script type="text/x-mathjax-config">
28 MathJax.Hub.Config({
29 extensions: ["tex2jax.js"],
30 jax: ["input/TeX","output/HTML-CSS"],
31});
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" />
34</head>
35<body>
36<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37<div id="titlearea">
38<table cellspacing="0" cellpadding="0">
39 <tbody>
40 <tr style="height: 56px;">
41 <td style="padding-left: 0.5em;">
42 <div id="projectname">ARM Compute Library
Anthony Barbier46d59272017-05-04 09:15:15 +010043 &#160;<span id="projectnumber">17.05</span>
Anthony Barbier871448e2017-03-24 14:54:29 +000044 </div>
45 </td>
46 </tr>
47 </tbody>
48</table>
49</div>
50<!-- end header part -->
51<!-- Generated by Doxygen 1.8.11 -->
52<script type="text/javascript">
53var searchBox = new SearchBox("searchBox", "search",false,'Search');
54</script>
55 <div id="navrow1" class="tabs">
56 <ul class="tablist">
57 <li><a href="index.xhtml"><span>Main&#160;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&#160;Structures</span></a></li>
60 <li><a href="files.xhtml"><span>Files</span></a></li>
61 <li>
62 <div id="MSearchBox" class="MSearchBoxInactive">
63 <span class="left">
64 <img id="MSearchSelect" src="search/mag_sel.png"
65 onmouseover="return searchBox.OnSearchSelectShow()"
66 onmouseout="return searchBox.OnSearchSelectHide()"
67 alt=""/>
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>
74 </span>
75 </div>
76 </li>
77 </ul>
78 </div>
79 <div id="navrow2" class="tabs2">
80 <ul class="tablist">
81 <li><a href="namespaces.xhtml"><span>Namespace&#160;List</span></a></li>
82 <li><a href="namespacemembers.xhtml"><span>Namespace&#160;Members</span></a></li>
83 </ul>
84 </div>
85</div><!-- top -->
86<div id="side-nav" class="ui-resizable side-nav-resizable">
87 <div id="nav-tree">
88 <div id="nav-tree-contents">
89 <div id="nav-sync" class="sync"></div>
90 </div>
91 </div>
92 <div id="splitbar" style="-moz-user-select:none;"
93 class="ui-resizable-handle">
94 </div>
95</div>
96<script type="text/javascript">
97$(document).ready(function(){initNavTree('namespacearm__compute.xhtml','');});
98</script>
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)">
105</div>
106
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">
111</iframe>
112</div>
113
114<div class="header">
115 <div class="summary">
116<a href="#namespaces">Namespaces</a> &#124;
117<a href="#nested-classes">Data Structures</a> &#124;
118<a href="#typedef-members">Typedefs</a> &#124;
119<a href="#enum-members">Enumerations</a> &#124;
120<a href="#func-members">Functions</a> &#124;
121<a href="#var-members">Variables</a> </div>
122 <div class="headertitle">
123<div class="title">arm_compute Namespace Reference</div> </div>
124</div><!--header-->
125<div class="contents">
126<table class="memberdecls">
127<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
128Namespaces</h2></td></tr>
129<tr class="memitem:namespacearm__compute_1_1cpp14"><td class="memItemLeft" align="right" valign="top"> &#160;</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">&#160;</td></tr>
131</table><table class="memberdecls">
132<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
133Data Structures</h2></td></tr>
134<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_auto_padding.xhtml">AccessWindowAutoPadding</a></td></tr>
135<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy access window. <a href="classarm__compute_1_1_access_window_auto_padding.xhtml#details">More...</a><br /></td></tr>
136<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_horizontal.xhtml">AccessWindowHorizontal</a></td></tr>
138<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a row access pattern. <a href="classarm__compute_1_1_access_window_horizontal.xhtml#details">More...</a><br /></td></tr>
139<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
140<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_rectangle.xhtml">AccessWindowRectangle</a></td></tr>
141<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a rectangular access pattern. <a href="classarm__compute_1_1_access_window_rectangle.xhtml#details">More...</a><br /></td></tr>
142<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_static.xhtml">AccessWindowStatic</a></td></tr>
144<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a static rectangular access pattern. <a href="classarm__compute_1_1_access_window_static.xhtml#details">More...</a><br /></td></tr>
145<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
146<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_transpose.xhtml">AccessWindowTranspose</a></td></tr>
147<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a XY-transpose access pattern. <a href="classarm__compute_1_1_access_window_transpose.xhtml#details">More...</a><br /></td></tr>
148<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_vertical.xhtml">AccessWindowVertical</a></td></tr>
150<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a column access pattern. <a href="classarm__compute_1_1_access_window_vertical.xhtml#details">More...</a><br /></td></tr>
151<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
152<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">ActivationLayerInfo</a></td></tr>
153<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activation Layer Information class. <a href="classarm__compute_1_1_activation_layer_info.xhtml#details">More...</a><br /></td></tr>
154<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_array.xhtml">Array</a></td></tr>
156<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the <a class="el" href="classarm__compute_1_1_i_array.xhtml" title="Array of type T. ">IArray</a> interface which allocates a static number of T values. <a href="classarm__compute_1_1_array.xhtml#details">More...</a><br /></td></tr>
157<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
158<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td></tr>
159<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Container for 2D border size. <a href="structarm__compute_1_1_border_size.xhtml#details">More...</a><br /></td></tr>
160<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference.xhtml">CLAbsoluteDifference</a></td></tr>
162<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_c_l_absolute_difference.xhtml#details">More...</a><br /></td></tr>
163<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
164<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a></td></tr>
165<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml#details">More...</a><br /></td></tr>
166<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate.xhtml">CLAccumulate</a></td></tr>
168<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml">CLAccumulateKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate.xhtml#details">More...</a><br /></td></tr>
169<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
170<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml">CLAccumulateKernel</a></td></tr>
171<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate kernel. <a href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml#details">More...</a><br /></td></tr>
172<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared.xhtml">CLAccumulateSquared</a></td></tr>
174<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml">CLAccumulateSquaredKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate_squared.xhtml#details">More...</a><br /></td></tr>
175<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
176<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml">CLAccumulateSquaredKernel</a></td></tr>
177<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate squared kernel. <a href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml#details">More...</a><br /></td></tr>
178<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml">CLAccumulateWeighted</a></td></tr>
180<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml#details">More...</a><br /></td></tr>
181<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
182<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a></td></tr>
183<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml#details">More...</a><br /></td></tr>
184<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
185<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer.xhtml">CLActivationLayer</a></td></tr>
186<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a>. <a href="classarm__compute_1_1_c_l_activation_layer.xhtml#details">More...</a><br /></td></tr>
187<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
188<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a></td></tr>
189<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml#details">More...</a><br /></td></tr>
190<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition.xhtml">CLArithmeticAddition</a></td></tr>
192<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_addition.xhtml#details">More...</a><br /></td></tr>
193<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
194<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a></td></tr>
195<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the arithmetic addition kernel. <a href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml#details">More...</a><br /></td></tr>
196<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
197<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml">CLArithmeticSubtraction</a></td></tr>
198<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml#details">More...</a><br /></td></tr>
199<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
200<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a></td></tr>
201<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the arithmetic subtraction kernel. <a href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml#details">More...</a><br /></td></tr>
202<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
203<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a></td></tr>
204<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml" title="CLArray implementation. ">CLArray</a> implementation. <a href="classarm__compute_1_1_c_l_array.xhtml#details">More...</a><br /></td></tr>
205<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
206<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and.xhtml">CLBitwiseAnd</a></td></tr>
207<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml">CLBitwiseAndKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_and.xhtml#details">More...</a><br /></td></tr>
208<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
209<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml">CLBitwiseAndKernel</a></td></tr>
210<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the bitwise AND operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml#details">More...</a><br /></td></tr>
211<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
212<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not.xhtml">CLBitwiseNot</a></td></tr>
213<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml">CLBitwiseNotKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_not.xhtml#details">More...</a><br /></td></tr>
214<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
215<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml">CLBitwiseNotKernel</a></td></tr>
216<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the bitwise NOT operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml#details">More...</a><br /></td></tr>
217<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
218<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or.xhtml">CLBitwiseOr</a></td></tr>
219<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml">CLBitwiseOrKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_or.xhtml#details">More...</a><br /></td></tr>
220<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
221<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml">CLBitwiseOrKernel</a></td></tr>
222<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the bitwise OR operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml#details">More...</a><br /></td></tr>
223<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
224<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor.xhtml">CLBitwiseXor</a></td></tr>
225<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml">CLBitwiseXorKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_xor.xhtml#details">More...</a><br /></td></tr>
226<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
227<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml">CLBitwiseXorKernel</a></td></tr>
228<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the bitwise XOR operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml#details">More...</a><br /></td></tr>
229<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
230<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_box3x3.xhtml">CLBox3x3</a></td></tr>
231<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_c_l_box3x3.xhtml#details">More...</a><br /></td></tr>
232<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
233<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml">CLBox3x3Kernel</a></td></tr>
234<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the box 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml#details">More...</a><br /></td></tr>
235<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
236<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_canny_edge.xhtml">CLCannyEdge</a></td></tr>
237<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute canny edge on OpenCL. <a href="classarm__compute_1_1_c_l_canny_edge.xhtml#details">More...</a><br /></td></tr>
238<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
239<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine.xhtml">CLChannelCombine</a></td></tr>
240<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml">CLChannelCombineKernel</a> to perform channel combination. <a href="classarm__compute_1_1_c_l_channel_combine.xhtml#details">More...</a><br /></td></tr>
241<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
242<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml">CLChannelCombineKernel</a></td></tr>
243<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel combine kernel. <a href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml#details">More...</a><br /></td></tr>
244<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
245<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract.xhtml">CLChannelExtract</a></td></tr>
246<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml">CLChannelExtractKernel</a> to perform channel extraction. <a href="classarm__compute_1_1_c_l_channel_extract.xhtml#details">More...</a><br /></td></tr>
247<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
248<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml">CLChannelExtractKernel</a></td></tr>
249<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel extract kernel. <a href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml#details">More...</a><br /></td></tr>
250<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
251<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a></td></tr>
252<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for storing Spatial Gradient Matrix and the minimum eigenvalue for each keypoint. <a href="structarm__compute_1_1_c_l_coefficient_table.xhtml#details">More...</a><br /></td></tr>
253<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
254<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml">CLCol2ImKernel</a></td></tr>
255<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the col2im reshaping kernel. <a href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml#details">More...</a><br /></td></tr>
256<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
257<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert.xhtml">CLColorConvert</a></td></tr>
258<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a>. <a href="classarm__compute_1_1_c_l_color_convert.xhtml#details">More...</a><br /></td></tr>
259<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
260<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a></td></tr>
261<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the color convert kernel. <a href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml#details">More...</a><br /></td></tr>
262<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
263<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution3x3.xhtml">CLConvolution3x3</a></td></tr>
264<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_c_l_convolution3x3.xhtml#details">More...</a><br /></td></tr>
265<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
266<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a></td></tr>
267<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_c_l_convolution_kernel.xhtml#details">More...</a><br /></td></tr>
268<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
269<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer.xhtml">CLConvolutionLayer</a></td></tr>
270<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute the convolution layer. <a href="classarm__compute_1_1_c_l_convolution_layer.xhtml#details">More...</a><br /></td></tr>
271<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
272<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer_weights_reshape_kernel.xhtml">CLConvolutionLayerWeightsReshapeKernel</a></td></tr>
273<tr class="memdesc:"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
275<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml">CLConvolutionRectangle</a></td></tr>
276<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non-square convolution. <a href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml#details">More...</a><br /></td></tr>
277<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
278<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml">CLConvolutionRectangleKernel</a></td></tr>
279<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml#details">More...</a><br /></td></tr>
280<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
281<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a></td></tr>
282<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute square convolution.Currently it supports 5x5, 7x7, 9x9. <a href="classarm__compute_1_1_c_l_convolution_square.xhtml#details">More...</a><br /></td></tr>
283<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
284<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml">CLCopyToArrayKernel</a></td></tr>
285<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CL kernel to copy keypoints information to ICLKeyPointArray and counts the number of key points. <a href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml#details">More...</a><br /></td></tr>
286<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
287<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert.xhtml">CLDepthConvert</a></td></tr>
288<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml">CLDepthConvertKernel</a>. <a href="classarm__compute_1_1_c_l_depth_convert.xhtml#details">More...</a><br /></td></tr>
289<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
290<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml">CLDepthConvertKernel</a></td></tr>
291<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depth conversion kernel. <a href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml#details">More...</a><br /></td></tr>
292<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
293<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative.xhtml">CLDerivative</a></td></tr>
294<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute first order derivative operator. <a href="classarm__compute_1_1_c_l_derivative.xhtml#details">More...</a><br /></td></tr>
295<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
296<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative_kernel.xhtml">CLDerivativeKernel</a></td></tr>
297<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the derivative kernel. <a href="classarm__compute_1_1_c_l_derivative_kernel.xhtml#details">More...</a><br /></td></tr>
298<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
299<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate.xhtml">CLDilate</a></td></tr>
300<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_c_l_dilate.xhtml#details">More...</a><br /></td></tr>
301<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
302<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate_kernel.xhtml">CLDilateKernel</a></td></tr>
303<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the dilate kernel. <a href="classarm__compute_1_1_c_l_dilate_kernel.xhtml#details">More...</a><br /></td></tr>
304<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
305<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml">CLDistribution1D</a></td></tr>
306<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml" title="CLDistribution1D object class. ">CLDistribution1D</a> object class. <a href="classarm__compute_1_1_c_l_distribution1_d.xhtml#details">More...</a><br /></td></tr>
307<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
308<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml">CLEdgeNonMaxSuppressionKernel</a></td></tr>
309<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform Non-Maxima suppression for Canny Edge. <a href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml#details">More...</a><br /></td></tr>
310<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
311<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml">CLEdgeTraceKernel</a></td></tr>
312<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform Edge tracing. <a href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml#details">More...</a><br /></td></tr>
313<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
314<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_equalize_histogram.xhtml">CLEqualizeHistogram</a></td></tr>
315<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute histogram equalization. <a href="classarm__compute_1_1_c_l_equalize_histogram.xhtml#details">More...</a><br /></td></tr>
316<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
317<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode.xhtml">CLErode</a></td></tr>
318<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute erode. <a href="classarm__compute_1_1_c_l_erode.xhtml#details">More...</a><br /></td></tr>
319<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
320<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode_kernel.xhtml">CLErodeKernel</a></td></tr>
321<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the erode kernel. <a href="classarm__compute_1_1_c_l_erode_kernel.xhtml#details">More...</a><br /></td></tr>
322<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
323<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners.xhtml">CLFastCorners</a></td></tr>
324<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute fast corners. <a href="classarm__compute_1_1_c_l_fast_corners.xhtml#details">More...</a><br /></td></tr>
325<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
326<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml">CLFastCornersKernel</a></td></tr>
327<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CL kernel to perform fast corners. <a href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml#details">More...</a><br /></td></tr>
328<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
329<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border.xhtml">CLFillBorder</a></td></tr>
330<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a>. <a href="classarm__compute_1_1_c_l_fill_border.xhtml#details">More...</a><br /></td></tr>
331<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
332<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a></td></tr>
333<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for filling the border of a kernel. <a href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml#details">More...</a><br /></td></tr>
334<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
335<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml">CLFullyConnectedLayer</a></td></tr>
336<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a Fully Connected layer on OpenCL. <a href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml#details">More...</a><br /></td></tr>
337<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
338<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3.xhtml">CLGaussian3x3</a></td></tr>
339<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian filter 3x3. <a href="classarm__compute_1_1_c_l_gaussian3x3.xhtml#details">More...</a><br /></td></tr>
340<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
341<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml">CLGaussian3x3Kernel</a></td></tr>
342<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the Gaussian 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml#details">More...</a><br /></td></tr>
343<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
344<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5.xhtml">CLGaussian5x5</a></td></tr>
345<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian filter 5x5. <a href="classarm__compute_1_1_c_l_gaussian5x5.xhtml#details">More...</a><br /></td></tr>
346<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
347<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml">CLGaussian5x5HorKernel</a></td></tr>
348<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Gaussian filter on a tensor. <a href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml#details">More...</a><br /></td></tr>
349<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
350<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml">CLGaussian5x5VertKernel</a></td></tr>
351<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Gaussian filter on a tensor. <a href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml#details">More...</a><br /></td></tr>
352<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
353<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml">CLGaussianPyramid</a></td></tr>
354<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all Gaussian pyramid functions. <a href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml#details">More...</a><br /></td></tr>
355<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
356<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml">CLGaussianPyramidHalf</a></td></tr>
357<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian pyramid with HALF scale factor. <a href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml#details">More...</a><br /></td></tr>
358<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
359<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml">CLGaussianPyramidHorKernel</a></td></tr>
360<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a Gaussian filter and half scaling across width (horizontal pass) <a href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml#details">More...</a><br /></td></tr>
361<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
362<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml">CLGaussianPyramidOrb</a></td></tr>
363<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian pyramid with ORB scale factor. <a href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml#details">More...</a><br /></td></tr>
364<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
365<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml">CLGaussianPyramidVertKernel</a></td></tr>
366<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a Gaussian filter and half scaling across height (vertical pass) <a href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml#details">More...</a><br /></td></tr>
367<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
368<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m.xhtml">CLGEMM</a></td></tr>
369<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMM on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m.xhtml#details">More...</a><br /></td></tr>
370<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +0100371<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4.xhtml">CLGEMMInterleave4x4</a></td></tr>
372<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml" title="OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. ">CLGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4.xhtml#details">More...</a><br /></td></tr>
373<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000374<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml">CLGEMMInterleave4x4Kernel</a></td></tr>
375<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. <a href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
376<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
377<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp.xhtml">CLGEMMLowp</a></td></tr>
378<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMMLowp on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp.xhtml#details">More...</a><br /></td></tr>
379<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
380<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">CLGEMMLowpMatrixMultiplyKernel</a></td></tr>
381<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to compute low precision matrix multiplication kernel. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
382<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
383<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">CLGEMMMatrixAccumulateBiasesKernel</a></td></tr>
384<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br /></td></tr>
385<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
386<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml">CLGEMMMatrixAdditionKernel</a></td></tr>
387<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform the in-place matrix addition between 2 matrices, taking into account that the second matrix might be weighted by a scalar value beta. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br /></td></tr>
388<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
389<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml">CLGEMMMatrixMultiplyKernel</a></td></tr>
390<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
391<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
392<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml">CLGEMMTranspose1xWKernel</a></td></tr>
393<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
394<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
395<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gradient_kernel.xhtml">CLGradientKernel</a></td></tr>
396<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform Gradient computation. <a href="classarm__compute_1_1_c_l_gradient_kernel.xhtml#details">More...</a><br /></td></tr>
397<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
398<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_corners.xhtml">CLHarrisCorners</a></td></tr>
399<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute harris corners detection. <a href="classarm__compute_1_1_c_l_harris_corners.xhtml#details">More...</a><br /></td></tr>
400<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
401<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml">CLHarrisScoreKernel</a></td></tr>
402<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the harris score kernel. <a href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml#details">More...</a><br /></td></tr>
403<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
404<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram.xhtml">CLHistogram</a></td></tr>
405<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute histogram. <a href="classarm__compute_1_1_c_l_histogram.xhtml#details">More...</a><br /></td></tr>
406<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
407<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml">CLHistogramBorderKernel</a></td></tr>
408<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the histogram kernel to handle the leftover part of image. <a href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml#details">More...</a><br /></td></tr>
409<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
410<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_kernel.xhtml">CLHistogramKernel</a></td></tr>
411<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the histogram kernel. <a href="classarm__compute_1_1_c_l_histogram_kernel.xhtml#details">More...</a><br /></td></tr>
412<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
413<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml">CLIm2ColKernel</a></td></tr>
414<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
415<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
416<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image.xhtml">CLIntegralImage</a></td></tr>
417<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute integral image. <a href="classarm__compute_1_1_c_l_integral_image.xhtml#details">More...</a><br /></td></tr>
418<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
419<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml">CLIntegralImageHorKernel</a></td></tr>
420<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the horizontal pass of the integral image kernel. <a href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml#details">More...</a><br /></td></tr>
421<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
422<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml">CLIntegralImageVertKernel</a></td></tr>
423<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the vertical pass of the integral image kernel. <a href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml#details">More...</a><br /></td></tr>
424<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
425<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml">CLKernelLibrary</a></td></tr>
426<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml" title="CLKernelLibrary class. ">CLKernelLibrary</a> class. <a href="classarm__compute_1_1_c_l_kernel_library.xhtml#details">More...</a><br /></td></tr>
427<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
428<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml">CLLaplacianPyramid</a></td></tr>
429<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute laplacian pyramid. <a href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml#details">More...</a><br /></td></tr>
430<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
431<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml">CLLaplacianReconstruct</a></td></tr>
432<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute laplacian reconstruction. <a href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml#details">More...</a><br /></td></tr>
433<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
434<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a></td></tr>
435<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal keypoint structure for Lucas-Kanade Optical Flow. <a href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml#details">More...</a><br /></td></tr>
436<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
437<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml">CLLKTrackerFinalizeKernel</a></td></tr>
438<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the finalize step of LKTracker, where it truncates the coordinates stored in new_points array. <a href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml#details">More...</a><br /></td></tr>
439<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
440<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml">CLLKTrackerInitKernel</a></td></tr>
441<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the initialization step of LKTracker. <a href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml#details">More...</a><br /></td></tr>
442<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
443<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml">CLLKTrackerStage0Kernel</a></td></tr>
444<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the first stage of LKTracker, where A11, A12, A22, min_eig, ival, ixval and iyval are computed. <a href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml#details">More...</a><br /></td></tr>
445<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
446<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml">CLLKTrackerStage1Kernel</a></td></tr>
447<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to run the second stage of LKTracker, where the motion vectors of the given points are computed. <a href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml#details">More...</a><br /></td></tr>
448<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
449<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml">CLLogits1DMaxKernel</a></td></tr>
450<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml#details">More...</a><br /></td></tr>
451<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
452<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml">CLLogits1DNormKernel</a></td></tr>
453<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml#details">More...</a><br /></td></tr>
454<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
455<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml">CLLogits1DShiftExpSumKernel</a></td></tr>
456<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br /></td></tr>
457<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
458<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml">CLLut</a></td></tr>
459<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL lut interface. <a href="classarm__compute_1_1_c_l_lut.xhtml#details">More...</a><br /></td></tr>
460<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
461<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut_allocator.xhtml">CLLutAllocator</a></td></tr>
462<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a CL memory LUT allocator. <a href="classarm__compute_1_1_c_l_lut_allocator.xhtml#details">More...</a><br /></td></tr>
463<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
464<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude.xhtml">CLMagnitude</a></td></tr>
465<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_c_l_magnitude.xhtml#details">More...</a><br /></td></tr>
466<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
467<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a></td></tr>
468<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml#details">More...</a><br /></td></tr>
469<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
470<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev.xhtml">CLMeanStdDev</a></td></tr>
471<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute mean and standard deviation by calling <a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a>. <a href="classarm__compute_1_1_c_l_mean_std_dev.xhtml#details">More...</a><br /></td></tr>
472<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
473<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a></td></tr>
474<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to calculate mean and standard deviation of input image pixels. <a href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml#details">More...</a><br /></td></tr>
475<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
476<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3.xhtml">CLMedian3x3</a></td></tr>
477<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute median filter. <a href="classarm__compute_1_1_c_l_median3x3.xhtml#details">More...</a><br /></td></tr>
478<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
479<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml">CLMedian3x3Kernel</a></td></tr>
480<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the median 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml#details">More...</a><br /></td></tr>
481<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
482<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_kernel.xhtml">CLMinMaxKernel</a></td></tr>
483<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform min max search on an image. <a href="classarm__compute_1_1_c_l_min_max_kernel.xhtml#details">More...</a><br /></td></tr>
484<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
485<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location.xhtml">CLMinMaxLocation</a></td></tr>
486<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute min and max location. <a href="classarm__compute_1_1_c_l_min_max_location.xhtml#details">More...</a><br /></td></tr>
487<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
488<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml">CLMinMaxLocationKernel</a></td></tr>
489<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to find min max locations of an image. <a href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml#details">More...</a><br /></td></tr>
490<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
491<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_image.xhtml">CLMultiImage</a></td></tr>
492<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the CL multi-planar image interface. <a href="classarm__compute_1_1_c_l_multi_image.xhtml#details">More...</a><br /></td></tr>
493<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
494<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter.xhtml">CLNonLinearFilter</a></td></tr>
495<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non linear filter. <a href="classarm__compute_1_1_c_l_non_linear_filter.xhtml#details">More...</a><br /></td></tr>
496<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
497<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml">CLNonLinearFilterKernel</a></td></tr>
498<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to apply a non-linear filter. <a href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml#details">More...</a><br /></td></tr>
499<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
500<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml">CLNonMaximaSuppression3x3</a></td></tr>
501<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml#details">More...</a><br /></td></tr>
502<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
503<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml">CLNonMaximaSuppression3x3Kernel</a></td></tr>
504<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to perform Non-Maxima suppression over a 3x3 window using OpenCL. <a href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml#details">More...</a><br /></td></tr>
505<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
506<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer.xhtml">CLNormalizationLayer</a></td></tr>
507<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a normalization layer. <a href="classarm__compute_1_1_c_l_normalization_layer.xhtml#details">More...</a><br /></td></tr>
508<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
509<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a></td></tr>
510<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
511<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
512<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a></td></tr>
513<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for storing ival, ixval and iyval for each point inside the window. <a href="structarm__compute_1_1_c_l_old_value.xhtml#details">More...</a><br /></td></tr>
514<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
515<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_optical_flow.xhtml">CLOpticalFlow</a></td></tr>
516<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute optical flow. <a href="classarm__compute_1_1_c_l_optical_flow.xhtml#details">More...</a><br /></td></tr>
517<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
518<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_phase.xhtml">CLPhase</a></td></tr>
519<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute an <a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_c_l_phase.xhtml#details">More...</a><br /></td></tr>
520<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
521<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml">CLPixelWiseMultiplication</a></td></tr>
522<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml#details">More...</a><br /></td></tr>
523<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
524<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a></td></tr>
525<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the pixelwise multiplication kernel. <a href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br /></td></tr>
526<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
527<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer.xhtml">CLPoolingLayer</a></td></tr>
528<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a pooling layer with the specified pooling operation. <a href="classarm__compute_1_1_c_l_pooling_layer.xhtml#details">More...</a><br /></td></tr>
529<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
530<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml">CLPoolingLayerKernel</a></td></tr>
531<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
532<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
533<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pyramid.xhtml">CLPyramid</a></td></tr>
534<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL pyramid interface. <a href="classarm__compute_1_1_c_l_pyramid.xhtml#details">More...</a><br /></td></tr>
535<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
536<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap.xhtml">CLRemap</a></td></tr>
537<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute remap. <a href="classarm__compute_1_1_c_l_remap.xhtml#details">More...</a><br /></td></tr>
538<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
539<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap_kernel.xhtml">CLRemapKernel</a></td></tr>
540<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a remap on a tensor. <a href="classarm__compute_1_1_c_l_remap_kernel.xhtml#details">More...</a><br /></td></tr>
541<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
542<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale.xhtml">CLScale</a></td></tr>
543<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a>. <a href="classarm__compute_1_1_c_l_scale.xhtml#details">More...</a><br /></td></tr>
544<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
545<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a></td></tr>
546<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the warp affine kernel. <a href="classarm__compute_1_1_c_l_scale_kernel.xhtml#details">More...</a><br /></td></tr>
547<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
548<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3.xhtml">CLScharr3x3</a></td></tr>
549<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute scharr 3x3 filter. <a href="classarm__compute_1_1_c_l_scharr3x3.xhtml#details">More...</a><br /></td></tr>
550<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
551<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml">CLScharr3x3Kernel</a></td></tr>
552<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 Scharr filter on a tensor. <a href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml#details">More...</a><br /></td></tr>
553<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
554<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scheduler.xhtml">CLScheduler</a></td></tr>
555<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides global access to a CL context and command queue. <a href="classarm__compute_1_1_c_l_scheduler.xhtml#details">More...</a><br /></td></tr>
556<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
557<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a></td></tr>
558<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Horizontal pass of a Separable Convolution. <a href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml#details">More...</a><br /></td></tr>
559<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
560<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a></td></tr>
561<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Vertical pass of a Separable Convolution. <a href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml#details">More...</a><br /></td></tr>
562<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
563<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3.xhtml">CLSobel3x3</a></td></tr>
564<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 3x3 filter. <a href="classarm__compute_1_1_c_l_sobel3x3.xhtml#details">More...</a><br /></td></tr>
565<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
566<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml">CLSobel3x3Kernel</a></td></tr>
567<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml#details">More...</a><br /></td></tr>
568<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
569<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5.xhtml">CLSobel5x5</a></td></tr>
570<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 5x5 filter. <a href="classarm__compute_1_1_c_l_sobel5x5.xhtml#details">More...</a><br /></td></tr>
571<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
572<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml">CLSobel5x5HorKernel</a></td></tr>
573<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml#details">More...</a><br /></td></tr>
574<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
575<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml">CLSobel5x5VertKernel</a></td></tr>
576<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml#details">More...</a><br /></td></tr>
577<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
578<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7.xhtml">CLSobel7x7</a></td></tr>
579<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 7x7 filter. <a href="classarm__compute_1_1_c_l_sobel7x7.xhtml#details">More...</a><br /></td></tr>
580<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
581<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml">CLSobel7x7HorKernel</a></td></tr>
582<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml#details">More...</a><br /></td></tr>
583<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
584<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml">CLSobel7x7VertKernel</a></td></tr>
585<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml#details">More...</a><br /></td></tr>
586<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
587<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_softmax_layer.xhtml">CLSoftmaxLayer</a></td></tr>
588<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_c_l_softmax_layer.xhtml#details">More...</a><br /></td></tr>
589<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
590<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup.xhtml">CLTableLookup</a></td></tr>
591<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a>. <a href="classarm__compute_1_1_c_l_table_lookup.xhtml#details">More...</a><br /></td></tr>
592<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
593<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a></td></tr>
594<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform table lookup calculations. <a href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml#details">More...</a><br /></td></tr>
595<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
596<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
597<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL tensor interface. <a href="classarm__compute_1_1_c_l_tensor.xhtml#details">More...</a><br /></td></tr>
598<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
599<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor_allocator.xhtml">CLTensorAllocator</a></td></tr>
600<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a CL memory tensor allocator. <a href="classarm__compute_1_1_c_l_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
601<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
602<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold.xhtml">CLThreshold</a></td></tr>
603<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_threshold_kernel.xhtml">CLThresholdKernel</a>. <a href="classarm__compute_1_1_c_l_threshold.xhtml#details">More...</a><br /></td></tr>
604<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
605<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold_kernel.xhtml">CLThresholdKernel</a></td></tr>
606<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the thresholding kernel. <a href="classarm__compute_1_1_c_l_threshold_kernel.xhtml#details">More...</a><br /></td></tr>
607<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
608<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose.xhtml">CLTranspose</a></td></tr>
609<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to transpose a matrix on OpenCL. <a href="classarm__compute_1_1_c_l_transpose.xhtml#details">More...</a><br /></td></tr>
610<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
611<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose_kernel.xhtml">CLTransposeKernel</a></td></tr>
612<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_c_l_transpose_kernel.xhtml#details">More...</a><br /></td></tr>
613<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
614<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine.xhtml">CLWarpAffine</a></td></tr>
615<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a> for AFFINE transformation. <a href="classarm__compute_1_1_c_l_warp_affine.xhtml#details">More...</a><br /></td></tr>
616<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
617<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a></td></tr>
618<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the warp affine kernel. <a href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml#details">More...</a><br /></td></tr>
619<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
620<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective.xhtml">CLWarpPerspective</a></td></tr>
621<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a> for PERSPECTIVE transformation. <a href="classarm__compute_1_1_c_l_warp_perspective.xhtml#details">More...</a><br /></td></tr>
622<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
623<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a></td></tr>
624<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the warp perspective kernel. <a href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml#details">More...</a><br /></td></tr>
625<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
626<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a></td></tr>
627<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> of an item. <a href="classarm__compute_1_1_coordinates.xhtml#details">More...</a><br /></td></tr>
628<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
629<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a></td></tr>
630<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates2_d.xhtml#details">More...</a><br /></td></tr>
631<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
632<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates3_d.xhtml">Coordinates3D</a></td></tr>
633<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates3_d.xhtml#details">More...</a><br /></td></tr>
634<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
635<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml">CPPCornerCandidatesKernel</a></td></tr>
636<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform corner candidates. <a href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml#details">More...</a><br /></td></tr>
637<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
638<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
639<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_c_p_p_scheduler.xhtml#details">More...</a><br /></td></tr>
640<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
641<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml">CPPSortEuclideanDistanceKernel</a></td></tr>
642<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform sorting and euclidean distance. <a href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml#details">More...</a><br /></td></tr>
643<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
644<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a></td></tr>
645<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detection window used for the object detection. <a href="structarm__compute_1_1_detection_window.xhtml#details">More...</a><br /></td></tr>
646<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
647<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a></td></tr>
648<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> with dimensionality. <a href="classarm__compute_1_1_dimensions.xhtml#details">More...</a><br /></td></tr>
649<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
650<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
651<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the 1D distribution interface. <a href="classarm__compute_1_1_distribution1_d.xhtml#details">More...</a><br /></td></tr>
652<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
653<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g.xhtml">HOG</a></td></tr>
654<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU implementation of <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_h_o_g.xhtml#details">More...</a><br /></td></tr>
655<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
656<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a></td></tr>
657<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>'s metadata. <a href="classarm__compute_1_1_h_o_g_info.xhtml#details">More...</a><br /></td></tr>
658<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
659<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_access_window.xhtml">IAccessWindow</a></td></tr>
660<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface describing methods to update access window and padding based on kernel parameters. <a href="classarm__compute_1_1_i_access_window.xhtml#details">More...</a><br /></td></tr>
661<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
662<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a></td></tr>
663<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a> of type T. <a href="classarm__compute_1_1_i_array.xhtml#details">More...</a><br /></td></tr>
664<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
665<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a></td></tr>
666<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a>. <a href="classarm__compute_1_1_i_c_l_array.xhtml#details">More...</a><br /></td></tr>
667<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
668<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a></td></tr>
669<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml" title="ICLDistribution1D interface class. ">ICLDistribution1D</a> interface class. <a href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#details">More...</a><br /></td></tr>
670<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
671<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a></td></tr>
672<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all the OpenCL kernels. <a href="classarm__compute_1_1_i_c_l_kernel.xhtml#details">More...</a><br /></td></tr>
673<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
674<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a></td></tr>
675<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL LUT. <a href="classarm__compute_1_1_i_c_l_lut.xhtml#details">More...</a><br /></td></tr>
676<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
677<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_image.xhtml">ICLMultiImage</a></td></tr>
678<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL multi-planar images. <a href="classarm__compute_1_1_i_c_l_multi_image.xhtml#details">More...</a><br /></td></tr>
679<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
680<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml">ICLSimple2DKernel</a></td></tr>
681<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml#details">More...</a><br /></td></tr>
682<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
683<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml">ICLSimple3DKernel</a></td></tr>
684<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml#details">More...</a><br /></td></tr>
685<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
686<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_function.xhtml">ICLSimpleFunction</a></td></tr>
687<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for functions which have a single OpenCL kernel. <a href="classarm__compute_1_1_i_c_l_simple_function.xhtml#details">More...</a><br /></td></tr>
688<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
689<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml">ICLSimpleKernel</a></td></tr>
690<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml#details">More...</a><br /></td></tr>
691<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
692<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a></td></tr>
693<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL tensor. <a href="classarm__compute_1_1_i_c_l_tensor.xhtml#details">More...</a><br /></td></tr>
694<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
695<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
696<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all kernels implemented in C++. <a href="classarm__compute_1_1_i_c_p_p_kernel.xhtml#details">More...</a><br /></td></tr>
697<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
698<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
699<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple NEON kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml#details">More...</a><br /></td></tr>
700<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
701<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution.xhtml">IDistribution</a></td></tr>
702<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for distribution objects. <a href="classarm__compute_1_1_i_distribution.xhtml#details">More...</a><br /></td></tr>
703<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
704<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml">IDistribution1D</a></td></tr>
705<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">1D Distribution interface <a href="classarm__compute_1_1_i_distribution1_d.xhtml#details">More...</a><br /></td></tr>
706<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
707<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_function.xhtml">IFunction</a></td></tr>
708<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for all functions. <a href="classarm__compute_1_1_i_function.xhtml#details">More...</a><br /></td></tr>
709<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
710<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_h_o_g.xhtml">IHOG</a></td></tr>
711<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_i_h_o_g.xhtml#details">More...</a><br /></td></tr>
712<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
713<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a></td></tr>
714<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common information for all the kernels. <a href="classarm__compute_1_1_i_kernel.xhtml#details">More...</a><br /></td></tr>
715<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
716<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut.xhtml">ILut</a></td></tr>
717<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lookup Table object interface. <a href="classarm__compute_1_1_i_lut.xhtml#details">More...</a><br /></td></tr>
718<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
719<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut_allocator.xhtml">ILutAllocator</a></td></tr>
720<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface to allocate LUTs'. <a href="classarm__compute_1_1_i_lut_allocator.xhtml#details">More...</a><br /></td></tr>
721<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
722<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a></td></tr>
723<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for storing multiple <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_i_multi_h_o_g.xhtml#details">More...</a><br /></td></tr>
724<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
725<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_image.xhtml">IMultiImage</a></td></tr>
726<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for multi-planar images. <a href="classarm__compute_1_1_i_multi_image.xhtml#details">More...</a><br /></td></tr>
727<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
728<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml">INEHarrisScoreKernel</a></td></tr>
729<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all Harris Score kernels. <a href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml#details">More...</a><br /></td></tr>
730<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
731<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_simple_function.xhtml">INESimpleFunction</a></td></tr>
732<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for functions which have a single NEON kernel. <a href="classarm__compute_1_1_i_n_e_simple_function.xhtml#details">More...</a><br /></td></tr>
733<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
734<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml">INEWarpKernel</a></td></tr>
735<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for warp affine and warp perspective. <a href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml#details">More...</a><br /></td></tr>
736<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +0100737<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_i_o_format_info.xhtml">IOFormatInfo</a></td></tr>
738<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">IO formatting information class. <a href="structarm__compute_1_1_i_o_format_info.xhtml#details">More...</a><br /></td></tr>
739<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000740<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_pyramid.xhtml">IPyramid</a></td></tr>
741<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for pyramid data-object. <a href="classarm__compute_1_1_i_pyramid.xhtml#details">More...</a><br /></td></tr>
742<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
743<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
744<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for NEON tensor. <a href="classarm__compute_1_1_i_tensor.xhtml#details">More...</a><br /></td></tr>
745<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
746<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_allocator.xhtml">ITensorAllocator</a></td></tr>
747<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to allocate tensors. <a href="classarm__compute_1_1_i_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
748<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
749<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_iterator.xhtml">Iterator</a></td></tr>
750<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_iterator.xhtml" title="Iterator updated by execute_window_loop for each window element. ">Iterator</a> updated by <a class="el" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a> for each window element. <a href="classarm__compute_1_1_iterator.xhtml#details">More...</a><br /></td></tr>
751<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
752<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a></td></tr>
753<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> class. <a href="classarm__compute_1_1_kernel.xhtml#details">More...</a><br /></td></tr>
754<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
755<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a></td></tr>
756<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_keypoint.xhtml">Keypoint</a> type. <a href="structarm__compute_1_1_key_point.xhtml#details">More...</a><br /></td></tr>
757<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
758<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut.xhtml">Lut</a></td></tr>
759<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the LUT interface. <a href="classarm__compute_1_1_lut.xhtml#details">More...</a><br /></td></tr>
760<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
761<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut_allocator.xhtml">LutAllocator</a></td></tr>
762<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a CPU memory LUT allocator. <a href="classarm__compute_1_1_lut_allocator.xhtml#details">More...</a><br /></td></tr>
763<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
764<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_h_o_g.xhtml">MultiHOG</a></td></tr>
765<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU implementation of multi <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_multi_h_o_g.xhtml#details">More...</a><br /></td></tr>
766<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
767<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image.xhtml">MultiImage</a></td></tr>
768<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the multi-planar image interface. <a href="classarm__compute_1_1_multi_image.xhtml#details">More...</a><br /></td></tr>
769<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
770<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image_info.xhtml">MultiImageInfo</a></td></tr>
771<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the multi-planar image's metadata. <a href="classarm__compute_1_1_multi_image_info.xhtml#details">More...</a><br /></td></tr>
772<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
773<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference.xhtml">NEAbsoluteDifference</a></td></tr>
774<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_n_e_absolute_difference.xhtml#details">More...</a><br /></td></tr>
775<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
776<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a></td></tr>
777<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml#details">More...</a><br /></td></tr>
778<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
779<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate.xhtml">NEAccumulate</a></td></tr>
780<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate.xhtml#details">More...</a><br /></td></tr>
781<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
782<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a></td></tr>
783<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate kernel. <a href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml#details">More...</a><br /></td></tr>
784<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
785<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared.xhtml">NEAccumulateSquared</a></td></tr>
786<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate_squared.xhtml#details">More...</a><br /></td></tr>
787<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
788<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a></td></tr>
789<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate squared kernel. <a href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml#details">More...</a><br /></td></tr>
790<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
791<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml">NEAccumulateWeighted</a></td></tr>
792<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml#details">More...</a><br /></td></tr>
793<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
794<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml">NEAccumulateWeightedFP16Kernel</a></td></tr>
795<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel using F16. <a href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
796<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
797<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td></tr>
798<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml#details">More...</a><br /></td></tr>
799<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
800<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer.xhtml">NEActivationLayer</a></td></tr>
801<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a>. <a href="classarm__compute_1_1_n_e_activation_layer.xhtml#details">More...</a><br /></td></tr>
802<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
803<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a></td></tr>
804<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml#details">More...</a><br /></td></tr>
805<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
806<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml">NEArithmeticAddition</a></td></tr>
807<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml#details">More...</a><br /></td></tr>
808<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
809<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a></td></tr>
810<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform addition between two tensors. <a href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml#details">More...</a><br /></td></tr>
811<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
812<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml">NEArithmeticSubtraction</a></td></tr>
813<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a>. <a href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml#details">More...</a><br /></td></tr>
814<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
815<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a></td></tr>
816<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform subtraction between two tensors. <a href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml#details">More...</a><br /></td></tr>
817<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
818<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and.xhtml">NEBitwiseAnd</a></td></tr>
819<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_and.xhtml#details">More...</a><br /></td></tr>
820<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
821<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a></td></tr>
822<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform bitwise AND between XY-planes of two tensors. <a href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml#details">More...</a><br /></td></tr>
823<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
824<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not.xhtml">NEBitwiseNot</a></td></tr>
825<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_not.xhtml#details">More...</a><br /></td></tr>
826<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
827<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a></td></tr>
828<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform bitwise NOT operation. <a href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml#details">More...</a><br /></td></tr>
829<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
830<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or.xhtml">NEBitwiseOr</a></td></tr>
831<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_or.xhtml#details">More...</a><br /></td></tr>
832<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
833<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a></td></tr>
834<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform bitwise inclusive OR between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml#details">More...</a><br /></td></tr>
835<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
836<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor.xhtml">NEBitwiseXor</a></td></tr>
837<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_xor.xhtml#details">More...</a><br /></td></tr>
838<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
839<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a></td></tr>
840<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml#details">More...</a><br /></td></tr>
841<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
842<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3.xhtml">NEBox3x3</a></td></tr>
843<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_n_e_box3x3.xhtml#details">More...</a><br /></td></tr>
844<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
845<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml">NEBox3x3FP16Kernel</a></td></tr>
846<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Box 3x3 filter using F16 simd. <a href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
847<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
848<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
849<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Box 3x3 filter. <a href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml#details">More...</a><br /></td></tr>
850<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
851<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_canny_edge.xhtml">NECannyEdge</a></td></tr>
852<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute canny edge on NEON. <a href="classarm__compute_1_1_n_e_canny_edge.xhtml#details">More...</a><br /></td></tr>
853<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
854<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine.xhtml">NEChannelCombine</a></td></tr>
855<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a> to perform channel combination. <a href="classarm__compute_1_1_n_e_channel_combine.xhtml#details">More...</a><br /></td></tr>
856<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
857<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a></td></tr>
858<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel combine kernel. <a href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml#details">More...</a><br /></td></tr>
859<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
860<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract.xhtml">NEChannelExtract</a></td></tr>
861<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a> to perform channel extraction. <a href="classarm__compute_1_1_n_e_channel_extract.xhtml#details">More...</a><br /></td></tr>
862<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
863<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a></td></tr>
864<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel extract kernel. <a href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml#details">More...</a><br /></td></tr>
865<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
866<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml">NECol2ImKernel</a></td></tr>
867<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform col2im reshaping. <a href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml#details">More...</a><br /></td></tr>
868<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
869<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert.xhtml">NEColorConvert</a></td></tr>
870<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a> to perform color conversion. <a href="classarm__compute_1_1_n_e_color_convert.xhtml#details">More...</a><br /></td></tr>
871<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
872<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a></td></tr>
873<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the color convert kernel. <a href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml#details">More...</a><br /></td></tr>
874<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
875<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution3x3.xhtml">NEConvolution3x3</a></td></tr>
876<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_n_e_convolution3x3.xhtml#details">More...</a><br /></td></tr>
877<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000878<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a></td></tr>
879<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_n_e_convolution_kernel.xhtml#details">More...</a><br /></td></tr>
880<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
881<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer.xhtml">NEConvolutionLayer</a></td></tr>
882<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a convolution layer. <a href="classarm__compute_1_1_n_e_convolution_layer.xhtml#details">More...</a><br /></td></tr>
883<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
884<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer_weights_reshape_kernel.xhtml">NEConvolutionLayerWeightsReshapeKernel</a></td></tr>
885<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
886<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
887<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml">NEConvolutionRectangle</a></td></tr>
888<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non-square convolution. <a href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml#details">More...</a><br /></td></tr>
889<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
890<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml">NEConvolutionRectangleKernel</a></td></tr>
891<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml#details">More...</a><br /></td></tr>
892<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +0100893<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a></td></tr>
894<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute convolution of size 5x5, 7x7, 9x9. <a href="classarm__compute_1_1_n_e_convolution_square.xhtml#details">More...</a><br /></td></tr>
895<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000896<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml">NECumulativeDistributionKernel</a></td></tr>
897<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the cumulative distribution (cummulative summmation) calculation kernel. <a href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml#details">More...</a><br /></td></tr>
898<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
899<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert.xhtml">NEDepthConvert</a></td></tr>
900<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml">NEDepthConvertKernel</a>. <a href="classarm__compute_1_1_n_e_depth_convert.xhtml#details">More...</a><br /></td></tr>
901<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
902<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml">NEDepthConvertKernel</a></td></tr>
903<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Depth conversion kernel. <a href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml#details">More...</a><br /></td></tr>
904<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
905<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative.xhtml">NEDerivative</a></td></tr>
906<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute first order derivative operator. <a href="classarm__compute_1_1_n_e_derivative.xhtml#details">More...</a><br /></td></tr>
907<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
908<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative_kernel.xhtml">NEDerivativeKernel</a></td></tr>
909<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the derivative along the X/Y directions on a tensor. <a href="classarm__compute_1_1_n_e_derivative_kernel.xhtml#details">More...</a><br /></td></tr>
910<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
911<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate.xhtml">NEDilate</a></td></tr>
912<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_n_e_dilate.xhtml#details">More...</a><br /></td></tr>
913<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
914<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate_kernel.xhtml">NEDilateKernel</a></td></tr>
915<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform boolean image dilatation. <a href="classarm__compute_1_1_n_e_dilate_kernel.xhtml#details">More...</a><br /></td></tr>
916<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
917<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml">NEEdgeNonMaxSuppressionKernel</a></td></tr>
918<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression for Canny Edge. <a href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml#details">More...</a><br /></td></tr>
919<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
920<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml">NEEdgeTraceKernel</a></td></tr>
921<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Edge tracing. <a href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml#details">More...</a><br /></td></tr>
922<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
923<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_equalize_histogram.xhtml">NEEqualizeHistogram</a></td></tr>
924<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute histogram equalization. <a href="classarm__compute_1_1_n_e_equalize_histogram.xhtml#details">More...</a><br /></td></tr>
925<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
926<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode.xhtml">NEErode</a></td></tr>
927<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute erode. <a href="classarm__compute_1_1_n_e_erode.xhtml#details">More...</a><br /></td></tr>
928<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
929<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode_kernel.xhtml">NEErodeKernel</a></td></tr>
930<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform boolean image erosion. <a href="classarm__compute_1_1_n_e_erode_kernel.xhtml#details">More...</a><br /></td></tr>
931<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
932<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners.xhtml">NEFastCorners</a></td></tr>
933<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute fast corners. <a href="classarm__compute_1_1_n_e_fast_corners.xhtml#details">More...</a><br /></td></tr>
934<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
935<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml">NEFastCornersKernel</a></td></tr>
936<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform fast corners. <a href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml#details">More...</a><br /></td></tr>
937<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
938<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml">NEFillArrayKernel</a></td></tr>
939<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This kernel adds all texels greater than or equal to the threshold value to the keypoint array. <a href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml#details">More...</a><br /></td></tr>
940<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
941<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border.xhtml">NEFillBorder</a></td></tr>
942<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a>. <a href="classarm__compute_1_1_n_e_fill_border.xhtml#details">More...</a><br /></td></tr>
943<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
944<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a></td></tr>
945<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to fill borders. <a href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml#details">More...</a><br /></td></tr>
946<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
947<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml">NEFillInnerBorderKernel</a></td></tr>
948<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to fill the interior borders. <a href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml#details">More...</a><br /></td></tr>
949<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
950<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer.xhtml">NEFullyConnectedLayer</a></td></tr>
951<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a Fully Connected layer on NEON. <a href="classarm__compute_1_1_n_e_fully_connected_layer.xhtml#details">More...</a><br /></td></tr>
952<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
953<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3.xhtml">NEGaussian3x3</a></td></tr>
954<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian filter 3x3. <a href="classarm__compute_1_1_n_e_gaussian3x3.xhtml#details">More...</a><br /></td></tr>
955<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
956<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml">NEGaussian3x3Kernel</a></td></tr>
957<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Gaussian 3x3 filter. <a href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml#details">More...</a><br /></td></tr>
958<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
959<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5.xhtml">NEGaussian5x5</a></td></tr>
960<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian filter 5x5. <a href="classarm__compute_1_1_n_e_gaussian5x5.xhtml#details">More...</a><br /></td></tr>
961<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
962<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml">NEGaussian5x5HorKernel</a></td></tr>
963<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Gaussian 5x5 filter (horizontal pass) <a href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml#details">More...</a><br /></td></tr>
964<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
965<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml">NEGaussian5x5VertKernel</a></td></tr>
966<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Gaussian 5x5 filter (vertical pass) <a href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml#details">More...</a><br /></td></tr>
967<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
968<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid.xhtml">NEGaussianPyramid</a></td></tr>
969<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all Gaussian pyramid functions. <a href="classarm__compute_1_1_n_e_gaussian_pyramid.xhtml#details">More...</a><br /></td></tr>
970<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
971<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml">NEGaussianPyramidHalf</a></td></tr>
972<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian pyramid with HALF scale factor. <a href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml#details">More...</a><br /></td></tr>
973<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
974<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml">NEGaussianPyramidHorKernel</a></td></tr>
975<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a GaussianPyramid (horizontal pass) <a href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml#details">More...</a><br /></td></tr>
976<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
977<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml">NEGaussianPyramidOrb</a></td></tr>
978<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute gaussian pyramid with ORB scale factor. <a href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml#details">More...</a><br /></td></tr>
979<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
980<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml">NEGaussianPyramidVertKernel</a></td></tr>
981<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a GaussianPyramid (vertical pass) <a href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml#details">More...</a><br /></td></tr>
982<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
983<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m.xhtml">NEGEMM</a></td></tr>
984<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMM on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m.xhtml#details">More...</a><br /></td></tr>
985<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +0100986<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml">NEGEMMInterleave4x4</a></td></tr>
987<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml" title="NEON kernel to interleave the elements of a matrix. ">NEGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml#details">More...</a><br /></td></tr>
988<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000989<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml">NEGEMMInterleave4x4Kernel</a></td></tr>
990<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to interleave the elements of a matrix. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
991<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
992<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp.xhtml">NEGEMMLowp</a></td></tr>
993<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMMLowp on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp.xhtml#details">More...</a><br /></td></tr>
994<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
995<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a></td></tr>
996<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to multiply matrices. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
997<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
998<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">NEGEMMMatrixAccumulateBiasesKernel</a></td></tr>
999<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br /></td></tr>
1000<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1001<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml">NEGEMMMatrixAdditionKernel</a></td></tr>
1002<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform the in-place matrix addition between 2 matrices taking into account that the second matrix might be weighted by a scalar value beta: <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br /></td></tr>
1003<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1004<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml">NEGEMMMatrixMultiplyKernel</a></td></tr>
1005<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
1006<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01001007<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml">NEGEMMTranspose1xW</a></td></tr>
1008<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml" title="NEON kernel which transposes the elements of a matrix in chunks of 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>
1009<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001010<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml">NEGEMMTranspose1xWKernel</a></td></tr>
1011<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
1012<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1013<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml">NEGradientFP16Kernel</a></td></tr>
1014<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Gradient computation. <a href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
1015<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1016<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
1017<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes magnitude and quantised phase from inputs gradients. <a href="classarm__compute_1_1_n_e_gradient_kernel.xhtml#details">More...</a><br /></td></tr>
1018<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1019<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_corners.xhtml">NEHarrisCorners</a></td></tr>
1020<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute harris corners detection. <a href="classarm__compute_1_1_n_e_harris_corners.xhtml#details">More...</a><br /></td></tr>
1021<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1022<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml">NEHarrisScoreFP16Kernel</a></td></tr>
1023<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate Weighted kernel using F16. <a href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
1024<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1025<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a></td></tr>
1026<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template NEON kernel to perform Harris Score. <a href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml#details">More...</a><br /></td></tr>
1027<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1028<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram.xhtml">NEHistogram</a></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001029<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a>. <a href="classarm__compute_1_1_n_e_histogram.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001030<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1031<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a></td></tr>
1032<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the histogram kernel. <a href="classarm__compute_1_1_n_e_histogram_kernel.xhtml#details">More...</a><br /></td></tr>
1033<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1034<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml">NEHOGBlockNormalizationKernel</a></td></tr>
1035<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> block normalization. <a href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml#details">More...</a><br /></td></tr>
1036<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1037<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_descriptor.xhtml">NEHOGDescriptor</a></td></tr>
1038<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to calculate <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> descriptor. <a href="classarm__compute_1_1_n_e_h_o_g_descriptor.xhtml#details">More...</a><br /></td></tr>
1039<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1040<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector.xhtml">NEHOGDetector</a></td></tr>
1041<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector based on linear SVM. <a href="classarm__compute_1_1_n_e_h_o_g_detector.xhtml#details">More...</a><br /></td></tr>
1042<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1043<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml">NEHOGDetectorKernel</a></td></tr>
1044<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector kernel using linear SVM. <a href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml#details">More...</a><br /></td></tr>
1045<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1046<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_gradient.xhtml">NEHOGGradient</a></td></tr>
1047<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to calculate the gradient for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_n_e_h_o_g_gradient.xhtml#details">More...</a><br /></td></tr>
1048<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1049<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_multi_detection.xhtml">NEHOGMultiDetection</a></td></tr>
1050<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to detect multiple objects (or the same object at different scales) on the same input image using <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_n_e_h_o_g_multi_detection.xhtml#details">More...</a><br /></td></tr>
1051<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1052<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_non_maxima_suppression_kernel.xhtml">NEHOGNonMaximaSuppressionKernel</a></td></tr>
1053<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
1054<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1055<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml">NEHOGOrientationBinningKernel</a></td></tr>
1056<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> Orientation Binning. <a href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml#details">More...</a><br /></td></tr>
1057<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1058<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml">NEIm2ColKernel</a></td></tr>
1059<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
1060<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1061<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image.xhtml">NEIntegralImage</a></td></tr>
1062<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run a <a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a>. <a href="classarm__compute_1_1_n_e_integral_image.xhtml#details">More...</a><br /></td></tr>
1063<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1064<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a></td></tr>
1065<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to perform an image integral on an image. <a href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml#details">More...</a><br /></td></tr>
1066<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1067<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_pyramid.xhtml">NELaplacianPyramid</a></td></tr>
1068<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute laplacian pyramid. <a href="classarm__compute_1_1_n_e_laplacian_pyramid.xhtml#details">More...</a><br /></td></tr>
1069<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1070<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_reconstruct.xhtml">NELaplacianReconstruct</a></td></tr>
1071<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute laplacian reconstruction. <a href="classarm__compute_1_1_n_e_laplacian_reconstruct.xhtml#details">More...</a><br /></td></tr>
1072<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1073<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a></td></tr>
1074<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal keypoint class for Lucas-Kanade Optical Flow. <a href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml#details">More...</a><br /></td></tr>
1075<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1076<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml">NELKTrackerKernel</a></td></tr>
1077<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the Lucas-Kanade tracker kernel. <a href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml#details">More...</a><br /></td></tr>
1078<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1079<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml">NELogits1DMaxKernel</a></td></tr>
1080<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml#details">More...</a><br /></td></tr>
1081<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1082<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml">NELogits1DNormKernel</a></td></tr>
1083<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml#details">More...</a><br /></td></tr>
1084<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1085<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml">NELogits1DShiftExpSumKernel</a></td></tr>
1086<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br /></td></tr>
1087<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1088<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude.xhtml">NEMagnitude</a></td></tr>
1089<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" title="Template interface for the kernel to compute magnitude and phase. ">NEMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_n_e_magnitude.xhtml#details">More...</a><br /></td></tr>
1090<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1091<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml">NEMagnitudePhaseFP16Kernel</a></td></tr>
1092<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
1093<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1094<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a></td></tr>
1095<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml#details">More...</a><br /></td></tr>
1096<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1097<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev.xhtml">NEMeanStdDev</a></td></tr>
1098<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute mean and std deviation. <a href="classarm__compute_1_1_n_e_mean_std_dev.xhtml#details">More...</a><br /></td></tr>
1099<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1100<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml">NEMeanStdDevKernel</a></td></tr>
1101<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to calculate mean and standard deviation of input image pixels. <a href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml#details">More...</a><br /></td></tr>
1102<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1103<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3.xhtml">NEMedian3x3</a></td></tr>
1104<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute median filter. <a href="classarm__compute_1_1_n_e_median3x3.xhtml#details">More...</a><br /></td></tr>
1105<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1106<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml">NEMedian3x3Kernel</a></td></tr>
1107<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to perform a median filter on a tensor. <a href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml#details">More...</a><br /></td></tr>
1108<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1109<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_kernel.xhtml">NEMinMaxKernel</a></td></tr>
1110<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform min max search on an image. <a href="classarm__compute_1_1_n_e_min_max_kernel.xhtml#details">More...</a><br /></td></tr>
1111<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1112<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location.xhtml">NEMinMaxLocation</a></td></tr>
1113<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute min and max location. <a href="classarm__compute_1_1_n_e_min_max_location.xhtml#details">More...</a><br /></td></tr>
1114<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1115<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml">NEMinMaxLocationKernel</a></td></tr>
1116<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to find min max locations of an image. <a href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml#details">More...</a><br /></td></tr>
1117<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1118<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter.xhtml">NENonLinearFilter</a></td></tr>
1119<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non linear filter. <a href="classarm__compute_1_1_n_e_non_linear_filter.xhtml#details">More...</a><br /></td></tr>
1120<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1121<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml">NENonLinearFilterKernel</a></td></tr>
1122<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to apply a non-linear filter. <a href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml#details">More...</a><br /></td></tr>
1123<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1124<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml">NENonMaximaSuppression3x3</a></td></tr>
1125<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml#details">More...</a><br /></td></tr>
1126<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1127<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml">NENonMaximaSuppression3x3FP16Kernel</a></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001128<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in F16 if the input data type is F32. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001129<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1130<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
1131<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to perform Non-Maxima suppression over a 3x3 window using NEON. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml#details">More...</a><br /></td></tr>
1132<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1133<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer.xhtml">NENormalizationLayer</a></td></tr>
1134<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a normalization layer. <a href="classarm__compute_1_1_n_e_normalization_layer.xhtml#details">More...</a><br /></td></tr>
1135<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1136<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a></td></tr>
1137<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1138<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1139<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_optical_flow.xhtml">NEOpticalFlow</a></td></tr>
1140<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute optical flow. <a href="classarm__compute_1_1_n_e_optical_flow.xhtml#details">More...</a><br /></td></tr>
1141<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1142<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_phase.xhtml">NEPhase</a></td></tr>
1143<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" title="Template interface for the kernel to compute magnitude and phase. ">NEMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_n_e_phase.xhtml#details">More...</a><br /></td></tr>
1144<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1145<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication.xhtml">NEPixelWiseMultiplication</a></td></tr>
1146<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_n_e_pixel_wise_multiplication.xhtml#details">More...</a><br /></td></tr>
1147<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1148<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a></td></tr>
1149<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform addition between two tensors. <a href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br /></td></tr>
1150<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1151<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer.xhtml">NEPoolingLayer</a></td></tr>
1152<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a pooling layer with the specified pooling operation. <a href="classarm__compute_1_1_n_e_pooling_layer.xhtml#details">More...</a><br /></td></tr>
1153<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1154<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml">NEPoolingLayerKernel</a></td></tr>
1155<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1156<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1157<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap.xhtml">NERemap</a></td></tr>
1158<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute remap. <a href="classarm__compute_1_1_n_e_remap.xhtml#details">More...</a><br /></td></tr>
1159<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1160<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap_kernel.xhtml">NERemapKernel</a></td></tr>
1161<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a remap on a tensor. <a href="classarm__compute_1_1_n_e_remap_kernel.xhtml#details">More...</a><br /></td></tr>
1162<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1163<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale.xhtml">NEScale</a></td></tr>
1164<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a>. <a href="classarm__compute_1_1_n_e_scale.xhtml#details">More...</a><br /></td></tr>
1165<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1166<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a></td></tr>
1167<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform scaling on a tensor. <a href="classarm__compute_1_1_n_e_scale_kernel.xhtml#details">More...</a><br /></td></tr>
1168<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1169<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3.xhtml">NEScharr3x3</a></td></tr>
1170<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute scharr 3x3 filter. <a href="classarm__compute_1_1_n_e_scharr3x3.xhtml#details">More...</a><br /></td></tr>
1171<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1172<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml">NEScharr3x3Kernel</a></td></tr>
1173<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 Scharr filter on a tensor. <a href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml#details">More...</a><br /></td></tr>
1174<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1175<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a></td></tr>
1176<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Horizontal pass of a Separable Convolution. <a href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml#details">More...</a><br /></td></tr>
1177<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1178<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a></td></tr>
1179<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Vertical pass of a Separable Convolution. <a href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml#details">More...</a><br /></td></tr>
1180<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1181<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3.xhtml">NESobel3x3</a></td></tr>
1182<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 3x3 filter. <a href="classarm__compute_1_1_n_e_sobel3x3.xhtml#details">More...</a><br /></td></tr>
1183<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1184<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml">NESobel3x3Kernel</a></td></tr>
1185<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 Sobel X filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml#details">More...</a><br /></td></tr>
1186<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1187<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5.xhtml">NESobel5x5</a></td></tr>
1188<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 5x5 filter. <a href="classarm__compute_1_1_n_e_sobel5x5.xhtml#details">More...</a><br /></td></tr>
1189<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1190<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml">NESobel5x5HorKernel</a></td></tr>
1191<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml#details">More...</a><br /></td></tr>
1192<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1193<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml">NESobel5x5VertKernel</a></td></tr>
1194<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml#details">More...</a><br /></td></tr>
1195<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1196<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7.xhtml">NESobel7x7</a></td></tr>
1197<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute sobel 7x7 filter. <a href="classarm__compute_1_1_n_e_sobel7x7.xhtml#details">More...</a><br /></td></tr>
1198<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1199<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml">NESobel7x7HorKernel</a></td></tr>
1200<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml#details">More...</a><br /></td></tr>
1201<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1202<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml">NESobel7x7VertKernel</a></td></tr>
1203<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml#details">More...</a><br /></td></tr>
1204<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1205<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_softmax_layer.xhtml">NESoftmaxLayer</a></td></tr>
1206<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_n_e_softmax_layer.xhtml#details">More...</a><br /></td></tr>
1207<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1208<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup.xhtml">NETableLookup</a></td></tr>
1209<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a>. <a href="classarm__compute_1_1_n_e_table_lookup.xhtml#details">More...</a><br /></td></tr>
1210<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1211<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a></td></tr>
1212<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform table lookup calculations. <a href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml#details">More...</a><br /></td></tr>
1213<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1214<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold.xhtml">NEThreshold</a></td></tr>
1215<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a>. <a href="classarm__compute_1_1_n_e_threshold.xhtml#details">More...</a><br /></td></tr>
1216<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1217<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a></td></tr>
1218<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the thresholding kernel. <a href="classarm__compute_1_1_n_e_threshold_kernel.xhtml#details">More...</a><br /></td></tr>
1219<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1220<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose.xhtml">NETranspose</a></td></tr>
1221<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to transpose a matrix on NEON. <a href="classarm__compute_1_1_n_e_transpose.xhtml#details">More...</a><br /></td></tr>
1222<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1223<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose_kernel.xhtml">NETransposeKernel</a></td></tr>
1224<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_n_e_transpose_kernel.xhtml#details">More...</a><br /></td></tr>
1225<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1226<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine.xhtml">NEWarpAffine</a></td></tr>
1227<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a>. <a href="classarm__compute_1_1_n_e_warp_affine.xhtml#details">More...</a><br /></td></tr>
1228<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1229<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a></td></tr>
1230<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute warp affine. <a href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml#details">More...</a><br /></td></tr>
1231<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1232<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective.xhtml">NEWarpPerspective</a></td></tr>
1233<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a>. <a href="classarm__compute_1_1_n_e_warp_perspective.xhtml#details">More...</a><br /></td></tr>
1234<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1235<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a></td></tr>
1236<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template interface for the kernel to compute warp perspective. <a href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml#details">More...</a><br /></td></tr>
1237<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1238<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a></td></tr>
1239<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalization Layer Information class. <a href="classarm__compute_1_1_normalization_layer_info.xhtml#details">More...</a><br /></td></tr>
1240<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1241<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a></td></tr>
1242<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Padding and stride information class. <a href="classarm__compute_1_1_pad_stride_info.xhtml#details">More...</a><br /></td></tr>
1243<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1244<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a></td></tr>
1245<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class describing the value of a pixel for any image format. <a href="classarm__compute_1_1_pixel_value.xhtml#details">More...</a><br /></td></tr>
1246<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1247<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a></td></tr>
1248<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pooling Layer Information class. <a href="classarm__compute_1_1_pooling_layer_info.xhtml#details">More...</a><br /></td></tr>
1249<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1250<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_program.xhtml">Program</a></td></tr>
1251<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_program.xhtml" title="Program class. ">Program</a> class. <a href="classarm__compute_1_1_program.xhtml#details">More...</a><br /></td></tr>
1252<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1253<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid.xhtml">Pyramid</a></td></tr>
1254<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the pyramid interface. <a href="classarm__compute_1_1_pyramid.xhtml#details">More...</a><br /></td></tr>
1255<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1256<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid_info.xhtml">PyramidInfo</a></td></tr>
1257<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the <a class="el" href="classarm__compute_1_1_pyramid.xhtml" title="Basic implementation of the pyramid interface. ">Pyramid</a>'s metadata. <a href="classarm__compute_1_1_pyramid_info.xhtml#details">More...</a><br /></td></tr>
1258<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1259<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a></td></tr>
1260<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. <a href="structarm__compute_1_1_rectangle.xhtml#details">More...</a><br /></td></tr>
1261<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1262<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a></td></tr>
1263<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for specifying the size of an image or rectangle. <a href="classarm__compute_1_1_size2_d.xhtml#details">More...</a><br /></td></tr>
1264<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1265<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a></td></tr>
1266<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class to describe a number of elements in each dimension. <a href="classarm__compute_1_1_steps.xhtml#details">More...</a><br /></td></tr>
1267<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1268<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td></tr>
1269<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> of an item in bytes. <a href="classarm__compute_1_1_strides.xhtml#details">More...</a><br /></td></tr>
1270<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1271<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td></tr>
1272<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the tensor interface. <a href="classarm__compute_1_1_tensor.xhtml#details">More...</a><br /></td></tr>
1273<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1274<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml">TensorAllocator</a></td></tr>
1275<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a CPU memory tensor allocator. <a href="classarm__compute_1_1_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
1276<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1277<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a></td></tr>
1278<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the tensor's metadata. <a href="classarm__compute_1_1_tensor_info.xhtml#details">More...</a><br /></td></tr>
1279<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1280<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a></td></tr>
1281<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shape of a tensor. <a href="classarm__compute_1_1_tensor_shape.xhtml#details">More...</a><br /></td></tr>
1282<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1283<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a></td></tr>
1284<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1285<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a></td></tr>
1286<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describe a multidimensional execution window. <a href="classarm__compute_1_1_window.xhtml#details">More...</a><br /></td></tr>
1287<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1288</table><table class="memberdecls">
1289<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
1290Typedefs</h2></td></tr>
1291<tr class="memitem:adb969f0e554bf563f2fa671399d59280"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adb969f0e554bf563f2fa671399d59280">ICLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &gt;</td></tr>
1292<tr class="separator:adb969f0e554bf563f2fa671399d59280"><td class="memSeparator" colspan="2">&#160;</td></tr>
1293<tr class="memitem:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf4063963bf3a4b07a5d0cc840da9ee2">ICLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> &gt;</td></tr>
1294<tr class="separator:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
1295<tr class="memitem:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4cc908807b0a45ccc6ce7ba340ae2259">ICLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &gt;</td></tr>
1296<tr class="separator:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memSeparator" colspan="2">&#160;</td></tr>
1297<tr class="memitem:a68396eee600b3d23bf7f95a802e65dff"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a68396eee600b3d23bf7f95a802e65dff">ICLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &gt;</td></tr>
1298<tr class="separator:a68396eee600b3d23bf7f95a802e65dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
1299<tr class="memitem:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a72251c7a73b3c057ffca9f32ee3e19ea">ICLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_uchar &gt;</td></tr>
1300<tr class="separator:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
1301<tr class="memitem:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aed5c7222c31a34327f00de37d8c4f4fc">ICLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_ushort &gt;</td></tr>
1302<tr class="separator:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
1303<tr class="memitem:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6b5f839e8d27c6351e8d58812dd46c97">ICLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_uint &gt;</td></tr>
1304<tr class="separator:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
1305<tr class="memitem:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a67328fa21e30aecd0c27d6d2e63a2b9c">ICLInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_short &gt;</td></tr>
1306<tr class="separator:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1307<tr class="memitem:ab95380ecf1c0253f6c785c0f59194066"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab95380ecf1c0253f6c785c0f59194066">ICLInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_int &gt;</td></tr>
1308<tr class="separator:ab95380ecf1c0253f6c785c0f59194066"><td class="memSeparator" colspan="2">&#160;</td></tr>
1309<tr class="memitem:a631bac7c033a0d341c631870f9755217"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a631bac7c033a0d341c631870f9755217">ICLFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; cl_float &gt;</td></tr>
1310<tr class="separator:a631bac7c033a0d341c631870f9755217"><td class="memSeparator" colspan="2">&#160;</td></tr>
1311<tr class="memitem:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a> = <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a></td></tr>
1312<tr class="separator:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
1313<tr class="memitem:a4751499f1c526c7285e7e946c2e84541"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4751499f1c526c7285e7e946c2e84541">CLConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt; 3 &gt;</td></tr>
1314<tr class="memdesc:a4751499f1c526c7285e7e946c2e84541"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 3x3 convolution to a tensor. <a href="#a4751499f1c526c7285e7e946c2e84541">More...</a><br /></td></tr>
1315<tr class="separator:a4751499f1c526c7285e7e946c2e84541"><td class="memSeparator" colspan="2">&#160;</td></tr>
1316<tr class="memitem:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac4cfbdf439d7bf5d420546298bd5ca0d">CLConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt; 5 &gt;</td></tr>
1317<tr class="memdesc:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 5x5 convolution to a tensor. <a href="#ac4cfbdf439d7bf5d420546298bd5ca0d">More...</a><br /></td></tr>
1318<tr class="separator:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1319<tr class="memitem:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99a54c937a254c96cd1a29a96ffa7dcf">CLConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt; 7 &gt;</td></tr>
1320<tr class="memdesc:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 7x7 convolution to a tensor. <a href="#a99a54c937a254c96cd1a29a96ffa7dcf">More...</a><br /></td></tr>
1321<tr class="separator:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
1322<tr class="memitem:a908439cd5cf8253865d5c70a413fd607"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a908439cd5cf8253865d5c70a413fd607">CLConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt; 9 &gt;</td></tr>
1323<tr class="memdesc:a908439cd5cf8253865d5c70a413fd607"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 9x9 convolution to a tensor. <a href="#a908439cd5cf8253865d5c70a413fd607">More...</a><br /></td></tr>
1324<tr class="separator:a908439cd5cf8253865d5c70a413fd607"><td class="memSeparator" colspan="2">&#160;</td></tr>
1325<tr class="memitem:ac72d613f7270604dbcad2553c278b16c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac72d613f7270604dbcad2553c278b16c">CLSeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt; 5 &gt;</td></tr>
1326<tr class="memdesc:ac72d613f7270604dbcad2553c278b16c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. <a href="#ac72d613f7270604dbcad2553c278b16c">More...</a><br /></td></tr>
1327<tr class="separator:ac72d613f7270604dbcad2553c278b16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1328<tr class="memitem:aab26624bf4b326f8145b2909a5042004"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab26624bf4b326f8145b2909a5042004">CLSeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt; 7 &gt;</td></tr>
1329<tr class="memdesc:aab26624bf4b326f8145b2909a5042004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. <a href="#aab26624bf4b326f8145b2909a5042004">More...</a><br /></td></tr>
1330<tr class="separator:aab26624bf4b326f8145b2909a5042004"><td class="memSeparator" colspan="2">&#160;</td></tr>
1331<tr class="memitem:a9f34ccad344bc43d25e8be2b828853aa"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f34ccad344bc43d25e8be2b828853aa">CLSeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt; 9 &gt;</td></tr>
1332<tr class="memdesc:a9f34ccad344bc43d25e8be2b828853aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. <a href="#a9f34ccad344bc43d25e8be2b828853aa">More...</a><br /></td></tr>
1333<tr class="separator:a9f34ccad344bc43d25e8be2b828853aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
1334<tr class="memitem:ac7295b0d8d71be75033238ad7fbba38c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac7295b0d8d71be75033238ad7fbba38c">CLSeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt; 5 &gt;</td></tr>
1335<tr class="memdesc:ac7295b0d8d71be75033238ad7fbba38c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. <a href="#ac7295b0d8d71be75033238ad7fbba38c">More...</a><br /></td></tr>
1336<tr class="separator:ac7295b0d8d71be75033238ad7fbba38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1337<tr class="memitem:a0ffdf01e236016ce8d366a69875d1375"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0ffdf01e236016ce8d366a69875d1375">CLSeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt; 7 &gt;</td></tr>
1338<tr class="memdesc:a0ffdf01e236016ce8d366a69875d1375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. <a href="#a0ffdf01e236016ce8d366a69875d1375">More...</a><br /></td></tr>
1339<tr class="separator:a0ffdf01e236016ce8d366a69875d1375"><td class="memSeparator" colspan="2">&#160;</td></tr>
1340<tr class="memitem:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6d08e1e881bf611c1e1b9e2bb8810d19">CLSeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt; 9 &gt;</td></tr>
1341<tr class="memdesc:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. <a href="#a6d08e1e881bf611c1e1b9e2bb8810d19">More...</a><br /></td></tr>
1342<tr class="separator:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
1343<tr class="memitem:a569a32a7a853d4708fd4f4840c88a157"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a569a32a7a853d4708fd4f4840c88a157">ICLLKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a> &gt;</td></tr>
1344<tr class="separator:a569a32a7a853d4708fd4f4840c88a157"><td class="memSeparator" colspan="2">&#160;</td></tr>
1345<tr class="memitem:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a05d88c40a53babe38cb2cb5841c4a0ad">ICLCoefficientTableArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a> &gt;</td></tr>
1346<tr class="separator:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
1347<tr class="memitem:a0339a19c93dde6754834a7d4ec7dab73"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0339a19c93dde6754834a7d4ec7dab73">ICLOldValArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a> &gt;</td></tr>
1348<tr class="separator:a0339a19c93dde6754834a7d4ec7dab73"><td class="memSeparator" colspan="2">&#160;</td></tr>
1349<tr class="memitem:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> = <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
1350<tr class="separator:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memSeparator" colspan="2">&#160;</td></tr>
1351<tr class="memitem:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab56a557a5fdf97819f23c35c24f0b0d2">IKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &gt;</td></tr>
1352<tr class="separator:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
1353<tr class="memitem:aac9efd49d3bbbd53779713e5fb37de62"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aac9efd49d3bbbd53779713e5fb37de62">ICoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> &gt;</td></tr>
1354<tr class="separator:aac9efd49d3bbbd53779713e5fb37de62"><td class="memSeparator" colspan="2">&#160;</td></tr>
1355<tr class="memitem:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a52b3b9de6092ae37321159c4c2f1bf40">IDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &gt;</td></tr>
1356<tr class="separator:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memSeparator" colspan="2">&#160;</td></tr>
1357<tr class="memitem:a32e4b9083329486a06960006af89a84c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a32e4b9083329486a06960006af89a84c">ISize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &gt;</td></tr>
1358<tr class="separator:a32e4b9083329486a06960006af89a84c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1359<tr class="memitem:a276401fd5651e75431d3e1cc90601caa"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a276401fd5651e75431d3e1cc90601caa">IUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; uint8_t &gt;</td></tr>
1360<tr class="separator:a276401fd5651e75431d3e1cc90601caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
1361<tr class="memitem:a1ffe8af91a934c926d102938db8d3ce1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ffe8af91a934c926d102938db8d3ce1">IUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; uint16_t &gt;</td></tr>
1362<tr class="separator:a1ffe8af91a934c926d102938db8d3ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
1363<tr class="memitem:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac9b2a6fa6e146437bfc8c0bee96e4760">IUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; uint32_t &gt;</td></tr>
1364<tr class="separator:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memSeparator" colspan="2">&#160;</td></tr>
1365<tr class="memitem:a1dd5e04cea002eae658fa2a899848ad7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1dd5e04cea002eae658fa2a899848ad7">IInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; int16_t &gt;</td></tr>
1366<tr class="separator:a1dd5e04cea002eae658fa2a899848ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1367<tr class="memitem:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51fdf34dfc5c60b6f4f455f0a9cac457">IInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; int32_t &gt;</td></tr>
1368<tr class="separator:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memSeparator" colspan="2">&#160;</td></tr>
1369<tr class="memitem:a8a82a1928159e86b0778c3c14e8842be"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a82a1928159e86b0778c3c14e8842be">IFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; float &gt;</td></tr>
1370<tr class="separator:a8a82a1928159e86b0778c3c14e8842be"><td class="memSeparator" colspan="2">&#160;</td></tr>
1371<tr class="memitem:a9f3ed96e009111cfbe53d3f77c712390"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f3ed96e009111cfbe53d3f77c712390">INEKernel</a> = <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
1372<tr class="separator:a9f3ed96e009111cfbe53d3f77c712390"><td class="memSeparator" colspan="2">&#160;</td></tr>
1373<tr class="memitem:a4aad0c49ce3d7cf4693830398f190250"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4aad0c49ce3d7cf4693830398f190250">INESimpleKernel</a> = <a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
1374<tr class="separator:a4aad0c49ce3d7cf4693830398f190250"><td class="memSeparator" colspan="2">&#160;</td></tr>
1375<tr class="memitem:acf81639b3d33b5da654ef088e4d10520"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf81639b3d33b5da654ef088e4d10520">NEConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt; 3 &gt;</td></tr>
1376<tr class="memdesc:acf81639b3d33b5da654ef088e4d10520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 3x3 convolution to a tensor. <a href="#acf81639b3d33b5da654ef088e4d10520">More...</a><br /></td></tr>
1377<tr class="separator:acf81639b3d33b5da654ef088e4d10520"><td class="memSeparator" colspan="2">&#160;</td></tr>
1378<tr class="memitem:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21898b2d2e31ab9af8933c66ff82c8c6">NEConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt; 5 &gt;</td></tr>
1379<tr class="memdesc:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 5x5 convolution to a tensor. <a href="#a21898b2d2e31ab9af8933c66ff82c8c6">More...</a><br /></td></tr>
1380<tr class="separator:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1381<tr class="memitem:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae46cbbe03d31c6c8e7eba7b58999842d">NEConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt; 7 &gt;</td></tr>
1382<tr class="memdesc:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 7x7 convolution to a tensor. <a href="#ae46cbbe03d31c6c8e7eba7b58999842d">More...</a><br /></td></tr>
1383<tr class="separator:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1384<tr class="memitem:a1025306f820a9e76df7e5891caacff7b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1025306f820a9e76df7e5891caacff7b">NEConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt; 9 &gt;</td></tr>
1385<tr class="memdesc:a1025306f820a9e76df7e5891caacff7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 9x9 convolution to a tensor. <a href="#a1025306f820a9e76df7e5891caacff7b">More...</a><br /></td></tr>
1386<tr class="separator:a1025306f820a9e76df7e5891caacff7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
1387<tr class="memitem:ac78a7593874c21cff86478c1ba6df27b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac78a7593874c21cff86478c1ba6df27b">NESeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt; 5 &gt;</td></tr>
1388<tr class="memdesc:ac78a7593874c21cff86478c1ba6df27b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. <a href="#ac78a7593874c21cff86478c1ba6df27b">More...</a><br /></td></tr>
1389<tr class="separator:ac78a7593874c21cff86478c1ba6df27b"><td class="memSeparator" colspan="2">&#160;</td></tr>
1390<tr class="memitem:aca4adbcd292c26b0e392c59875c1e926"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca4adbcd292c26b0e392c59875c1e926">NESeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt; 7 &gt;</td></tr>
1391<tr class="memdesc:aca4adbcd292c26b0e392c59875c1e926"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. <a href="#aca4adbcd292c26b0e392c59875c1e926">More...</a><br /></td></tr>
1392<tr class="separator:aca4adbcd292c26b0e392c59875c1e926"><td class="memSeparator" colspan="2">&#160;</td></tr>
1393<tr class="memitem:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ba5f6b7cd6b70b75e42149f3bc08f38">NESeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt; 9 &gt;</td></tr>
1394<tr class="memdesc:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. <a href="#a4ba5f6b7cd6b70b75e42149f3bc08f38">More...</a><br /></td></tr>
1395<tr class="separator:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
1396<tr class="memitem:ae4152320657df499674ed64b16c28a7b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae4152320657df499674ed64b16c28a7b">NESeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt; 5 &gt;</td></tr>
1397<tr class="memdesc:ae4152320657df499674ed64b16c28a7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 1x5 vertical convolution to a tensor. <a href="#ae4152320657df499674ed64b16c28a7b">More...</a><br /></td></tr>
1398<tr class="separator:ae4152320657df499674ed64b16c28a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
1399<tr class="memitem:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0f952bd0821b506e18514a3f4dbc6c39">NESeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt; 7 &gt;</td></tr>
1400<tr class="memdesc:a0f952bd0821b506e18514a3f4dbc6c39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 1x7 vertical convolution to a tensor. <a href="#a0f952bd0821b506e18514a3f4dbc6c39">More...</a><br /></td></tr>
1401<tr class="separator:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
1402<tr class="memitem:a6310d21f215fface41df4cde725a62b9"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6310d21f215fface41df4cde725a62b9">NESeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt; 9 &gt;</td></tr>
1403<tr class="memdesc:a6310d21f215fface41df4cde725a62b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 1x9 vertical convolution to a tensor. <a href="#a6310d21f215fface41df4cde725a62b9">More...</a><br /></td></tr>
1404<tr class="separator:a6310d21f215fface41df4cde725a62b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
1405<tr class="memitem:a19699533eb1b662e46a10715f6086487"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19699533eb1b662e46a10715f6086487">INELKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> &gt;</td></tr>
1406<tr class="separator:a19699533eb1b662e46a10715f6086487"><td class="memSeparator" colspan="2">&#160;</td></tr>
1407<tr class="memitem:a4467b302fc9ec312c40580336ab783da"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> = <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td></tr>
1408<tr class="separator:a4467b302fc9ec312c40580336ab783da"><td class="memSeparator" colspan="2">&#160;</td></tr>
1409<tr class="memitem:a2ab89a5d0959531aac270879cdd3ed78"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple&lt; float, float, float &gt;</td></tr>
1410<tr class="separator:a2ab89a5d0959531aac270879cdd3ed78"><td class="memSeparator" colspan="2">&#160;</td></tr>
1411<tr class="memitem:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8856eca9a83e16bb0cb5880e9c6c9fe7">KeyPointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &gt;</td></tr>
1412<tr class="separator:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1413<tr class="memitem:a327abccf7b43aa32d6a24319b986f3ab"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a327abccf7b43aa32d6a24319b986f3ab">Coordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> &gt;</td></tr>
1414<tr class="separator:a327abccf7b43aa32d6a24319b986f3ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
1415<tr class="memitem:a5fe01ab895629edd84a511b56657d79e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5fe01ab895629edd84a511b56657d79e">DetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &gt;</td></tr>
1416<tr class="separator:a5fe01ab895629edd84a511b56657d79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
1417<tr class="memitem:abd445adaaca7913c9344c90dc8c76358"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd445adaaca7913c9344c90dc8c76358">Size2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &gt;</td></tr>
1418<tr class="separator:abd445adaaca7913c9344c90dc8c76358"><td class="memSeparator" colspan="2">&#160;</td></tr>
1419<tr class="memitem:a9dbb5e00a3f397691eb782f03f65375c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9dbb5e00a3f397691eb782f03f65375c">UInt8Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; uint8_t &gt;</td></tr>
1420<tr class="separator:a9dbb5e00a3f397691eb782f03f65375c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1421<tr class="memitem:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab91cb2269b2e58ed2cb6bd2ca831d434">UInt16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; uint16_t &gt;</td></tr>
1422<tr class="separator:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memSeparator" colspan="2">&#160;</td></tr>
1423<tr class="memitem:acd6eb2619ccd5eee4963de3195785359"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acd6eb2619ccd5eee4963de3195785359">UInt32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; uint32_t &gt;</td></tr>
1424<tr class="separator:acd6eb2619ccd5eee4963de3195785359"><td class="memSeparator" colspan="2">&#160;</td></tr>
1425<tr class="memitem:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a69c19b38cbee8fa6680513f6ff76bbb3">Int16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; int16_t &gt;</td></tr>
1426<tr class="separator:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
1427<tr class="memitem:a6af9862834629c287a81b16837b51e44"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6af9862834629c287a81b16837b51e44">Int32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; int32_t &gt;</td></tr>
1428<tr class="separator:a6af9862834629c287a81b16837b51e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
1429<tr class="memitem:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6e06029aa1b68c0cdeb80656cc9353fe">FloatArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; float &gt;</td></tr>
1430<tr class="separator:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
1431<tr class="memitem:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55e1c5ed17b7ee3762198a38eb50650a">CLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &gt;</td></tr>
1432<tr class="separator:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1433<tr class="memitem:a0fd5f0310a26faad00b905bac3792726"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0fd5f0310a26faad00b905bac3792726">CLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> &gt;</td></tr>
1434<tr class="separator:a0fd5f0310a26faad00b905bac3792726"><td class="memSeparator" colspan="2">&#160;</td></tr>
1435<tr class="memitem:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab8d2c7efb7643ce8f9e5446dbe1da0b4">CLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &gt;</td></tr>
1436<tr class="separator:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
1437<tr class="memitem:a3f9ab729931f4e4fa36ff1683186d988"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3f9ab729931f4e4fa36ff1683186d988">CLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &gt;</td></tr>
1438<tr class="separator:a3f9ab729931f4e4fa36ff1683186d988"><td class="memSeparator" colspan="2">&#160;</td></tr>
1439<tr class="memitem:aa031694bb03711e09e25546ad2b643cc"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa031694bb03711e09e25546ad2b643cc">CLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_uchar &gt;</td></tr>
1440<tr class="separator:aa031694bb03711e09e25546ad2b643cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
1441<tr class="memitem:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b4c4a79c73a3f85ba89aff03fddefa7">CLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_ushort &gt;</td></tr>
1442<tr class="separator:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1443<tr class="memitem:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1d7d89b7e990055dc95ed37dfb24da48">CLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_uint &gt;</td></tr>
1444<tr class="separator:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memSeparator" colspan="2">&#160;</td></tr>
1445<tr class="memitem:a5fb8cb339705102066c915d18f0701ac"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5fb8cb339705102066c915d18f0701ac">CLInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_short &gt;</td></tr>
1446<tr class="separator:a5fb8cb339705102066c915d18f0701ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
1447<tr class="memitem:a8a401a071524761c661a75969c951cf5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a401a071524761c661a75969c951cf5">CLInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_int &gt;</td></tr>
1448<tr class="separator:a8a401a071524761c661a75969c951cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1449<tr class="memitem:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a193a4859b365f3ef4e0d73a1e6b12c85">CLFloatArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; cl_float &gt;</td></tr>
1450<tr class="separator:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
1451<tr class="memitem:aae712f442eae2d56d17529ca6cb9cb77"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aae712f442eae2d56d17529ca6cb9cb77">CLImage</a> = <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
1452<tr class="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2">&#160;</td></tr>
1453<tr class="memitem:a843447b81f09d837e90d44e6e6bd236d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a843447b81f09d837e90d44e6e6bd236d">CLConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt; 5 &gt;</td></tr>
1454<tr class="memdesc:a843447b81f09d837e90d44e6e6bd236d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#a843447b81f09d837e90d44e6e6bd236d">More...</a><br /></td></tr>
1455<tr class="separator:a843447b81f09d837e90d44e6e6bd236d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1456<tr class="memitem:a1992a8362b7074e709394a5219d16e62"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1992a8362b7074e709394a5219d16e62">CLConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt; 7 &gt;</td></tr>
1457<tr class="memdesc:a1992a8362b7074e709394a5219d16e62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#a1992a8362b7074e709394a5219d16e62">More...</a><br /></td></tr>
1458<tr class="separator:a1992a8362b7074e709394a5219d16e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
1459<tr class="memitem:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a587dee5d7f05d5e9c3b8704ae8927101">CLConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt; 9 &gt;</td></tr>
1460<tr class="memdesc:a587dee5d7f05d5e9c3b8704ae8927101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#a587dee5d7f05d5e9c3b8704ae8927101">More...</a><br /></td></tr>
1461<tr class="separator:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memSeparator" colspan="2">&#160;</td></tr>
1462<tr class="memitem:af87af588094f04e537df98eaf0426cb6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af87af588094f04e537df98eaf0426cb6">ICLTensor</a> = <a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a></td></tr>
1463<tr class="separator:af87af588094f04e537df98eaf0426cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1464<tr class="memitem:a70997613219641045213b0c12948fb74"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70997613219641045213b0c12948fb74">CLLKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a> &gt;</td></tr>
1465<tr class="separator:a70997613219641045213b0c12948fb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
1466<tr class="memitem:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afcef84cf3b7d147b2b6ab0bd884afc16">CLCoefficientTableArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a> &gt;</td></tr>
1467<tr class="separator:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
1468<tr class="memitem:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ec6965f606c588137f7a48d84c1d6f0">CLOldValueArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a> &gt;</td></tr>
1469<tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001470<tr class="memitem:adbc7771d367ba8f51da1450d3602e5c0"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adbc7771d367ba8f51da1450d3602e5c0">NEConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>&lt; 5 &gt;</td></tr>
1471<tr class="memdesc:adbc7771d367ba8f51da1450d3602e5c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#adbc7771d367ba8f51da1450d3602e5c0">More...</a><br /></td></tr>
1472<tr class="separator:adbc7771d367ba8f51da1450d3602e5c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
1473<tr class="memitem:aeb2682fbeb2766df26b4be1971c9757d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeb2682fbeb2766df26b4be1971c9757d">NEConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>&lt; 7 &gt;</td></tr>
1474<tr class="memdesc:aeb2682fbeb2766df26b4be1971c9757d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#aeb2682fbeb2766df26b4be1971c9757d">More...</a><br /></td></tr>
1475<tr class="separator:aeb2682fbeb2766df26b4be1971c9757d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1476<tr class="memitem:ae5a088552f26a1afafd0cbf821d256fb"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae5a088552f26a1afafd0cbf821d256fb">NEConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>&lt; 9 &gt;</td></tr>
1477<tr class="memdesc:ae5a088552f26a1afafd0cbf821d256fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#ae5a088552f26a1afafd0cbf821d256fb">More...</a><br /></td></tr>
1478<tr class="separator:ae5a088552f26a1afafd0cbf821d256fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001479<tr class="memitem:a681c120e2188371794ec3a59768c64ab"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a681c120e2188371794ec3a59768c64ab">LKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> &gt;</td></tr>
1480<tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
1481<tr class="memitem:a9d037379f22f90d871d3fa4ad337437a"><td class="memItemLeft" align="right" valign="top">using&#160;</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>
1482<tr class="separator:a9d037379f22f90d871d3fa4ad337437a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1483<tr class="memitem:a7fb6a368d181ef193475f725c713430a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7fb6a368d181ef193475f725c713430a">Image</a> = <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td></tr>
1484<tr class="separator:a7fb6a368d181ef193475f725c713430a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1485</table><table class="memberdecls">
1486<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
1487Enumerations</h2></td></tr>
1488<tr class="memitem:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> { <br />
1489&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1490<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
1491<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,
1492<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
1493<br />
1494&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
1495<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
1496<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
1497<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
1498<br />
1499&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>,
1500<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>,
1501<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>,
1502<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>,
1503<br />
1504&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>,
1505<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>,
1506<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>,
1507<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>,
1508<br />
1509&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>
1510<br />
1511 }<tr class="memdesc:ab4e88c89b3b7ea1735996cc4def22d58"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. <a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">More...</a><br /></td></tr>
1512</td></tr>
1513<tr class="separator:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
1514<tr class="memitem:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> { <br />
1515&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1516<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
1517<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,
1518<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
1519<br />
1520&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
1521<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
1522<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
1523<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,
1524<br />
1525&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
1526<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
1527<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
1528<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
1529<br />
1530&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
1531<br />
1532 }<tr class="memdesc:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available data types. <a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">More...</a><br /></td></tr>
1533</td></tr>
1534<tr class="separator:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1535<tr class="memitem:a15a05537a472ee742404821851529327"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> { <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>,
1536<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,
1537<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>
1538 }<tr class="memdesc:a15a05537a472ee742404821851529327"><td class="mdescLeft">&#160;</td><td class="mdescRight">Methods available to handle borders. <a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">More...</a><br /></td></tr>
1539</td></tr>
1540<tr class="separator:a15a05537a472ee742404821851529327"><td class="memSeparator" colspan="2">&#160;</td></tr>
1541<tr class="memitem:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>,
1542<a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>
1543 }<tr class="memdesc:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Policy to handle overflow. <a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">More...</a><br /></td></tr>
1544</td></tr>
1545<tr class="separator:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
1546<tr class="memitem:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>,
1547<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,
1548<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>
1549 }<tr class="memdesc:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolation method. <a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">More...</a><br /></td></tr>
1550</td></tr>
1551<tr class="separator:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
1552<tr class="memitem:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a> { <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,
1553<a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>
1554 }<tr class="memdesc:a2d8a00f1d80a53ce8f75fa929c873202"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bilinear Interpolation method used by LKTracker. <a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">More...</a><br /></td></tr>
1555</td></tr>
1556<tr class="separator:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memSeparator" colspan="2">&#160;</td></tr>
1557<tr class="memitem:a3e6b23e675649b83240691abbc42a649"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a> { <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>,
1558<a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>
1559 }<tr class="memdesc:a3e6b23e675649b83240691abbc42a649"><td class="mdescLeft">&#160;</td><td class="mdescRight">Threshold mode. <a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">More...</a><br /></td></tr>
1560</td></tr>
1561<tr class="separator:a3e6b23e675649b83240691abbc42a649"><td class="memSeparator" colspan="2">&#160;</td></tr>
1562<tr class="memitem:add6426cbf2e057a195846d4ba09a50be"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>,
1563<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>
1564 }<tr class="memdesc:add6426cbf2e057a195846d4ba09a50be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rounding method. <a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">More...</a><br /></td></tr>
1565</td></tr>
1566<tr class="separator:add6426cbf2e057a195846d4ba09a50be"><td class="memSeparator" colspan="2">&#160;</td></tr>
1567<tr class="memitem:a08c1503414e23f5dd10ff83492685453"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> { <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,
1568<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,
1569<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>
1570 }<tr class="memdesc:a08c1503414e23f5dd10ff83492685453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Termination criteria. <a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">More...</a><br /></td></tr>
1571</td></tr>
1572<tr class="separator:a08c1503414e23f5dd10ff83492685453"><td class="memSeparator" colspan="2">&#160;</td></tr>
1573<tr class="memitem:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a> { <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>,
1574<a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>
1575 }<tr class="memdesc:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Magnitude calculation type. <a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">More...</a><br /></td></tr>
1576</td></tr>
1577<tr class="separator:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1578<tr class="memitem:af00a42ecad444bbda75cde1b64bd7e72"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a> { <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>,
1579<a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>
1580 }<tr class="memdesc:af00a42ecad444bbda75cde1b64bd7e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Phase calculation type. <a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">More...</a><br /></td></tr>
1581</td></tr>
1582<tr class="separator:af00a42ecad444bbda75cde1b64bd7e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
1583<tr class="memitem:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> { <br />
1584&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
1585<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,
1586<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,
1587<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,
1588<br />
1589&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,
1590<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,
1591<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,
1592<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,
1593<br />
1594&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,
1595<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,
1596<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,
1597<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>
1598<br />
1599 }<tr class="memdesc:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available channels. <a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">More...</a><br /></td></tr>
1600</td></tr>
1601<tr class="separator:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1602<tr class="memitem:afdda916edc7502967bbec17ea3c06c02"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> { <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>,
1603<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>,
1604<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,
1605<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>
1606 }<tr class="memdesc:afdda916edc7502967bbec17ea3c06c02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available matrix patterns. <a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">More...</a><br /></td></tr>
1607</td></tr>
1608<tr class="separator:afdda916edc7502967bbec17ea3c06c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
1609<tr class="memitem:adf2ced65e536375a1c96425d9fced858"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned { <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0,
1610<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1,
1611<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2
1612 }<tr class="memdesc:adf2ced65e536375a1c96425d9fced858"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available non linear functions. <a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">More...</a><br /></td></tr>
1613</td></tr>
1614<tr class="separator:adf2ced65e536375a1c96425d9fced858"><td class="memSeparator" colspan="2">&#160;</td></tr>
1615<tr class="memitem:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> { <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2">IN_MAP</a>,
1616<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>
1617 }<tr class="memdesc:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The normalization type used for the normalization layer. <a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">More...</a><br /></td></tr>
1618</td></tr>
1619<tr class="separator:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
1620<tr class="memitem:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> { <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>,
1621<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>,
1622<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>,
1623<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52">L1SQRT_NORM</a>
1624 }<tr class="memdesc:a673665b4587a2956fcbad5f0e9ba89d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalization type for Histogram of Oriented Gradients (HOG) <a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">More...</a><br /></td></tr>
1625</td></tr>
1626<tr class="separator:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
1627<tr class="memitem:a1fece1bd804e64f39f602d1c3969849a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a> { <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>,
1628<a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>
1629 }<tr class="memdesc:a1fece1bd804e64f39f602d1c3969849a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dimension rounding type when down-scaling on CNNs. <a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">More...</a><br /></td></tr>
1630</td></tr>
1631<tr class="separator:a1fece1bd804e64f39f602d1c3969849a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1632<tr class="memitem:a9172da722f0a434e5cc07c0a3c115d93"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> { <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5">MAX</a>,
1633<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>
1634 }<tr class="memdesc:a9172da722f0a434e5cc07c0a3c115d93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available pooling types. <a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">More...</a><br /></td></tr>
1635</td></tr>
1636<tr class="separator:a9172da722f0a434e5cc07c0a3c115d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
1637</table><table class="memberdecls">
1638<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
1639Functions</h2></td></tr>
1640<tr class="memitem:ab04905b0c6c0e4091160561eae870101"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab04905b0c6c0e4091160561eae870101">get_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
1641<tr class="memdesc:ab04905b0c6c0e4091160561eae870101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="#ab04905b0c6c0e4091160561eae870101">More...</a><br /></td></tr>
1642<tr class="separator:ab04905b0c6c0e4091160561eae870101"><td class="memSeparator" colspan="2">&#160;</td></tr>
1643<tr class="memitem:a22af22ebac966b76e8553127064201a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22af22ebac966b76e8553127064201a2">enqueue</a> (cl::CommandQueue &amp;queue, <a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &amp;kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const cl::NDRange &amp;lws_hint=cl::Range_128_1)</td></tr>
1644<tr class="memdesc:a22af22ebac966b76e8553127064201a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a22af22ebac966b76e8553127064201a2">More...</a><br /></td></tr>
1645<tr class="separator:a22af22ebac966b76e8553127064201a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001646<tr class="memitem:aa4f4d7a58287017588fc338965873f14"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa4f4d7a58287017588fc338965873f14">opencl_is_available</a> ()</td></tr>
1647<tr class="separator:aa4f4d7a58287017588fc338965873f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001648<tr class="memitem:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a568b0fbfa3d903099d9c9f7b6acf188d">error</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
1649<tr class="memdesc:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a568b0fbfa3d903099d9c9f7b6acf188d">More...</a><br /></td></tr>
1650<tr class="separator:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1651<tr class="memitem:a78fd1c0056e9add7ab01b8e118c0038d"><td class="memTemplParams" colspan="2">template&lt;typename L , typename... Ts&gt; </td></tr>
1652<tr class="memitem:a78fd1c0056e9add7ab01b8e118c0038d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</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> &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</td></tr>
1653<tr class="memdesc:a78fd1c0056e9add7ab01b8e118c0038d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. <a href="#a78fd1c0056e9add7ab01b8e118c0038d">More...</a><br /></td></tr>
1654<tr class="separator:a78fd1c0056e9add7ab01b8e118c0038d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1655<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
1656<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac2a92cae51d2734a65676052adb33c22">update_window_and_padding</a> (<a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win, Ts &amp;&amp;...patterns)</td></tr>
1657<tr class="memdesc:ac2a92cae51d2734a65676052adb33c22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update window and padding size for each of the access patterns. <a href="#ac2a92cae51d2734a65676052adb33c22">More...</a><br /></td></tr>
1658<tr class="separator:ac2a92cae51d2734a65676052adb33c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
1659<tr class="memitem:aa8063930734453501dbe41f60c5a89d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8063930734453501dbe41f60c5a89d9">calculate_max_window</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
1660<tr class="memdesc:aa8063930734453501dbe41f60c5a89d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#aa8063930734453501dbe41f60c5a89d9">More...</a><br /></td></tr>
1661<tr class="separator:aa8063930734453501dbe41f60c5a89d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
1662<tr class="memitem:a0451630695335182319ee53d785d0715"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0451630695335182319ee53d785d0715">calculate_max_window_horizontal</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
1663<tr class="memdesc:a0451630695335182319ee53d785d0715"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. <a href="#a0451630695335182319ee53d785d0715">More...</a><br /></td></tr>
1664<tr class="separator:a0451630695335182319ee53d785d0715"><td class="memSeparator" colspan="2">&#160;</td></tr>
1665<tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
1666<tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3bb1b3d01f14dbc0beb1e826eefeddc6">intersect_valid_regions</a> (Ts &amp;&amp;...regions)</td></tr>
1667<tr class="memdesc:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intersect multiple valid regions. <a href="#a3bb1b3d01f14dbc0beb1e826eefeddc6">More...</a><br /></td></tr>
1668<tr class="separator:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1669<tr class="memitem:aedfc72aa9d25b8918734bd374421ee32"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
1670<tr class="memitem:aedfc72aa9d25b8918734bd374421ee32"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aedfc72aa9d25b8918734bd374421ee32">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;info, T stride_x, Ts &amp;&amp;...fixed_strides)</td></tr>
1671<tr class="memdesc:aedfc72aa9d25b8918734bd374421ee32"><td class="mdescLeft">&#160;</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>
1672<tr class="separator:aedfc72aa9d25b8918734bd374421ee32"><td class="memSeparator" colspan="2">&#160;</td></tr>
1673<tr class="memitem:a99bbb937f89cde6dfe346f566d41c707"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
1674<tr class="memitem:a99bbb937f89cde6dfe346f566d41c707"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99bbb937f89cde6dfe346f566d41c707">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;info)</td></tr>
1675<tr class="memdesc:a99bbb937f89cde6dfe346f566d41c707"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a strides object based on the tensor dimensions. <a href="#a99bbb937f89cde6dfe346f566d41c707">More...</a><br /></td></tr>
1676<tr class="separator:a99bbb937f89cde6dfe346f566d41c707"><td class="memSeparator" colspan="2">&#160;</td></tr>
1677<tr class="memitem:a41c1523098580451b378f76b8c37a0f0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41c1523098580451b378f76b8c37a0f0">adjust_down</a> (int required, int available, int step)</td></tr>
1678<tr class="memdesc:a41c1523098580451b378f76b8c37a0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. <a href="#a41c1523098580451b378f76b8c37a0f0">More...</a><br /></td></tr>
1679<tr class="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
1680<tr class="memitem:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2">adjust_up</a> (int required, int available, int step)</td></tr>
1681<tr class="memdesc:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. <a href="#ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2">More...</a><br /></td></tr>
1682<tr class="separator:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
1683<tr class="memitem:a93cc303c8ae098d264f07d37890412de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a93cc303c8ae098d264f07d37890412de">colorconvert_rgb_to_rgbx</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1684<tr class="separator:a93cc303c8ae098d264f07d37890412de"><td class="memSeparator" colspan="2">&#160;</td></tr>
1685<tr class="memitem:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf7451c0d0f8a4b1cfbb60d7531a43aa">colorconvert_rgbx_to_rgb</a> (const void *input, void *output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1686<tr class="separator:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
1687<tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplParams" colspan="2">template&lt;bool yuyv, bool alpha&gt; </td></tr>
1688<tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c22c0d3494660b72b4fc04fec76f92d">colorconvert_yuyv_to_rgb</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1689<tr class="separator:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1690<tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplParams" colspan="2">template&lt;bool uv, bool alpha&gt; </td></tr>
1691<tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae6a44e412bccc0705a720708b0692218">colorconvert_nv12_to_rgb</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1692<tr class="separator:ae6a44e412bccc0705a720708b0692218"><td class="memSeparator" colspan="2">&#160;</td></tr>
1693<tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
1694<tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6e42fac1baa264b033ac430b63ebd145">colorconvert_iyuv_to_rgb</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1695<tr class="separator:a6e42fac1baa264b033ac430b63ebd145"><td class="memSeparator" colspan="2">&#160;</td></tr>
1696<tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
1697<tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8ee13904a3f5ba84b28cb53d956021d7">colorconvert_yuyv_to_nv12</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1698<tr class="separator:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1699<tr class="memitem:af2be1325decaa34a8a1199af177148c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af2be1325decaa34a8a1199af177148c6">colorconvert_iyuv_to_nv12</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1700<tr class="separator:af2be1325decaa34a8a1199af177148c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1701<tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
1702<tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a199d36780fbb4a70168f290480673650">colorconvert_nv12_to_iyuv</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1703<tr class="separator:a199d36780fbb4a70168f290480673650"><td class="memSeparator" colspan="2">&#160;</td></tr>
1704<tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
1705<tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae43e8f0463c0289169025c3041688d36">colorconvert_yuyv_to_iyuv</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1706<tr class="separator:ae43e8f0463c0289169025c3041688d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
1707<tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
1708<tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a587a54c85dcc72838b8f4b5575ebafe4">colorconvert_nv12_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1709<tr class="separator:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
1710<tr class="memitem:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a08e9d88293a5cef787bb324c2dc0a6bf">colorconvert_iyuv_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1711<tr class="separator:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
1712<tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
1713<tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14fd899b732509e245976b9967b8931d">colorconvert_rgb_to_nv12</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1714<tr class="separator:a14fd899b732509e245976b9967b8931d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1715<tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
1716<tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a49b7a8e217ba7aad821fdeaab86bad53">colorconvert_rgb_to_iyuv</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1717<tr class="separator:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memSeparator" colspan="2">&#160;</td></tr>
1718<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
1719<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad304c0b0a72ed3f65c24fa69ab3cd53e">colorconvert_rgb_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1720<tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01001721<tr class="memitem:ab8970d7aed07d8649f5e3088455948b8"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab8970d7aed07d8649f5e3088455948b8">vinvsqrtq_f32</a> (float32x4_t x)</td></tr>
1722<tr class="memdesc:ab8970d7aed07d8649f5e3088455948b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#ab8970d7aed07d8649f5e3088455948b8">More...</a><br /></td></tr>
1723<tr class="separator:ab8970d7aed07d8649f5e3088455948b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
1724<tr class="memitem:ae1cdb8bbcb3f7ce5d3469f42f19d37a6"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae1cdb8bbcb3f7ce5d3469f42f19d37a6">vinvq_f32</a> (const float32x4_t &amp;x)</td></tr>
1725<tr class="memdesc:ae1cdb8bbcb3f7ce5d3469f42f19d37a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#ae1cdb8bbcb3f7ce5d3469f42f19d37a6">More...</a><br /></td></tr>
1726<tr class="separator:ae1cdb8bbcb3f7ce5d3469f42f19d37a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1727<tr class="memitem:ac91f64208cebf2177a6be3a40ecebca8"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">vtaylor_polyq_f32</a> (const float32x4_t &amp;x, const std::array&lt; float32x4_t, 8 &gt; &amp;coeffs)</td></tr>
1728<tr class="memdesc:ac91f64208cebf2177a6be3a40ecebca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 7th degree polynomial approximation using Estrin's method. <a href="#ac91f64208cebf2177a6be3a40ecebca8">More...</a><br /></td></tr>
1729<tr class="separator:ac91f64208cebf2177a6be3a40ecebca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
1730<tr class="memitem:aa197f574e5effe492aa8034651467eb3"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">vexpq_f32</a> (const float32x4_t &amp;x)</td></tr>
1731<tr class="memdesc:aa197f574e5effe492aa8034651467eb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate exponential. <a href="#aa197f574e5effe492aa8034651467eb3">More...</a><br /></td></tr>
1732<tr class="separator:aa197f574e5effe492aa8034651467eb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
1733<tr class="memitem:a4082e6868f902da08483e54ec07484c8"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4082e6868f902da08483e54ec07484c8">vlogq_f32</a> (const float32x4_t &amp;x)</td></tr>
1734<tr class="memdesc:a4082e6868f902da08483e54ec07484c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm. <a href="#a4082e6868f902da08483e54ec07484c8">More...</a><br /></td></tr>
1735<tr class="separator:a4082e6868f902da08483e54ec07484c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
1736<tr class="memitem:a9598330b2406691ce6580f7506e62168"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9598330b2406691ce6580f7506e62168">vtanhq_f32</a> (const float32x4_t &amp;val)</td></tr>
1737<tr class="memdesc:a9598330b2406691ce6580f7506e62168"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a9598330b2406691ce6580f7506e62168">More...</a><br /></td></tr>
1738<tr class="separator:a9598330b2406691ce6580f7506e62168"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001739<tr class="memitem:ae0dbcd09c015bda4ab290b957d7bd6c7"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae0dbcd09c015bda4ab290b957d7bd6c7">vpowq_f32</a> (const float32x4_t &amp;val, const float32x4_t &amp;n)</td></tr>
1740<tr class="memdesc:ae0dbcd09c015bda4ab290b957d7bd6c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate n power of a number. <a href="#ae0dbcd09c015bda4ab290b957d7bd6c7">More...</a><br /></td></tr>
1741<tr class="separator:ae0dbcd09c015bda4ab290b957d7bd6c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1742<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
1743<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf0c6059174045f80af46a0f1fb57bc6">ceil_to_multiple</a> (S value, T divisor) -&gt; decltype(((value+divisor-1)/divisor)*divisor)</td></tr>
1744<tr class="memdesc:adf0c6059174045f80af46a0f1fb57bc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the smallest number larger or equal to value that is a multiple of divisor. <a href="#adf0c6059174045f80af46a0f1fb57bc6">More...</a><br /></td></tr>
1745<tr class="separator:adf0c6059174045f80af46a0f1fb57bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
1746<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
1747<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6959e681668a37a9242d2aae4e8b4375">floor_to_multiple</a> (S value, T divisor) -&gt; decltype((value/divisor)*divisor)</td></tr>
1748<tr class="memdesc:a6959e681668a37a9242d2aae4e8b4375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the largest number smaller or equal to value that is a multiple of divisor. <a href="#a6959e681668a37a9242d2aae4e8b4375">More...</a><br /></td></tr>
1749<tr class="separator:a6959e681668a37a9242d2aae4e8b4375"><td class="memSeparator" colspan="2">&#160;</td></tr>
1750<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
1751<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplItemLeft" align="right" valign="top">constexpr auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">DIV_CEIL</a> (S val, T m) -&gt; decltype((val+m-1)/m)</td></tr>
1752<tr class="memdesc:a12705a88669cb9fb90451ebe0db53c41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the rounded up quotient of val / m. <a href="#a12705a88669cb9fb90451ebe0db53c41">More...</a><br /></td></tr>
1753<tr class="separator:a12705a88669cb9fb90451ebe0db53c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
1754<tr class="memitem:a64c17a5a42d2499a1626222ff9753b4d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information</a> ()</td></tr>
1755<tr class="memdesc:a64c17a5a42d2499a1626222ff9753b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information. <a href="#a64c17a5a42d2499a1626222ff9753b4d">More...</a><br /></td></tr>
1756<tr class="separator:a64c17a5a42d2499a1626222ff9753b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1757<tr class="memitem:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file</a> (const std::string &amp;filename, bool binary)</td></tr>
1758<tr class="memdesc:aefa4a4d3136d77b85cccfce344f9f37f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load an entire file in memory. <a href="#aefa4a4d3136d77b85cccfce344f9f37f">More...</a><br /></td></tr>
1759<tr class="separator:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
1760<tr class="memitem:ae350823b5c93227dc33f1105ece06d68"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
1761<tr class="memitem:ae350823b5c93227dc33f1105ece06d68"><td class="memTemplItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae350823b5c93227dc33f1105ece06d68">val_to_string</a> (T val)</td></tr>
1762<tr class="memdesc:ae350823b5c93227dc33f1105ece06d68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a value as a string. <a href="#ae350823b5c93227dc33f1105ece06d68">More...</a><br /></td></tr>
1763<tr class="separator:ae350823b5c93227dc33f1105ece06d68"><td class="memSeparator" colspan="2">&#160;</td></tr>
1764<tr class="memitem:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abb7e0f23a4f2e63f39433f158dad47ab">data_size_from_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type)</td></tr>
1765<tr class="memdesc:abb7e0f23a4f2e63f39433f158dad47ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the data type. <a href="#abb7e0f23a4f2e63f39433f158dad47ab">More...</a><br /></td></tr>
1766<tr class="separator:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
1767<tr class="memitem:a4823543d67a2520c98669e2a5608ef6a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4823543d67a2520c98669e2a5608ef6a">pixel_size_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
1768<tr class="memdesc:a4823543d67a2520c98669e2a5608ef6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the pixel format. <a href="#a4823543d67a2520c98669e2a5608ef6a">More...</a><br /></td></tr>
1769<tr class="separator:a4823543d67a2520c98669e2a5608ef6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1770<tr class="memitem:a34b06c0cd94808a77b697e79880b84b0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">element_size_from_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
1771<tr class="memdesc:a34b06c0cd94808a77b697e79880b84b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the data type. <a href="#a34b06c0cd94808a77b697e79880b84b0">More...</a><br /></td></tr>
1772<tr class="separator:a34b06c0cd94808a77b697e79880b84b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
1773<tr class="memitem:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a59846ef5ca75cd81cdb7e8a1ce08f9db">data_type_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
1774<tr class="memdesc:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the data type used by a given single-planar pixel format. <a href="#a59846ef5ca75cd81cdb7e8a1ce08f9db">More...</a><br /></td></tr>
1775<tr class="separator:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
1776<tr class="memitem:a4f6fe18760340bcec02d095b7099e923"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4f6fe18760340bcec02d095b7099e923">plane_idx_from_channel</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
1777<tr class="memdesc:a4f6fe18760340bcec02d095b7099e923"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the plane index of a given channel given an input format. <a href="#a4f6fe18760340bcec02d095b7099e923">More...</a><br /></td></tr>
1778<tr class="separator:a4f6fe18760340bcec02d095b7099e923"><td class="memSeparator" colspan="2">&#160;</td></tr>
1779<tr class="memitem:a2a71659def659c8b1c164023a99a25a9"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2a71659def659c8b1c164023a99a25a9">num_planes_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
1780<tr class="memdesc:a2a71659def659c8b1c164023a99a25a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of planes for a given format. <a href="#a2a71659def659c8b1c164023a99a25a9">More...</a><br /></td></tr>
1781<tr class="separator:a2a71659def659c8b1c164023a99a25a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
1782<tr class="memitem:ab14153fb809c18823af3c9c8bc4286cb"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab14153fb809c18823af3c9c8bc4286cb">num_channels_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
1783<tr class="memdesc:ab14153fb809c18823af3c9c8bc4286cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of channels for a given single-planar pixel format. <a href="#ab14153fb809c18823af3c9c8bc4286cb">More...</a><br /></td></tr>
1784<tr class="separator:ab14153fb809c18823af3c9c8bc4286cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
1785<tr class="memitem:a18ec57dffc5c26864be77318111dfb2a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18ec57dffc5c26864be77318111dfb2a">separate_matrix</a> (const int16_t *conv, int16_t *conv_col, int16_t *conv_row, uint8_t size)</td></tr>
1786<tr class="memdesc:a18ec57dffc5c26864be77318111dfb2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Separate a 2D convolution into two 1D convolutions. <a href="#a18ec57dffc5c26864be77318111dfb2a">More...</a><br /></td></tr>
1787<tr class="separator:a18ec57dffc5c26864be77318111dfb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1788<tr class="memitem:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0101a40c4a6acc2af3b55afa7632f16a">calculate_matrix_scale</a> (const int16_t *matrix, unsigned int matrix_size)</td></tr>
1789<tr class="memdesc:a0101a40c4a6acc2af3b55afa7632f16a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the scale of the given square matrix. <a href="#a0101a40c4a6acc2af3b55afa7632f16a">More...</a><br /></td></tr>
1790<tr class="separator:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1791<tr class="memitem:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01adc12d8e07c06cdb0f03c56a455bf3">data_type_for_convolution</a> (const int16_t *conv_col, const int16_t *conv_row, size_t size)</td></tr>
1792<tr class="memdesc:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate accurary required by the horizontal and vertical convolution computations. <a href="#a01adc12d8e07c06cdb0f03c56a455bf3">More...</a><br /></td></tr>
1793<tr class="separator:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
1794<tr class="memitem:a3992df9e8723140a53e49dc194d89ef5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3992df9e8723140a53e49dc194d89ef5">data_type_for_convolution_matrix</a> (const int16_t *conv, size_t size)</td></tr>
1795<tr class="memdesc:a3992df9e8723140a53e49dc194d89ef5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the accuracy required by the squared convolution calculation. <a href="#a3992df9e8723140a53e49dc194d89ef5">More...</a><br /></td></tr>
1796<tr class="separator:a3992df9e8723140a53e49dc194d89ef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
1797<tr class="memitem:a6fd2c972d67298469a6aad75879fffab"><td class="memItemLeft" align="right" valign="top">const std::pair&lt; unsigned int, unsigned int &gt;&#160;</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>
1798<tr class="memdesc:a6fd2c972d67298469a6aad75879fffab"><td class="mdescLeft">&#160;</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>
1799<tr class="separator:a6fd2c972d67298469a6aad75879fffab"><td class="memSeparator" colspan="2">&#160;</td></tr>
1800<tr class="memitem:a9c92c867fc64454545668d87b20979eb"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
1801<tr class="memdesc:a9c92c867fc64454545668d87b20979eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a tensor format into a string. <a href="#a9c92c867fc64454545668d87b20979eb">More...</a><br /></td></tr>
1802<tr class="separator:a9c92c867fc64454545668d87b20979eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
1803<tr class="memitem:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a106c203dd6af234d38452ea0ee7b2ddc">string_from_channel</a> (<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
1804<tr class="memdesc:a106c203dd6af234d38452ea0ee7b2ddc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a channel identity into a string. <a href="#a106c203dd6af234d38452ea0ee7b2ddc">More...</a><br /></td></tr>
1805<tr class="separator:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
1806<tr class="memitem:aefa1d9648995e5eccc693c690e27aa88"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
1807<tr class="memdesc:aefa1d9648995e5eccc693c690e27aa88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a data type identity into a string. <a href="#aefa1d9648995e5eccc693c690e27aa88">More...</a><br /></td></tr>
1808<tr class="separator:aefa1d9648995e5eccc693c690e27aa88"><td class="memSeparator" colspan="2">&#160;</td></tr>
1809<tr class="memitem:a018795ab2489d17309e158ff5c060ab1"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a018795ab2489d17309e158ff5c060ab1">string_from_matrix_pattern</a> (<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> pattern)</td></tr>
1810<tr class="memdesc:a018795ab2489d17309e158ff5c060ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a matrix pattern into a string. <a href="#a018795ab2489d17309e158ff5c060ab1">More...</a><br /></td></tr>
1811<tr class="separator:a018795ab2489d17309e158ff5c060ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
1812<tr class="memitem:ac955c978e18cc9bf6daea31f13076fba"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac955c978e18cc9bf6daea31f13076fba">string_from_activation_func</a> (<a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> act)</td></tr>
1813<tr class="memdesc:ac955c978e18cc9bf6daea31f13076fba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given activation function to a string. <a href="#ac955c978e18cc9bf6daea31f13076fba">More...</a><br /></td></tr>
1814<tr class="separator:ac955c978e18cc9bf6daea31f13076fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
1815<tr class="memitem:a14831547f57ecf5f0deef888ad41ad30"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14831547f57ecf5f0deef888ad41ad30">string_from_non_linear_filter_function</a> (<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> function)</td></tr>
1816<tr class="memdesc:a14831547f57ecf5f0deef888ad41ad30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given non linear function to a string. <a href="#a14831547f57ecf5f0deef888ad41ad30">More...</a><br /></td></tr>
1817<tr class="separator:a14831547f57ecf5f0deef888ad41ad30"><td class="memSeparator" colspan="2">&#160;</td></tr>
1818<tr class="memitem:ade34f5e72f050fd3665f3294dfb15850"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade34f5e72f050fd3665f3294dfb15850">string_from_interpolation_policy</a> (<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> policy)</td></tr>
1819<tr class="memdesc:ade34f5e72f050fd3665f3294dfb15850"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given interpolation policy to a string. <a href="#ade34f5e72f050fd3665f3294dfb15850">More...</a><br /></td></tr>
1820<tr class="separator:ade34f5e72f050fd3665f3294dfb15850"><td class="memSeparator" colspan="2">&#160;</td></tr>
1821<tr class="memitem:abd15add5c6c7de5c8205ce236875aadd"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd15add5c6c7de5c8205ce236875aadd">string_from_border_mode</a> (<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> border_mode)</td></tr>
1822<tr class="memdesc:abd15add5c6c7de5c8205ce236875aadd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given border mode policy to a string. <a href="#abd15add5c6c7de5c8205ce236875aadd">More...</a><br /></td></tr>
1823<tr class="separator:abd15add5c6c7de5c8205ce236875aadd"><td class="memSeparator" colspan="2">&#160;</td></tr>
1824<tr class="memitem:ab72adf11888176ec19224deef7b1a7dc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab72adf11888176ec19224deef7b1a7dc">lower_string</a> (std::string val)</td></tr>
1825<tr class="memdesc:ab72adf11888176ec19224deef7b1a7dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower a given string. <a href="#ab72adf11888176ec19224deef7b1a7dc">More...</a><br /></td></tr>
1826<tr class="separator:ab72adf11888176ec19224deef7b1a7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
1827<tr class="memitem:af5982a092e9eb743fce2d6392bdd8897"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af5982a092e9eb743fce2d6392bdd8897">is_data_type_float</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
1828<tr class="separator:af5982a092e9eb743fce2d6392bdd8897"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01001829<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
1830<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3a28b8acd21301990e06377c64e1276">print_consecutive_elements_impl</a> (std::ostream &amp;s, const T *ptr, unsigned int n, int stream_width=0, const std::string &amp;element_delim=&quot; &quot;)</td></tr>
1831<tr class="memdesc:aa3a28b8acd21301990e06377c64e1276"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#aa3a28b8acd21301990e06377c64e1276">More...</a><br /></td></tr>
1832<tr class="separator:aa3a28b8acd21301990e06377c64e1276"><td class="memSeparator" colspan="2">&#160;</td></tr>
1833<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
1834<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaecee617b967dd96f27d2f36732fb68e">max_consecutive_elements_display_width_impl</a> (std::ostream &amp;s, const T *ptr, unsigned int n)</td></tr>
1835<tr class="memdesc:aaecee617b967dd96f27d2f36732fb68e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#aaecee617b967dd96f27d2f36732fb68e">More...</a><br /></td></tr>
1836<tr class="separator:aaecee617b967dd96f27d2f36732fb68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
1837<tr class="memitem:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51a0d2ae440bc8cab3fbbe84bfea8b1d">print_consecutive_elements</a> (std::ostream &amp;s, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, const uint8_t *ptr, unsigned int n, int stream_width, const std::string &amp;element_delim=&quot; &quot;)</td></tr>
1838<tr class="memdesc:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#a51a0d2ae440bc8cab3fbbe84bfea8b1d">More...</a><br /></td></tr>
1839<tr class="separator:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1840<tr class="memitem:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac3f2de3a35ff8d9a47b5b793637784e7">max_consecutive_elements_display_width</a> (std::ostream &amp;s, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, const uint8_t *ptr, unsigned int n)</td></tr>
1841<tr class="memdesc:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#ac3f2de3a35ff8d9a47b5b793637784e7">More...</a><br /></td></tr>
1842<tr class="separator:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001843<tr class="memitem:a26a9847c05c48bd1470f22f898ee254d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a26a9847c05c48bd1470f22f898ee254d">error_on_mismatching_windows</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
1844<tr class="memdesc:a26a9847c05c48bd1470f22f898ee254d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed window is invalid. <a href="#a26a9847c05c48bd1470f22f898ee254d">More...</a><br /></td></tr>
1845<tr class="separator:a26a9847c05c48bd1470f22f898ee254d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1846<tr class="memitem:a0916477887763c20822b43be144963eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0916477887763c20822b43be144963eb">error_on_invalid_subwindow</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;sub)</td></tr>
1847<tr class="memdesc:a0916477887763c20822b43be144963eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed subwindow is invalid. <a href="#a0916477887763c20822b43be144963eb">More...</a><br /></td></tr>
1848<tr class="separator:a0916477887763c20822b43be144963eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
1849<tr class="memitem:a130822528598f21a48f7ee0e6d8438a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a130822528598f21a48f7ee0e6d8438a0">error_on_coordinates_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;pos, unsigned int max_dim)</td></tr>
1850<tr class="memdesc:a130822528598f21a48f7ee0e6d8438a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed coordinates have too many dimensions. <a href="#a130822528598f21a48f7ee0e6d8438a0">More...</a><br /></td></tr>
1851<tr class="separator:a130822528598f21a48f7ee0e6d8438a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
1852<tr class="memitem:a6fed5543ae383442a51362e6607c4e65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6fed5543ae383442a51362e6607c4e65">error_on_window_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win, unsigned int max_dim)</td></tr>
1853<tr class="memdesc:a6fed5543ae383442a51362e6607c4e65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed window has too many dimensions. <a href="#a6fed5543ae383442a51362e6607c4e65">More...</a><br /></td></tr>
1854<tr class="separator:a6fed5543ae383442a51362e6607c4e65"><td class="memSeparator" colspan="2">&#160;</td></tr>
1855<tr class="memitem:a98c979818eae59f104fcaf8de723aeda"><td class="memItemLeft" align="right" valign="top">bool&#160;</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>
1856<tr class="separator:a98c979818eae59f104fcaf8de723aeda"><td class="memSeparator" colspan="2">&#160;</td></tr>
1857<tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
1858<tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b689868b627ba9e22c8473c5f985512">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
1859<tr class="memdesc:a7b689868b627ba9e22c8473c5f985512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed two tensors have different shapes. <a href="#a7b689868b627ba9e22c8473c5f985512">More...</a><br /></td></tr>
1860<tr class="separator:a7b689868b627ba9e22c8473c5f985512"><td class="memSeparator" colspan="2">&#160;</td></tr>
1861<tr class="memitem:ad35d92af32949e38ec38b3d8e46b566c"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
1862<tr class="memitem:ad35d92af32949e38ec38b3d8e46b566c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</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>
1863<tr class="memdesc:ad35d92af32949e38ec38b3d8e46b566c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the passed two tensors have different data types. <a href="#ad35d92af32949e38ec38b3d8e46b566c">More...</a><br /></td></tr>
1864<tr class="separator:ad35d92af32949e38ec38b3d8e46b566c"><td class="memSeparator" colspan="2">&#160;</td></tr>
1865<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplParams" colspan="2">template&lt;typename T , typename F , typename... Fs&gt; </td></tr>
1866<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b360558b516e256f0af005a164c674e">error_on_format_not_in</a> (const char *function, const char *file, const int line, const T *object, F &amp;&amp;format, Fs &amp;&amp;...formats)</td></tr>
1867<tr class="memdesc:a0b360558b516e256f0af005a164c674e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. <a href="#a0b360558b516e256f0af005a164c674e">More...</a><br /></td></tr>
1868<tr class="separator:a0b360558b516e256f0af005a164c674e"><td class="memSeparator" colspan="2">&#160;</td></tr>
1869<tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
1870<tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">error_on_data_type_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
1871<tr class="memdesc:a0c52339d3cb372d145deeafb5a313807"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the data type of the passed tensor does not match any of the data types provided. <a href="#a0c52339d3cb372d145deeafb5a313807">More...</a><br /></td></tr>
1872<tr class="separator:a0c52339d3cb372d145deeafb5a313807"><td class="memSeparator" colspan="2">&#160;</td></tr>
1873<tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
1874<tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a690ce072b4480f4a5bad433f23c9fe05">error_on_data_type_channel_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
1875<tr class="memdesc:a690ce072b4480f4a5bad433f23c9fe05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. <a href="#a690ce072b4480f4a5bad433f23c9fe05">More...</a><br /></td></tr>
1876<tr class="separator:a690ce072b4480f4a5bad433f23c9fe05"><td class="memSeparator" colspan="2">&#160;</td></tr>
1877<tr class="memitem:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65c8e0610dff27ecf1ef30214f08d19e">error_on_tensor_not_2d</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
1878<tr class="memdesc:a65c8e0610dff27ecf1ef30214f08d19e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the tensor is not 2D. <a href="#a65c8e0610dff27ecf1ef30214f08d19e">More...</a><br /></td></tr>
1879<tr class="separator:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
1880<tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
1881<tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a593d972357b3bcfeecb87207dc925417">error_on_channel_not_in</a> (const char *function, const char *file, const int line, T cn, T &amp;&amp;channel, Ts &amp;&amp;...channels)</td></tr>
1882<tr class="memdesc:a593d972357b3bcfeecb87207dc925417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the channel is not in channels. <a href="#a593d972357b3bcfeecb87207dc925417">More...</a><br /></td></tr>
1883<tr class="separator:a593d972357b3bcfeecb87207dc925417"><td class="memSeparator" colspan="2">&#160;</td></tr>
1884<tr class="memitem:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad0d001a84424d440f9a11fc1b80ed2ff">error_on_channel_not_in_known_format</a> (const char *function, const char *file, const int line, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> fmt, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> cn)</td></tr>
1885<tr class="memdesc:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the channel is not in format. <a href="#ad0d001a84424d440f9a11fc1b80ed2ff">More...</a><br /></td></tr>
1886<tr class="separator:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
1887<tr class="memitem:a307666ca482a84d5a64251d78889a818"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a307666ca482a84d5a64251d78889a818">error_on_invalid_multi_hog</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> *multi_hog)</td></tr>
1888<tr class="memdesc:a307666ca482a84d5a64251d78889a818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. <a href="#a307666ca482a84d5a64251d78889a818">More...</a><br /></td></tr>
1889<tr class="separator:a307666ca482a84d5a64251d78889a818"><td class="memSeparator" colspan="2">&#160;</td></tr>
1890<tr class="memitem:a21a4884cd1dbfa83351b8efa265f526a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21a4884cd1dbfa83351b8efa265f526a">error_on_unconfigured_kernel</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> *kernel)</td></tr>
1891<tr class="memdesc:a21a4884cd1dbfa83351b8efa265f526a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the kernel is not configured. <a href="#a21a4884cd1dbfa83351b8efa265f526a">More...</a><br /></td></tr>
1892<tr class="separator:a21a4884cd1dbfa83351b8efa265f526a"><td class="memSeparator" colspan="2">&#160;</td></tr>
1893</table><table class="memberdecls">
1894<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
1895Variables</h2></td></tr>
1896<tr class="memitem:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memItemLeft" align="right" valign="top">constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a769d636d7a3c7c84579a5f477a18bc9d">MAX_DIMS</a> = 6</td></tr>
1897<tr class="separator:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
1898<tr class="memitem:a869945609357fa552d94eb16f7aad4e9"><td class="memItemLeft" align="right" valign="top">const std::array&lt; float32x4_t, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a></td></tr>
1899<tr class="separator:a869945609357fa552d94eb16f7aad4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
1900<tr class="memitem:a48fb9cf404e8f7043235bf14105c9793"><td class="memItemLeft" align="right" valign="top">const std::array&lt; float32x4_t, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a></td></tr>
1901<tr class="separator:a48fb9cf404e8f7043235bf14105c9793"><td class="memSeparator" colspan="2">&#160;</td></tr>
1902<tr class="memitem:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memItemLeft" align="right" valign="top">constexpr uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3fed059965fe44cbe7ed4091d6b63acf">CONSTANT_BORDER_VALUE</a> = 199</td></tr>
1903<tr class="memdesc:a3fed059965fe44cbe7ed4091d6b63acf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant value of the border pixels when using <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92" title="Pixels outside the image are assumed to have a constant value. ">BorderMode::CONSTANT</a>. <a href="#a3fed059965fe44cbe7ed4091d6b63acf">More...</a><br /></td></tr>
1904<tr class="separator:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
1905<tr class="memitem:af9876aedd664cac0ddeacddb40cb71cd"><td class="memItemLeft" align="right" valign="top">constexpr float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af9876aedd664cac0ddeacddb40cb71cd">SCALE_PYRAMID_HALF</a> = 0.5f</td></tr>
1906<tr class="separator:af9876aedd664cac0ddeacddb40cb71cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
1907<tr class="memitem:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memItemLeft" align="right" valign="top">constexpr float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ebcd5423d5fba468e7debd2e1aabe91">SCALE_PYRAMID_ORB</a> = 8.408964152537146130583778358414e-01</td></tr>
1908<tr class="separator:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memSeparator" colspan="2">&#160;</td></tr>
1909</table>
1910<h2 class="groupheader">Typedef Documentation</h2>
1911<a class="anchor" id="afcef84cf3b7d147b2b6ab0bd884afc16"></a>
1912<div class="memitem">
1913<div class="memproto">
1914 <table class="memname">
1915 <tr>
1916 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#afcef84cf3b7d147b2b6ab0bd884afc16">CLCoefficientTableArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a>&gt;</td>
1917 </tr>
1918 </table>
1919</div><div class="memdoc">
1920
1921<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>
1922
1923</div>
1924</div>
1925<a class="anchor" id="a4751499f1c526c7285e7e946c2e84541"></a>
1926<div class="memitem">
1927<div class="memproto">
1928 <table class="memname">
1929 <tr>
1930 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4751499f1c526c7285e7e946c2e84541">CLConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt;3&gt;</td>
1931 </tr>
1932 </table>
1933</div><div class="memdoc">
1934
1935<p>Interface for the kernel which applies a 3x3 convolution to a tensor. </p>
1936
1937<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>
1938
1939</div>
1940</div>
1941<a class="anchor" id="a843447b81f09d837e90d44e6e6bd236d"></a>
1942<div class="memitem">
1943<div class="memproto">
1944 <table class="memname">
1945 <tr>
1946 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a843447b81f09d837e90d44e6e6bd236d">CLConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt;5&gt;</td>
1947 </tr>
1948 </table>
1949</div><div class="memdoc">
1950
1951<p>Basic function to run 5x5 convolution. </p>
1952
1953<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>
1954
1955</div>
1956</div>
1957<a class="anchor" id="ac4cfbdf439d7bf5d420546298bd5ca0d"></a>
1958<div class="memitem">
1959<div class="memproto">
1960 <table class="memname">
1961 <tr>
1962 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac4cfbdf439d7bf5d420546298bd5ca0d">CLConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt;5&gt;</td>
1963 </tr>
1964 </table>
1965</div><div class="memdoc">
1966
1967<p>Interface for the kernel which applies a 5x5 convolution to a tensor. </p>
1968
1969<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>
1970
1971</div>
1972</div>
1973<a class="anchor" id="a1992a8362b7074e709394a5219d16e62"></a>
1974<div class="memitem">
1975<div class="memproto">
1976 <table class="memname">
1977 <tr>
1978 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1992a8362b7074e709394a5219d16e62">CLConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt;7&gt;</td>
1979 </tr>
1980 </table>
1981</div><div class="memdoc">
1982
1983<p>Basic function to run 7x7 convolution. </p>
1984
1985<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>
1986
1987</div>
1988</div>
1989<a class="anchor" id="a99a54c937a254c96cd1a29a96ffa7dcf"></a>
1990<div class="memitem">
1991<div class="memproto">
1992 <table class="memname">
1993 <tr>
1994 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a99a54c937a254c96cd1a29a96ffa7dcf">CLConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt;7&gt;</td>
1995 </tr>
1996 </table>
1997</div><div class="memdoc">
1998
1999<p>Interface for the kernel which applies a 7x7 convolution to a tensor. </p>
2000
2001<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>
2002
2003</div>
2004</div>
2005<a class="anchor" id="a587dee5d7f05d5e9c3b8704ae8927101"></a>
2006<div class="memitem">
2007<div class="memproto">
2008 <table class="memname">
2009 <tr>
2010 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a587dee5d7f05d5e9c3b8704ae8927101">CLConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>&lt;9&gt;</td>
2011 </tr>
2012 </table>
2013</div><div class="memdoc">
2014
2015<p>Basic function to run 9x9 convolution. </p>
2016
2017<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>
2018
2019</div>
2020</div>
2021<a class="anchor" id="a908439cd5cf8253865d5c70a413fd607"></a>
2022<div class="memitem">
2023<div class="memproto">
2024 <table class="memname">
2025 <tr>
2026 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a908439cd5cf8253865d5c70a413fd607">CLConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>&lt;9&gt;</td>
2027 </tr>
2028 </table>
2029</div><div class="memdoc">
2030
2031<p>Interface for the kernel which applies a 9x9 convolution to a tensor. </p>
2032
2033<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>
2034
2035</div>
2036</div>
2037<a class="anchor" id="a0fd5f0310a26faad00b905bac3792726"></a>
2038<div class="memitem">
2039<div class="memproto">
2040 <table class="memname">
2041 <tr>
2042 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0fd5f0310a26faad00b905bac3792726">CLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>&gt;</td>
2043 </tr>
2044 </table>
2045</div><div class="memdoc">
2046
2047<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>
2048
2049</div>
2050</div>
2051<a class="anchor" id="ab8d2c7efb7643ce8f9e5446dbe1da0b4"></a>
2052<div class="memitem">
2053<div class="memproto">
2054 <table class="memname">
2055 <tr>
2056 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab8d2c7efb7643ce8f9e5446dbe1da0b4">CLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>&gt;</td>
2057 </tr>
2058 </table>
2059</div><div class="memdoc">
2060
2061<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>
2062
2063</div>
2064</div>
2065<a class="anchor" id="a193a4859b365f3ef4e0d73a1e6b12c85"></a>
2066<div class="memitem">
2067<div class="memproto">
2068 <table class="memname">
2069 <tr>
2070 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a193a4859b365f3ef4e0d73a1e6b12c85">CLFloatArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_float&gt;</td>
2071 </tr>
2072 </table>
2073</div><div class="memdoc">
2074
2075<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>
2076
2077</div>
2078</div>
2079<a class="anchor" id="aae712f442eae2d56d17529ca6cb9cb77"></a>
2080<div class="memitem">
2081<div class="memproto">
2082 <table class="memname">
2083 <tr>
2084 <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>
2085 </tr>
2086 </table>
2087</div><div class="memdoc">
2088
2089<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>
2090
2091</div>
2092</div>
2093<a class="anchor" id="a5fb8cb339705102066c915d18f0701ac"></a>
2094<div class="memitem">
2095<div class="memproto">
2096 <table class="memname">
2097 <tr>
2098 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5fb8cb339705102066c915d18f0701ac">CLInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_short&gt;</td>
2099 </tr>
2100 </table>
2101</div><div class="memdoc">
2102
2103<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>
2104
2105</div>
2106</div>
2107<a class="anchor" id="a8a401a071524761c661a75969c951cf5"></a>
2108<div class="memitem">
2109<div class="memproto">
2110 <table class="memname">
2111 <tr>
2112 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8a401a071524761c661a75969c951cf5">CLInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_int&gt;</td>
2113 </tr>
2114 </table>
2115</div><div class="memdoc">
2116
2117<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>
2118
2119</div>
2120</div>
2121<a class="anchor" id="a55e1c5ed17b7ee3762198a38eb50650a"></a>
2122<div class="memitem">
2123<div class="memproto">
2124 <table class="memname">
2125 <tr>
2126 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a55e1c5ed17b7ee3762198a38eb50650a">CLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>&gt;</td>
2127 </tr>
2128 </table>
2129</div><div class="memdoc">
2130
2131<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>
2132
2133</div>
2134</div>
2135<a class="anchor" id="a70997613219641045213b0c12948fb74"></a>
2136<div class="memitem">
2137<div class="memproto">
2138 <table class="memname">
2139 <tr>
2140 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a70997613219641045213b0c12948fb74">CLLKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a>&gt;</td>
2141 </tr>
2142 </table>
2143</div><div class="memdoc">
2144
2145<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>
2146
2147</div>
2148</div>
2149<a class="anchor" id="a4ec6965f606c588137f7a48d84c1d6f0"></a>
2150<div class="memitem">
2151<div class="memproto">
2152 <table class="memname">
2153 <tr>
2154 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4ec6965f606c588137f7a48d84c1d6f0">CLOldValueArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a>&gt;</td>
2155 </tr>
2156 </table>
2157</div><div class="memdoc">
2158
2159<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>
2160
2161</div>
2162</div>
2163<a class="anchor" id="ac72d613f7270604dbcad2553c278b16c"></a>
2164<div class="memitem">
2165<div class="memproto">
2166 <table class="memname">
2167 <tr>
2168 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac72d613f7270604dbcad2553c278b16c">CLSeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt;5&gt;</td>
2169 </tr>
2170 </table>
2171</div><div class="memdoc">
2172
2173<p>Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. </p>
2174
2175<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>
2176
2177</div>
2178</div>
2179<a class="anchor" id="ac7295b0d8d71be75033238ad7fbba38c"></a>
2180<div class="memitem">
2181<div class="memproto">
2182 <table class="memname">
2183 <tr>
2184 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac7295b0d8d71be75033238ad7fbba38c">CLSeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt;5&gt;</td>
2185 </tr>
2186 </table>
2187</div><div class="memdoc">
2188
2189<p>Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. </p>
2190
2191<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>
2192
2193</div>
2194</div>
2195<a class="anchor" id="aab26624bf4b326f8145b2909a5042004"></a>
2196<div class="memitem">
2197<div class="memproto">
2198 <table class="memname">
2199 <tr>
2200 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aab26624bf4b326f8145b2909a5042004">CLSeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt;7&gt;</td>
2201 </tr>
2202 </table>
2203</div><div class="memdoc">
2204
2205<p>Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. </p>
2206
2207<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>
2208
2209</div>
2210</div>
2211<a class="anchor" id="a0ffdf01e236016ce8d366a69875d1375"></a>
2212<div class="memitem">
2213<div class="memproto">
2214 <table class="memname">
2215 <tr>
2216 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0ffdf01e236016ce8d366a69875d1375">CLSeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt;7&gt;</td>
2217 </tr>
2218 </table>
2219</div><div class="memdoc">
2220
2221<p>Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. </p>
2222
2223<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>
2224
2225</div>
2226</div>
2227<a class="anchor" id="a9f34ccad344bc43d25e8be2b828853aa"></a>
2228<div class="memitem">
2229<div class="memproto">
2230 <table class="memname">
2231 <tr>
2232 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a9f34ccad344bc43d25e8be2b828853aa">CLSeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>&lt;9&gt;</td>
2233 </tr>
2234 </table>
2235</div><div class="memdoc">
2236
2237<p>Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. </p>
2238
2239<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>
2240
2241</div>
2242</div>
2243<a class="anchor" id="a6d08e1e881bf611c1e1b9e2bb8810d19"></a>
2244<div class="memitem">
2245<div class="memproto">
2246 <table class="memname">
2247 <tr>
2248 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6d08e1e881bf611c1e1b9e2bb8810d19">CLSeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>&lt;9&gt;</td>
2249 </tr>
2250 </table>
2251</div><div class="memdoc">
2252
2253<p>Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. </p>
2254
2255<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>
2256
2257</div>
2258</div>
2259<a class="anchor" id="a3f9ab729931f4e4fa36ff1683186d988"></a>
2260<div class="memitem">
2261<div class="memproto">
2262 <table class="memname">
2263 <tr>
2264 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a3f9ab729931f4e4fa36ff1683186d988">CLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&gt;</td>
2265 </tr>
2266 </table>
2267</div><div class="memdoc">
2268
2269<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>
2270
2271</div>
2272</div>
2273<a class="anchor" id="a7b4c4a79c73a3f85ba89aff03fddefa7"></a>
2274<div class="memitem">
2275<div class="memproto">
2276 <table class="memname">
2277 <tr>
2278 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7b4c4a79c73a3f85ba89aff03fddefa7">CLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_ushort&gt;</td>
2279 </tr>
2280 </table>
2281</div><div class="memdoc">
2282
2283<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>
2284
2285</div>
2286</div>
2287<a class="anchor" id="a1d7d89b7e990055dc95ed37dfb24da48"></a>
2288<div class="memitem">
2289<div class="memproto">
2290 <table class="memname">
2291 <tr>
2292 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1d7d89b7e990055dc95ed37dfb24da48">CLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_uint&gt;</td>
2293 </tr>
2294 </table>
2295</div><div class="memdoc">
2296
2297<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>
2298
2299</div>
2300</div>
2301<a class="anchor" id="aa031694bb03711e09e25546ad2b643cc"></a>
2302<div class="memitem">
2303<div class="memproto">
2304 <table class="memname">
2305 <tr>
2306 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aa031694bb03711e09e25546ad2b643cc">CLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;cl_uchar&gt;</td>
2307 </tr>
2308 </table>
2309</div><div class="memdoc">
2310
2311<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>
2312
2313</div>
2314</div>
2315<a class="anchor" id="a327abccf7b43aa32d6a24319b986f3ab"></a>
2316<div class="memitem">
2317<div class="memproto">
2318 <table class="memname">
2319 <tr>
2320 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a327abccf7b43aa32d6a24319b986f3ab">Coordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>&gt;</td>
2321 </tr>
2322 </table>
2323</div><div class="memdoc">
2324
2325<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>
2326
2327</div>
2328</div>
2329<a class="anchor" id="a5fe01ab895629edd84a511b56657d79e"></a>
2330<div class="memitem">
2331<div class="memproto">
2332 <table class="memname">
2333 <tr>
2334 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a5fe01ab895629edd84a511b56657d79e">DetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>&gt;</td>
2335 </tr>
2336 </table>
2337</div><div class="memdoc">
2338
2339<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>
2340
2341</div>
2342</div>
2343<a class="anchor" id="a6e06029aa1b68c0cdeb80656cc9353fe"></a>
2344<div class="memitem">
2345<div class="memproto">
2346 <table class="memname">
2347 <tr>
2348 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6e06029aa1b68c0cdeb80656cc9353fe">FloatArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;float&gt;</td>
2349 </tr>
2350 </table>
2351</div><div class="memdoc">
2352
2353<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>
2354
2355</div>
2356</div>
2357<a class="anchor" id="a05d88c40a53babe38cb2cb5841c4a0ad"></a>
2358<div class="memitem">
2359<div class="memproto">
2360 <table class="memname">
2361 <tr>
2362 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a05d88c40a53babe38cb2cb5841c4a0ad">ICLCoefficientTableArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a>&gt;</td>
2363 </tr>
2364 </table>
2365</div><div class="memdoc">
2366
2367<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>
2368
2369</div>
2370</div>
2371<a class="anchor" id="adf4063963bf3a4b07a5d0cc840da9ee2"></a>
2372<div class="memitem">
2373<div class="memproto">
2374 <table class="memname">
2375 <tr>
2376 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#adf4063963bf3a4b07a5d0cc840da9ee2">ICLCoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>&gt;</td>
2377 </tr>
2378 </table>
2379</div><div class="memdoc">
2380
2381<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>
2382
2383</div>
2384</div>
2385<a class="anchor" id="a4cc908807b0a45ccc6ce7ba340ae2259"></a>
2386<div class="memitem">
2387<div class="memproto">
2388 <table class="memname">
2389 <tr>
2390 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4cc908807b0a45ccc6ce7ba340ae2259">ICLDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>&gt;</td>
2391 </tr>
2392 </table>
2393</div><div class="memdoc">
2394
2395<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>
2396
2397</div>
2398</div>
2399<a class="anchor" id="a631bac7c033a0d341c631870f9755217"></a>
2400<div class="memitem">
2401<div class="memproto">
2402 <table class="memname">
2403 <tr>
2404 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a631bac7c033a0d341c631870f9755217">ICLFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_float&gt;</td>
2405 </tr>
2406 </table>
2407</div><div class="memdoc">
2408
2409<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>
2410
2411</div>
2412</div>
2413<a class="anchor" id="aa80145f30ddae0c2ccbcaa910e3e71dd"></a>
2414<div class="memitem">
2415<div class="memproto">
2416 <table class="memname">
2417 <tr>
2418 <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>
2419 </tr>
2420 </table>
2421</div><div class="memdoc">
2422
2423<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>
2424
2425</div>
2426</div>
2427<a class="anchor" id="a67328fa21e30aecd0c27d6d2e63a2b9c"></a>
2428<div class="memitem">
2429<div class="memproto">
2430 <table class="memname">
2431 <tr>
2432 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a67328fa21e30aecd0c27d6d2e63a2b9c">ICLInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_short&gt;</td>
2433 </tr>
2434 </table>
2435</div><div class="memdoc">
2436
2437<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>
2438
2439</div>
2440</div>
2441<a class="anchor" id="ab95380ecf1c0253f6c785c0f59194066"></a>
2442<div class="memitem">
2443<div class="memproto">
2444 <table class="memname">
2445 <tr>
2446 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab95380ecf1c0253f6c785c0f59194066">ICLInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_int&gt;</td>
2447 </tr>
2448 </table>
2449</div><div class="memdoc">
2450
2451<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>
2452
2453</div>
2454</div>
2455<a class="anchor" id="adb969f0e554bf563f2fa671399d59280"></a>
2456<div class="memitem">
2457<div class="memproto">
2458 <table class="memname">
2459 <tr>
2460 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#adb969f0e554bf563f2fa671399d59280">ICLKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>&gt;</td>
2461 </tr>
2462 </table>
2463</div><div class="memdoc">
2464
2465<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>
2466
2467</div>
2468</div>
2469<a class="anchor" id="a569a32a7a853d4708fd4f4840c88a157"></a>
2470<div class="memitem">
2471<div class="memproto">
2472 <table class="memname">
2473 <tr>
2474 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a569a32a7a853d4708fd4f4840c88a157">ICLLKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a>&gt;</td>
2475 </tr>
2476 </table>
2477</div><div class="memdoc">
2478
2479<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>
2480
2481</div>
2482</div>
2483<a class="anchor" id="a0339a19c93dde6754834a7d4ec7dab73"></a>
2484<div class="memitem">
2485<div class="memproto">
2486 <table class="memname">
2487 <tr>
2488 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0339a19c93dde6754834a7d4ec7dab73">ICLOldValArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a>&gt;</td>
2489 </tr>
2490 </table>
2491</div><div class="memdoc">
2492
2493<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>
2494
2495</div>
2496</div>
2497<a class="anchor" id="a68396eee600b3d23bf7f95a802e65dff"></a>
2498<div class="memitem">
2499<div class="memproto">
2500 <table class="memname">
2501 <tr>
2502 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a68396eee600b3d23bf7f95a802e65dff">ICLSize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&gt;</td>
2503 </tr>
2504 </table>
2505</div><div class="memdoc">
2506
2507<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>
2508
2509</div>
2510</div>
2511<a class="anchor" id="af87af588094f04e537df98eaf0426cb6"></a>
2512<div class="memitem">
2513<div class="memproto">
2514 <table class="memname">
2515 <tr>
2516 <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>
2517 </tr>
2518 </table>
2519</div><div class="memdoc">
2520
2521<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>
2522
2523</div>
2524</div>
2525<a class="anchor" id="aed5c7222c31a34327f00de37d8c4f4fc"></a>
2526<div class="memitem">
2527<div class="memproto">
2528 <table class="memname">
2529 <tr>
2530 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aed5c7222c31a34327f00de37d8c4f4fc">ICLUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_ushort&gt;</td>
2531 </tr>
2532 </table>
2533</div><div class="memdoc">
2534
2535<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>
2536
2537</div>
2538</div>
2539<a class="anchor" id="a6b5f839e8d27c6351e8d58812dd46c97"></a>
2540<div class="memitem">
2541<div class="memproto">
2542 <table class="memname">
2543 <tr>
2544 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6b5f839e8d27c6351e8d58812dd46c97">ICLUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_uint&gt;</td>
2545 </tr>
2546 </table>
2547</div><div class="memdoc">
2548
2549<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>
2550
2551</div>
2552</div>
2553<a class="anchor" id="a72251c7a73b3c057ffca9f32ee3e19ea"></a>
2554<div class="memitem">
2555<div class="memproto">
2556 <table class="memname">
2557 <tr>
2558 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a72251c7a73b3c057ffca9f32ee3e19ea">ICLUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_uchar&gt;</td>
2559 </tr>
2560 </table>
2561</div><div class="memdoc">
2562
2563<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>
2564
2565</div>
2566</div>
2567<a class="anchor" id="aac9efd49d3bbbd53779713e5fb37de62"></a>
2568<div class="memitem">
2569<div class="memproto">
2570 <table class="memname">
2571 <tr>
2572 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aac9efd49d3bbbd53779713e5fb37de62">ICoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a>&gt;</td>
2573 </tr>
2574 </table>
2575</div><div class="memdoc">
2576
2577<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>
2578
2579</div>
2580</div>
2581<a class="anchor" id="a52b3b9de6092ae37321159c4c2f1bf40"></a>
2582<div class="memitem">
2583<div class="memproto">
2584 <table class="memname">
2585 <tr>
2586 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a52b3b9de6092ae37321159c4c2f1bf40">IDetectionWindowArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a>&gt;</td>
2587 </tr>
2588 </table>
2589</div><div class="memdoc">
2590
2591<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>
2592
2593</div>
2594</div>
2595<a class="anchor" id="a8a82a1928159e86b0778c3c14e8842be"></a>
2596<div class="memitem">
2597<div class="memproto">
2598 <table class="memname">
2599 <tr>
2600 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8a82a1928159e86b0778c3c14e8842be">IFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;float&gt;</td>
2601 </tr>
2602 </table>
2603</div><div class="memdoc">
2604
2605<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>
2606
2607</div>
2608</div>
2609<a class="anchor" id="ac20902ac1ef01783c8a8d71a9bdf1100"></a>
2610<div class="memitem">
2611<div class="memproto">
2612 <table class="memname">
2613 <tr>
2614 <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>
2615 </tr>
2616 </table>
2617</div><div class="memdoc">
2618
2619<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>
2620
2621</div>
2622</div>
2623<a class="anchor" id="a1dd5e04cea002eae658fa2a899848ad7"></a>
2624<div class="memitem">
2625<div class="memproto">
2626 <table class="memname">
2627 <tr>
2628 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1dd5e04cea002eae658fa2a899848ad7">IInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;int16_t&gt;</td>
2629 </tr>
2630 </table>
2631</div><div class="memdoc">
2632
2633<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>
2634
2635</div>
2636</div>
2637<a class="anchor" id="a51fdf34dfc5c60b6f4f455f0a9cac457"></a>
2638<div class="memitem">
2639<div class="memproto">
2640 <table class="memname">
2641 <tr>
2642 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a51fdf34dfc5c60b6f4f455f0a9cac457">IInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;int32_t&gt;</td>
2643 </tr>
2644 </table>
2645</div><div class="memdoc">
2646
2647<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>
2648
2649</div>
2650</div>
2651<a class="anchor" id="ab56a557a5fdf97819f23c35c24f0b0d2"></a>
2652<div class="memitem">
2653<div class="memproto">
2654 <table class="memname">
2655 <tr>
2656 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab56a557a5fdf97819f23c35c24f0b0d2">IKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>&gt;</td>
2657 </tr>
2658 </table>
2659</div><div class="memdoc">
2660
2661<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>
2662
2663</div>
2664</div>
2665<a class="anchor" id="a7fb6a368d181ef193475f725c713430a"></a>
2666<div class="memitem">
2667<div class="memproto">
2668 <table class="memname">
2669 <tr>
2670 <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>
2671 </tr>
2672 </table>
2673</div><div class="memdoc">
2674
2675<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>
2676
2677</div>
2678</div>
2679<a class="anchor" id="a9f3ed96e009111cfbe53d3f77c712390"></a>
2680<div class="memitem">
2681<div class="memproto">
2682 <table class="memname">
2683 <tr>
2684 <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>
2685 </tr>
2686 </table>
2687</div><div class="memdoc">
2688
2689<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>
2690
2691</div>
2692</div>
2693<a class="anchor" id="a19699533eb1b662e46a10715f6086487"></a>
2694<div class="memitem">
2695<div class="memproto">
2696 <table class="memname">
2697 <tr>
2698 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a19699533eb1b662e46a10715f6086487">INELKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a>&gt;</td>
2699 </tr>
2700 </table>
2701</div><div class="memdoc">
2702
2703<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>
2704
2705</div>
2706</div>
2707<a class="anchor" id="a4aad0c49ce3d7cf4693830398f190250"></a>
2708<div class="memitem">
2709<div class="memproto">
2710 <table class="memname">
2711 <tr>
2712 <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>
2713 </tr>
2714 </table>
2715</div><div class="memdoc">
2716
2717<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>
2718
2719</div>
2720</div>
2721<a class="anchor" id="a69c19b38cbee8fa6680513f6ff76bbb3"></a>
2722<div class="memitem">
2723<div class="memproto">
2724 <table class="memname">
2725 <tr>
2726 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a69c19b38cbee8fa6680513f6ff76bbb3">Int16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;int16_t&gt;</td>
2727 </tr>
2728 </table>
2729</div><div class="memdoc">
2730
2731<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>
2732
2733</div>
2734</div>
2735<a class="anchor" id="a6af9862834629c287a81b16837b51e44"></a>
2736<div class="memitem">
2737<div class="memproto">
2738 <table class="memname">
2739 <tr>
2740 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6af9862834629c287a81b16837b51e44">Int32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;int32_t&gt;</td>
2741 </tr>
2742 </table>
2743</div><div class="memdoc">
2744
2745<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>
2746
2747</div>
2748</div>
2749<a class="anchor" id="a2ab89a5d0959531aac270879cdd3ed78"></a>
2750<div class="memitem">
2751<div class="memproto">
2752 <table class="memname">
2753 <tr>
2754 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple&lt;float, float, float&gt;</td>
2755 </tr>
2756 </table>
2757</div><div class="memdoc">
2758
Anthony Barbier46d59272017-05-04 09:15:15 +01002759<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00266">266</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00002760
2761</div>
2762</div>
2763<a class="anchor" id="a32e4b9083329486a06960006af89a84c"></a>
2764<div class="memitem">
2765<div class="memproto">
2766 <table class="memname">
2767 <tr>
2768 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a32e4b9083329486a06960006af89a84c">ISize2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&gt;</td>
2769 </tr>
2770 </table>
2771</div><div class="memdoc">
2772
2773<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>
2774
2775</div>
2776</div>
2777<a class="anchor" id="a1ffe8af91a934c926d102938db8d3ce1"></a>
2778<div class="memitem">
2779<div class="memproto">
2780 <table class="memname">
2781 <tr>
2782 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1ffe8af91a934c926d102938db8d3ce1">IUInt16Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;uint16_t&gt;</td>
2783 </tr>
2784 </table>
2785</div><div class="memdoc">
2786
2787<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>
2788
2789</div>
2790</div>
2791<a class="anchor" id="ac9b2a6fa6e146437bfc8c0bee96e4760"></a>
2792<div class="memitem">
2793<div class="memproto">
2794 <table class="memname">
2795 <tr>
2796 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac9b2a6fa6e146437bfc8c0bee96e4760">IUInt32Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;uint32_t&gt;</td>
2797 </tr>
2798 </table>
2799</div><div class="memdoc">
2800
2801<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>
2802
2803</div>
2804</div>
2805<a class="anchor" id="a276401fd5651e75431d3e1cc90601caa"></a>
2806<div class="memitem">
2807<div class="memproto">
2808 <table class="memname">
2809 <tr>
2810 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a276401fd5651e75431d3e1cc90601caa">IUInt8Array</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;uint8_t&gt;</td>
2811 </tr>
2812 </table>
2813</div><div class="memdoc">
2814
2815<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>
2816
2817</div>
2818</div>
2819<a class="anchor" id="a8856eca9a83e16bb0cb5880e9c6c9fe7"></a>
2820<div class="memitem">
2821<div class="memproto">
2822 <table class="memname">
2823 <tr>
2824 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a8856eca9a83e16bb0cb5880e9c6c9fe7">KeyPointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a>&gt;</td>
2825 </tr>
2826 </table>
2827</div><div class="memdoc">
2828
2829<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>
2830
2831</div>
2832</div>
2833<a class="anchor" id="a681c120e2188371794ec3a59768c64ab"></a>
2834<div class="memitem">
2835<div class="memproto">
2836 <table class="memname">
2837 <tr>
2838 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a681c120e2188371794ec3a59768c64ab">LKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a>&gt;</td>
2839 </tr>
2840 </table>
2841</div><div class="memdoc">
2842
2843<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>
2844
2845</div>
2846</div>
2847<a class="anchor" id="acf81639b3d33b5da654ef088e4d10520"></a>
2848<div class="memitem">
2849<div class="memproto">
2850 <table class="memname">
2851 <tr>
2852 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#acf81639b3d33b5da654ef088e4d10520">NEConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt;3&gt;</td>
2853 </tr>
2854 </table>
2855</div><div class="memdoc">
2856
2857<p>Interface for the kernel which applied a 3x3 convolution to a tensor. </p>
2858
2859<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>
2860
2861</div>
2862</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01002863<a class="anchor" id="adbc7771d367ba8f51da1450d3602e5c0"></a>
2864<div class="memitem">
2865<div class="memproto">
2866 <table class="memname">
2867 <tr>
2868 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#adbc7771d367ba8f51da1450d3602e5c0">NEConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>&lt;5&gt;</td>
2869 </tr>
2870 </table>
2871</div><div class="memdoc">
2872
2873<p>Basic function to run 5x5 convolution. </p>
2874
2875<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
2876
2877</div>
2878</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00002879<a class="anchor" id="a21898b2d2e31ab9af8933c66ff82c8c6"></a>
2880<div class="memitem">
2881<div class="memproto">
2882 <table class="memname">
2883 <tr>
2884 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a21898b2d2e31ab9af8933c66ff82c8c6">NEConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt;5&gt;</td>
2885 </tr>
2886 </table>
2887</div><div class="memdoc">
2888
2889<p>Interface for the kernel which applied a 5x5 convolution to a tensor. </p>
2890
2891<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>
2892
2893</div>
2894</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01002895<a class="anchor" id="aeb2682fbeb2766df26b4be1971c9757d"></a>
2896<div class="memitem">
2897<div class="memproto">
2898 <table class="memname">
2899 <tr>
2900 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aeb2682fbeb2766df26b4be1971c9757d">NEConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>&lt;7&gt;</td>
2901 </tr>
2902 </table>
2903</div><div class="memdoc">
2904
2905<p>Basic function to run 7x7 convolution. </p>
2906
2907<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
2908
2909</div>
2910</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00002911<a class="anchor" id="ae46cbbe03d31c6c8e7eba7b58999842d"></a>
2912<div class="memitem">
2913<div class="memproto">
2914 <table class="memname">
2915 <tr>
2916 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ae46cbbe03d31c6c8e7eba7b58999842d">NEConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt;7&gt;</td>
2917 </tr>
2918 </table>
2919</div><div class="memdoc">
2920
2921<p>Interface for the kernel which applied a 7x7 convolution to a tensor. </p>
2922
2923<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>
2924
2925</div>
2926</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01002927<a class="anchor" id="ae5a088552f26a1afafd0cbf821d256fb"></a>
2928<div class="memitem">
2929<div class="memproto">
2930 <table class="memname">
2931 <tr>
2932 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ae5a088552f26a1afafd0cbf821d256fb">NEConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>&lt;9&gt;</td>
2933 </tr>
2934 </table>
2935</div><div class="memdoc">
2936
2937<p>Basic function to run 9x9 convolution. </p>
2938
2939<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00102">102</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
2940
2941</div>
2942</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00002943<a class="anchor" id="a1025306f820a9e76df7e5891caacff7b"></a>
2944<div class="memitem">
2945<div class="memproto">
2946 <table class="memname">
2947 <tr>
2948 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a1025306f820a9e76df7e5891caacff7b">NEConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>&lt;9&gt;</td>
2949 </tr>
2950 </table>
2951</div><div class="memdoc">
2952
2953<p>Interface for the kernel which applied a 9x9 convolution to a tensor. </p>
2954
2955<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>
2956
2957</div>
2958</div>
2959<a class="anchor" id="a9d037379f22f90d871d3fa4ad337437a"></a>
2960<div class="memitem">
2961<div class="memproto">
2962 <table class="memname">
2963 <tr>
2964 <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>
2965 </tr>
2966 </table>
2967</div><div class="memdoc">
2968
2969<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>
2970
2971</div>
2972</div>
2973<a class="anchor" id="ac78a7593874c21cff86478c1ba6df27b"></a>
2974<div class="memitem">
2975<div class="memproto">
2976 <table class="memname">
2977 <tr>
2978 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac78a7593874c21cff86478c1ba6df27b">NESeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt;5&gt;</td>
2979 </tr>
2980 </table>
2981</div><div class="memdoc">
2982
2983<p>Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. </p>
2984
2985<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>
2986
2987</div>
2988</div>
2989<a class="anchor" id="ae4152320657df499674ed64b16c28a7b"></a>
2990<div class="memitem">
2991<div class="memproto">
2992 <table class="memname">
2993 <tr>
2994 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ae4152320657df499674ed64b16c28a7b">NESeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt;5&gt;</td>
2995 </tr>
2996 </table>
2997</div><div class="memdoc">
2998
2999<p>Interface for the kernel which applied a 1x5 vertical convolution to a tensor. </p>
3000
3001<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>
3002
3003</div>
3004</div>
3005<a class="anchor" id="aca4adbcd292c26b0e392c59875c1e926"></a>
3006<div class="memitem">
3007<div class="memproto">
3008 <table class="memname">
3009 <tr>
3010 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aca4adbcd292c26b0e392c59875c1e926">NESeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt;7&gt;</td>
3011 </tr>
3012 </table>
3013</div><div class="memdoc">
3014
3015<p>Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. </p>
3016
3017<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>
3018
3019</div>
3020</div>
3021<a class="anchor" id="a0f952bd0821b506e18514a3f4dbc6c39"></a>
3022<div class="memitem">
3023<div class="memproto">
3024 <table class="memname">
3025 <tr>
3026 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0f952bd0821b506e18514a3f4dbc6c39">NESeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt;7&gt;</td>
3027 </tr>
3028 </table>
3029</div><div class="memdoc">
3030
3031<p>Interface for the kernel which applied a 1x7 vertical convolution to a tensor. </p>
3032
3033<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>
3034
3035</div>
3036</div>
3037<a class="anchor" id="a4ba5f6b7cd6b70b75e42149f3bc08f38"></a>
3038<div class="memitem">
3039<div class="memproto">
3040 <table class="memname">
3041 <tr>
3042 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a4ba5f6b7cd6b70b75e42149f3bc08f38">NESeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>&lt;9&gt;</td>
3043 </tr>
3044 </table>
3045</div><div class="memdoc">
3046
3047<p>Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. </p>
3048
3049<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>
3050
3051</div>
3052</div>
3053<a class="anchor" id="a6310d21f215fface41df4cde725a62b9"></a>
3054<div class="memitem">
3055<div class="memproto">
3056 <table class="memname">
3057 <tr>
3058 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a6310d21f215fface41df4cde725a62b9">NESeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>&lt;9&gt;</td>
3059 </tr>
3060 </table>
3061</div><div class="memdoc">
3062
3063<p>Interface for the kernel which applied a 1x9 vertical convolution to a tensor. </p>
3064
3065<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>
3066
3067</div>
3068</div>
3069<a class="anchor" id="a4467b302fc9ec312c40580336ab783da"></a>
3070<div class="memitem">
3071<div class="memproto">
3072 <table class="memname">
3073 <tr>
3074 <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>
3075 </tr>
3076 </table>
3077</div><div class="memdoc">
3078
Anthony Barbier46d59272017-05-04 09:15:15 +01003079<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00191">191</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003080
3081</div>
3082</div>
3083<a class="anchor" id="abd445adaaca7913c9344c90dc8c76358"></a>
3084<div class="memitem">
3085<div class="memproto">
3086 <table class="memname">
3087 <tr>
3088 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#abd445adaaca7913c9344c90dc8c76358">Size2DArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&gt;</td>
3089 </tr>
3090 </table>
3091</div><div class="memdoc">
3092
3093<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>
3094
3095</div>
3096</div>
3097<a class="anchor" id="ab91cb2269b2e58ed2cb6bd2ca831d434"></a>
3098<div class="memitem">
3099<div class="memproto">
3100 <table class="memname">
3101 <tr>
3102 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab91cb2269b2e58ed2cb6bd2ca831d434">UInt16Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;uint16_t&gt;</td>
3103 </tr>
3104 </table>
3105</div><div class="memdoc">
3106
3107<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>
3108
3109</div>
3110</div>
3111<a class="anchor" id="acd6eb2619ccd5eee4963de3195785359"></a>
3112<div class="memitem">
3113<div class="memproto">
3114 <table class="memname">
3115 <tr>
3116 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#acd6eb2619ccd5eee4963de3195785359">UInt32Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;uint32_t&gt;</td>
3117 </tr>
3118 </table>
3119</div><div class="memdoc">
3120
3121<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>
3122
3123</div>
3124</div>
3125<a class="anchor" id="a9dbb5e00a3f397691eb782f03f65375c"></a>
3126<div class="memitem">
3127<div class="memproto">
3128 <table class="memname">
3129 <tr>
3130 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a9dbb5e00a3f397691eb782f03f65375c">UInt8Array</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;uint8_t&gt;</td>
3131 </tr>
3132 </table>
3133</div><div class="memdoc">
3134
3135<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>
3136
3137</div>
3138</div>
3139<h2 class="groupheader">Enumeration Type Documentation</h2>
3140<a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202"></a>
3141<div class="memitem">
3142<div class="memproto">
3143<table class="mlabels">
3144 <tr>
3145 <td class="mlabels-left">
3146 <table class="memname">
3147 <tr>
3148 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a></td>
3149 </tr>
3150 </table>
3151 </td>
3152 <td class="mlabels-right">
3153<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3154 </tr>
3155</table>
3156</div><div class="memdoc">
3157
3158<p>Bilinear Interpolation method used by LKTracker. </p>
3159<table class="fieldtable">
3160<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"></a>BILINEAR_OLD_NEW&#160;</td><td class="fielddoc">
3161</td></tr>
3162<tr><td class="fieldname"><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"></a>BILINEAR_SCHARR&#160;</td><td class="fielddoc">
3163</td></tr>
3164</table>
3165
Anthony Barbier46d59272017-05-04 09:15:15 +01003166<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00209">209</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3167<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">arm_compute::BilinearInterpolation::BILINEAR_OLD_NEW</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003168<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>
3169</div><!-- fragment -->
3170</div>
3171</div>
3172<a class="anchor" id="a15a05537a472ee742404821851529327"></a>
3173<div class="memitem">
3174<div class="memproto">
3175<table class="mlabels">
3176 <tr>
3177 <td class="mlabels-left">
3178 <table class="memname">
3179 <tr>
3180 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a></td>
3181 </tr>
3182 </table>
3183 </td>
3184 <td class="mlabels-right">
3185<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3186 </tr>
3187</table>
3188</div><div class="memdoc">
3189
3190<p>Methods available to handle borders. </p>
3191<table class="fieldtable">
3192<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"></a>UNDEFINED&#160;</td><td class="fielddoc">
3193<p>Borders are left undefined. </p>
3194</td></tr>
3195<tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"></a>CONSTANT&#160;</td><td class="fielddoc">
3196<p>Pixels outside the image are assumed to have a constant value. </p>
3197</td></tr>
3198<tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"></a>REPLICATE&#160;</td><td class="fielddoc">
3199<p>Pixels outside the image are assumed to have the same value as the closest image pixel. </p>
3200</td></tr>
3201</table>
3202
Anthony Barbier46d59272017-05-04 09:15:15 +01003203<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3204<div class="fragment"><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;{</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::BorderMode::UNDEFINED</a></div><div class="ttdoc">Borders are left undefined. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003205<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>
3206<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>
3207</div><!-- fragment -->
3208</div>
3209</div>
3210<a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455a"></a>
3211<div class="memitem">
3212<div class="memproto">
3213<table class="mlabels">
3214 <tr>
3215 <td class="mlabels-left">
3216 <table class="memname">
3217 <tr>
3218 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a></td>
3219 </tr>
3220 </table>
3221 </td>
3222 <td class="mlabels-right">
3223<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3224 </tr>
3225</table>
3226</div><div class="memdoc">
3227
3228<p>Available channels. </p>
3229<table class="fieldtable">
3230<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
3231</td></tr>
3232<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"></a>C0&#160;</td><td class="fielddoc">
3233<p>Unknown channel format. </p>
3234<p>First channel (used by formats with unknown channel types). </p>
3235</td></tr>
3236<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"></a>C1&#160;</td><td class="fielddoc">
3237<p>Second channel (used by formats with unknown channel types). </p>
3238</td></tr>
3239<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"></a>C2&#160;</td><td class="fielddoc">
3240<p>Third channel (used by formats with unknown channel types). </p>
3241</td></tr>
3242<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"></a>C3&#160;</td><td class="fielddoc">
3243<p>Fourth channel (used by formats with unknown channel types). </p>
3244</td></tr>
3245<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"></a>R&#160;</td><td class="fielddoc">
3246<p>Red channel. </p>
3247</td></tr>
3248<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"></a>G&#160;</td><td class="fielddoc">
3249<p>Green channel. </p>
3250</td></tr>
3251<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"></a>B&#160;</td><td class="fielddoc">
3252<p>Blue channel. </p>
3253</td></tr>
3254<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"></a>A&#160;</td><td class="fielddoc">
3255<p>Alpha channel. </p>
3256</td></tr>
3257<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"></a>Y&#160;</td><td class="fielddoc">
3258<p>Luma channel. </p>
3259</td></tr>
3260<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"></a>U&#160;</td><td class="fielddoc">
3261<p>Cb/U channel. </p>
3262</td></tr>
3263<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"></a>V&#160;</td><td class="fielddoc">
3264<p>Cr/V/Value channel. </p>
3265</td></tr>
3266</table>
3267
Anthony Barbier46d59272017-05-04 09:15:15 +01003268<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00293">293</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3269<div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;{</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003270<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>
3271<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>
3272<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>
3273<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>
3274<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a></div></div>
3275<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>
3276<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>
3277<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>
3278<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>
3279<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>
3280<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>
3281</div><!-- fragment -->
3282</div>
3283</div>
3284<a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6f"></a>
3285<div class="memitem">
3286<div class="memproto">
3287<table class="mlabels">
3288 <tr>
3289 <td class="mlabels-left">
3290 <table class="memname">
3291 <tr>
3292 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a></td>
3293 </tr>
3294 </table>
3295 </td>
3296 <td class="mlabels-right">
3297<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3298 </tr>
3299</table>
3300</div><div class="memdoc">
3301
3302<p>Policy to handle overflow. </p>
3303<table class="fieldtable">
3304<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"></a>WRAP&#160;</td><td class="fielddoc">
3305<p>Wrap around. </p>
3306</td></tr>
3307<tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"></a>SATURATE&#160;</td><td class="fielddoc">
3308<p>Saturate. </p>
3309</td></tr>
3310</table>
3311
Anthony Barbier46d59272017-05-04 09:15:15 +01003312<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00194">194</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3313<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;{</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">arm_compute::ConvertPolicy::WRAP</a></div><div class="ttdoc">Wrap around. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003314<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>
3315</div><!-- fragment -->
3316</div>
3317</div>
3318<a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6"></a>
3319<div class="memitem">
3320<div class="memproto">
3321<table class="mlabels">
3322 <tr>
3323 <td class="mlabels-left">
3324 <table class="memname">
3325 <tr>
3326 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a></td>
3327 </tr>
3328 </table>
3329 </td>
3330 <td class="mlabels-right">
3331<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3332 </tr>
3333</table>
3334</div><div class="memdoc">
3335
3336<p>Available data types. </p>
3337<table class="fieldtable">
3338<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
3339</td></tr>
3340<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5"></a>U8&#160;</td><td class="fielddoc">
3341</td></tr>
3342<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8&#160;</td><td class="fielddoc">
3343</td></tr>
3344<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16&#160;</td><td class="fielddoc">
3345</td></tr>
3346<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16&#160;</td><td class="fielddoc">
3347</td></tr>
3348<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32&#160;</td><td class="fielddoc">
3349</td></tr>
3350<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32&#160;</td><td class="fielddoc">
3351</td></tr>
3352<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64&#160;</td><td class="fielddoc">
3353</td></tr>
3354<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"></a>S64&#160;</td><td class="fielddoc">
3355</td></tr>
3356<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94"></a>F16&#160;</td><td class="fielddoc">
3357</td></tr>
3358<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32&#160;</td><td class="fielddoc">
3359</td></tr>
3360<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"></a>F64&#160;</td><td class="fielddoc">
3361</td></tr>
3362<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"></a>SIZET&#160;</td><td class="fielddoc">
3363</td></tr>
3364</table>
3365
Anthony Barbier46d59272017-05-04 09:15:15 +01003366<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00060">60</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3367<div class="fragment"><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;{</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">Unknown image format. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003368<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>
3369<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>
3370<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a></div></div>
3371<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>
3372<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>
3373<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">arm_compute::DataType::S64</a></div></div>
3374<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">arm_compute::DataType::SIZET</a></div></div>
3375<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>
3376<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>
3377<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div></div>
3378<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div></div>
3379<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div></div>
3380</div><!-- fragment -->
3381</div>
3382</div>
3383<a class="anchor" id="a1fece1bd804e64f39f602d1c3969849a"></a>
3384<div class="memitem">
3385<div class="memproto">
3386<table class="mlabels">
3387 <tr>
3388 <td class="mlabels-left">
3389 <table class="memname">
3390 <tr>
3391 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a></td>
3392 </tr>
3393 </table>
3394 </td>
3395 <td class="mlabels-right">
3396<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3397 </tr>
3398</table>
3399</div><div class="memdoc">
3400
3401<p>Dimension rounding type when down-scaling on CNNs. </p>
3402<dl class="section note"><dt>Note</dt><dd>Used in pooling and convolution layer </dd></dl>
3403<table class="fieldtable">
3404<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"></a>FLOOR&#160;</td><td class="fielddoc">
3405<p>Floor rounding. </p>
3406</td></tr>
3407<tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"></a>CEIL&#160;</td><td class="fielddoc">
3408<p>Ceil rounding. </p>
3409</td></tr>
3410</table>
3411
Anthony Barbier46d59272017-05-04 09:15:15 +01003412<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00361">361</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3413<div class="fragment"><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;{</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">arm_compute::DimensionRoundingType::CEIL</a></div><div class="ttdoc">Ceil rounding. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003414<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>
3415</div><!-- fragment -->
3416</div>
3417</div>
3418<a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58"></a>
3419<div class="memitem">
3420<div class="memproto">
3421<table class="mlabels">
3422 <tr>
3423 <td class="mlabels-left">
3424 <table class="memname">
3425 <tr>
3426 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a></td>
3427 </tr>
3428 </table>
3429 </td>
3430 <td class="mlabels-right">
3431<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3432 </tr>
3433</table>
3434</div><div class="memdoc">
3435
3436<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. </p>
3437<table class="fieldtable">
3438<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
3439</td></tr>
3440<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"></a>U8&#160;</td><td class="fielddoc">
3441<p>Unknown image format. </p>
3442</td></tr>
3443<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"></a>S16&#160;</td><td class="fielddoc">
3444<p>1 channel, 1 U8 per channel </p>
3445</td></tr>
3446<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16&#160;</td><td class="fielddoc">
3447<p>1 channel, 1 S16 per channel </p>
3448</td></tr>
3449<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"></a>S32&#160;</td><td class="fielddoc">
3450<p>1 channel, 1 U16 per channel </p>
3451</td></tr>
3452<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32&#160;</td><td class="fielddoc">
3453<p>1 channel, 1 S32 per channel </p>
3454</td></tr>
3455<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"></a>F16&#160;</td><td class="fielddoc">
3456<p>1 channel, 1 U32 per channel </p>
3457</td></tr>
3458<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32&#160;</td><td class="fielddoc">
3459<p>1 channel, 1 F16 per channel </p>
3460</td></tr>
3461<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"></a>UV88&#160;</td><td class="fielddoc">
3462<p>1 channel, 1 F32 per channel </p>
3463</td></tr>
3464<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"></a>RGB888&#160;</td><td class="fielddoc">
3465<p>2 channel, 1 U8 per channel </p>
3466</td></tr>
3467<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"></a>RGBA8888&#160;</td><td class="fielddoc">
3468<p>3 channels, 1 U8 per channel </p>
3469</td></tr>
3470<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"></a>YUV444&#160;</td><td class="fielddoc">
3471<p>4 channels, 1 U8 per channel </p>
3472</td></tr>
3473<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"></a>YUYV422&#160;</td><td class="fielddoc">
3474<p>A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </p>
3475</td></tr>
3476<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"></a>NV12&#160;</td><td class="fielddoc">
3477<p>A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </p>
3478</td></tr>
3479<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"></a>NV21&#160;</td><td class="fielddoc">
3480<p>A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </p>
3481</td></tr>
3482<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"></a>IYUV&#160;</td><td class="fielddoc">
3483<p>A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </p>
3484</td></tr>
3485<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"></a>UYVY422&#160;</td><td class="fielddoc">
3486<p>A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </p>
3487<p>A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte </p>
3488</td></tr>
3489</table>
3490
Anthony Barbier46d59272017-05-04 09:15:15 +01003491<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00038">38</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3492<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;};</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>
Anthony Barbier871448e2017-03-24 14:54:29 +00003493<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>
3494<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>
3495<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>
3496<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>
3497<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">arm_compute::Format::UNKNOWN</a></div></div>
3498<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>
3499<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>
3500<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>
3501<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>
3502<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>
3503<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>
3504<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>
3505<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>
3506<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>
3507<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>
3508<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>
3509</div><!-- fragment -->
3510</div>
3511</div>
3512<a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3"></a>
3513<div class="memitem">
3514<div class="memproto">
3515<table class="mlabels">
3516 <tr>
3517 <td class="mlabels-left">
3518 <table class="memname">
3519 <tr>
3520 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a></td>
3521 </tr>
3522 </table>
3523 </td>
3524 <td class="mlabels-right">
3525<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3526 </tr>
3527</table>
3528</div><div class="memdoc">
3529
3530<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>
3531<table class="fieldtable">
3532<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM&#160;</td><td class="fielddoc">
3533<p>L2-norm. </p>
3534</td></tr>
3535<tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"></a>L2HYS_NORM&#160;</td><td class="fielddoc">
3536<p>L2-norm followed by clipping. </p>
3537</td></tr>
3538<tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"></a>L1_NORM&#160;</td><td class="fielddoc">
3539<p>L1 norm. </p>
3540</td></tr>
3541<tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52"></a>L1SQRT_NORM&#160;</td><td class="fielddoc">
3542<p>L1 norm with SQRT. </p>
3543</td></tr>
3544</table>
3545
Anthony Barbier46d59272017-05-04 09:15:15 +01003546<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00334">334</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3547<div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;{</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>, </div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>, </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>, </div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a9b9f2c16d5d031b7057832d23906af52">L1SQRT_NORM</a> </div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a></div><div class="ttdoc">L2-norm followed by clipping. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003548<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>
3549<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>
3550<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>
3551</div><!-- fragment -->
3552</div>
3553</div>
3554<a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9"></a>
3555<div class="memitem">
3556<div class="memproto">
3557<table class="mlabels">
3558 <tr>
3559 <td class="mlabels-left">
3560 <table class="memname">
3561 <tr>
3562 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a></td>
3563 </tr>
3564 </table>
3565 </td>
3566 <td class="mlabels-right">
3567<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3568 </tr>
3569</table>
3570</div><div class="memdoc">
3571
3572<p>Interpolation method. </p>
3573<table class="fieldtable">
3574<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"></a>NEAREST_NEIGHBOR&#160;</td><td class="fielddoc">
3575<p>Output values are defined to match the source pixel whose center is nearest to the sample position. </p>
3576</td></tr>
3577<tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"></a>BILINEAR&#160;</td><td class="fielddoc">
3578<p>Output values are defined by bilinear interpolation between the pixels. </p>
3579</td></tr>
3580<tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"></a>AREA&#160;</td><td class="fielddoc">
3581<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>
3582</td></tr>
3583</table>
3584
Anthony Barbier46d59272017-05-04 09:15:15 +01003585<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00201">201</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3586<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">arm_compute::InterpolationPolicy::BILINEAR</a></div><div class="ttdoc">Output values are defined by bilinear interpolation between the pixels. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003587<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>
3588<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>
3589</div><!-- fragment -->
3590</div>
3591</div>
3592<a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8a"></a>
3593<div class="memitem">
3594<div class="memproto">
3595<table class="mlabels">
3596 <tr>
3597 <td class="mlabels-left">
3598 <table class="memname">
3599 <tr>
3600 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a></td>
3601 </tr>
3602 </table>
3603 </td>
3604 <td class="mlabels-right">
3605<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3606 </tr>
3607</table>
3608</div><div class="memdoc">
3609
3610<p>Magnitude calculation type. </p>
3611<table class="fieldtable">
3612<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"></a>L1NORM&#160;</td><td class="fielddoc">
3613<p>L1 normalization type. </p>
3614</td></tr>
3615<tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"></a>L2NORM&#160;</td><td class="fielddoc">
3616<p>L2 normalization type. </p>
3617</td></tr>
3618</table>
3619
Anthony Barbier46d59272017-05-04 09:15:15 +01003620<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00238">238</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3621<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;{</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">arm_compute::MagnitudeType::L1NORM</a></div><div class="ttdoc">L1 normalization type. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003622<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>
3623</div><!-- fragment -->
3624</div>
3625</div>
3626<a class="anchor" id="afdda916edc7502967bbec17ea3c06c02"></a>
3627<div class="memitem">
3628<div class="memproto">
3629<table class="mlabels">
3630 <tr>
3631 <td class="mlabels-left">
3632 <table class="memname">
3633 <tr>
3634 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a></td>
3635 </tr>
3636 </table>
3637 </td>
3638 <td class="mlabels-right">
3639<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3640 </tr>
3641</table>
3642</div><div class="memdoc">
3643
3644<p>Available matrix patterns. </p>
3645<table class="fieldtable">
3646<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"></a>BOX&#160;</td><td class="fielddoc">
3647<p>Box pattern matrix. </p>
3648</td></tr>
3649<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"></a>CROSS&#160;</td><td class="fielddoc">
3650<p>Cross pattern matrix. </p>
3651</td></tr>
3652<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"></a>DISK&#160;</td><td class="fielddoc">
3653<p>Disk pattern matrix. </p>
3654</td></tr>
3655<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"></a>OTHER&#160;</td><td class="fielddoc">
3656<p>Any other matrix pattern. </p>
3657</td></tr>
3658</table>
3659
Anthony Barbier46d59272017-05-04 09:15:15 +01003660<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00310">310</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3661<div class="fragment"><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;{</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">arm_compute::MatrixPattern::DISK</a></div><div class="ttdoc">Disk pattern matrix. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003662<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>
3663<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>
3664<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>
3665</div><!-- fragment -->
3666</div>
3667</div>
3668<a class="anchor" id="adf2ced65e536375a1c96425d9fced858"></a>
3669<div class="memitem">
3670<div class="memproto">
3671<table class="mlabels">
3672 <tr>
3673 <td class="mlabels-left">
3674 <table class="memname">
3675 <tr>
3676 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned</td>
3677 </tr>
3678 </table>
3679 </td>
3680 <td class="mlabels-right">
3681<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3682 </tr>
3683</table>
3684</div><div class="memdoc">
3685
3686<p>Available non linear functions. </p>
3687<table class="fieldtable">
3688<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"></a>MEDIAN&#160;</td><td class="fielddoc">
3689<p>Non linear median filter. </p>
3690</td></tr>
3691<tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"></a>MIN&#160;</td><td class="fielddoc">
3692<p>Non linear erode. </p>
3693</td></tr>
3694<tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"></a>MAX&#160;</td><td class="fielddoc">
3695<p>Non linear dilate. </p>
3696</td></tr>
3697</table>
3698
Anthony Barbier46d59272017-05-04 09:15:15 +01003699<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00319">319</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3700<div class="fragment"><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; : <span class="keywordtype">unsigned</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;{</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003701<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>
3702<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>
3703</div><!-- fragment -->
3704</div>
3705</div>
3706<a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59ca"></a>
3707<div class="memitem">
3708<div class="memproto">
3709<table class="mlabels">
3710 <tr>
3711 <td class="mlabels-left">
3712 <table class="memname">
3713 <tr>
3714 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a></td>
3715 </tr>
3716 </table>
3717 </td>
3718 <td class="mlabels-right">
3719<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3720 </tr>
3721</table>
3722</div><div class="memdoc">
3723
3724<p>The normalization type used for the normalization layer. </p>
3725<table class="fieldtable">
3726<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2"></a>IN_MAP&#160;</td><td class="fielddoc">
3727</td></tr>
3728<tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"></a>CROSS_MAP&#160;</td><td class="fielddoc">
3729</td></tr>
3730</table>
3731
Anthony Barbier46d59272017-05-04 09:15:15 +01003732<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00327">327</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3733<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;{</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa531d6a3a92fd17afd3c7a8de8d5834c2">IN_MAP</a>, <span class="comment">/* Normalization applied within the same map */</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> <span class="comment">/* Normalization applied cross maps */</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;};</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>
Anthony Barbier871448e2017-03-24 14:54:29 +00003734<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>
3735</div><!-- fragment -->
3736</div>
3737</div>
3738<a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72"></a>
3739<div class="memitem">
3740<div class="memproto">
3741<table class="mlabels">
3742 <tr>
3743 <td class="mlabels-left">
3744 <table class="memname">
3745 <tr>
3746 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a></td>
3747 </tr>
3748 </table>
3749 </td>
3750 <td class="mlabels-right">
3751<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3752 </tr>
3753</table>
3754</div><div class="memdoc">
3755
3756<p>Phase calculation type. </p>
3757<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>
3758<table class="fieldtable">
3759<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"></a>SIGNED&#160;</td><td class="fielddoc">
3760<p>Angle range: [0, 360]. </p>
3761</td></tr>
3762<tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"></a>UNSIGNED&#160;</td><td class="fielddoc">
3763<p>Angle range: [0, 180]. </p>
3764</td></tr>
3765</table>
3766
Anthony Barbier46d59272017-05-04 09:15:15 +01003767<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00248">248</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3768<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">arm_compute::PhaseType::UNSIGNED</a></div><div class="ttdoc">Angle range: [0, 180]. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003769<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>
3770</div><!-- fragment -->
3771</div>
3772</div>
3773<a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93"></a>
3774<div class="memitem">
3775<div class="memproto">
3776<table class="mlabels">
3777 <tr>
3778 <td class="mlabels-left">
3779 <table class="memname">
3780 <tr>
3781 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a></td>
3782 </tr>
3783 </table>
3784 </td>
3785 <td class="mlabels-right">
3786<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3787 </tr>
3788</table>
3789</div><div class="memdoc">
3790
3791<p>Available pooling types. </p>
3792<table class="fieldtable">
3793<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5"></a>MAX&#160;</td><td class="fielddoc">
3794<p>Max Pooling. </p>
3795</td></tr>
3796<tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"></a>AVG&#160;</td><td class="fielddoc">
3797<p>Average Pooling. </p>
3798</td></tr>
3799</table>
3800
Anthony Barbier46d59272017-05-04 09:15:15 +01003801<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00368">368</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3802<div class="fragment"><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;{</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a> </div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;};</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>
Anthony Barbier871448e2017-03-24 14:54:29 +00003803<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>
3804</div><!-- fragment -->
3805</div>
3806</div>
3807<a class="anchor" id="add6426cbf2e057a195846d4ba09a50be"></a>
3808<div class="memitem">
3809<div class="memproto">
3810<table class="mlabels">
3811 <tr>
3812 <td class="mlabels-left">
3813 <table class="memname">
3814 <tr>
3815 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a></td>
3816 </tr>
3817 </table>
3818 </td>
3819 <td class="mlabels-right">
3820<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3821 </tr>
3822</table>
3823</div><div class="memdoc">
3824
3825<p>Rounding method. </p>
3826<table class="fieldtable">
3827<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO&#160;</td><td class="fielddoc">
3828<p>Truncates the least significand values that are lost in operations. </p>
3829</td></tr>
3830<tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"></a>TO_NEAREST_EVEN&#160;</td><td class="fielddoc">
3831<p>Rounds to nearest even output value. </p>
3832</td></tr>
3833</table>
3834
Anthony Barbier46d59272017-05-04 09:15:15 +01003835<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00223">223</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3836<div class="fragment"><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;{</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>, </div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a> </div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;};</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>
Anthony Barbier871448e2017-03-24 14:54:29 +00003837<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>
3838</div><!-- fragment -->
3839</div>
3840</div>
3841<a class="anchor" id="a08c1503414e23f5dd10ff83492685453"></a>
3842<div class="memitem">
3843<div class="memproto">
3844<table class="mlabels">
3845 <tr>
3846 <td class="mlabels-left">
3847 <table class="memname">
3848 <tr>
3849 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a></td>
3850 </tr>
3851 </table>
3852 </td>
3853 <td class="mlabels-right">
3854<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3855 </tr>
3856</table>
3857</div><div class="memdoc">
3858
3859<p>Termination criteria. </p>
3860<table class="fieldtable">
3861<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"></a>TERM_CRITERIA_EPSILON&#160;</td><td class="fielddoc">
3862</td></tr>
3863<tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"></a>TERM_CRITERIA_ITERATIONS&#160;</td><td class="fielddoc">
3864</td></tr>
3865<tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"></a>TERM_CRITERIA_BOTH&#160;</td><td class="fielddoc">
3866</td></tr>
3867</table>
3868
Anthony Barbier46d59272017-05-04 09:15:15 +01003869<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00230">230</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3870<div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;{</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">arm_compute::Termination::TERM_CRITERIA_EPSILON</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003871<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>
3872<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>
3873</div><!-- fragment -->
3874</div>
3875</div>
3876<a class="anchor" id="a3e6b23e675649b83240691abbc42a649"></a>
3877<div class="memitem">
3878<div class="memproto">
3879<table class="mlabels">
3880 <tr>
3881 <td class="mlabels-left">
3882 <table class="memname">
3883 <tr>
3884 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a></td>
3885 </tr>
3886 </table>
3887 </td>
3888 <td class="mlabels-right">
3889<span class="mlabels"><span class="mlabel">strong</span></span> </td>
3890 </tr>
3891</table>
3892</div><div class="memdoc">
3893
3894<p>Threshold mode. </p>
3895<table class="fieldtable">
3896<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"></a>BINARY&#160;</td><td class="fielddoc">
3897<p>Threshold with one value. </p>
3898</td></tr>
3899<tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"></a>RANGE&#160;</td><td class="fielddoc">
3900<p>Threshold with two values. </p>
3901</td></tr>
3902</table>
3903
Anthony Barbier46d59272017-05-04 09:15:15 +01003904<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00216">216</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
3905<div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;{</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">arm_compute::ThresholdType::RANGE</a></div><div class="ttdoc">Threshold with two values. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00003906<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>
3907</div><!-- fragment -->
3908</div>
3909</div>
3910<h2 class="groupheader">Function Documentation</h2>
3911<a class="anchor" id="a41c1523098580451b378f76b8c37a0f0"></a>
3912<div class="memitem">
3913<div class="memproto">
3914<table class="mlabels">
3915 <tr>
3916 <td class="mlabels-left">
3917 <table class="memname">
3918 <tr>
3919 <td class="memname">int arm_compute::adjust_down </td>
3920 <td>(</td>
3921 <td class="paramtype">int&#160;</td>
3922 <td class="paramname"><em>required</em>, </td>
3923 </tr>
3924 <tr>
3925 <td class="paramkey"></td>
3926 <td></td>
3927 <td class="paramtype">int&#160;</td>
3928 <td class="paramname"><em>available</em>, </td>
3929 </tr>
3930 <tr>
3931 <td class="paramkey"></td>
3932 <td></td>
3933 <td class="paramtype">int&#160;</td>
3934 <td class="paramname"><em>step</em>&#160;</td>
3935 </tr>
3936 <tr>
3937 <td></td>
3938 <td>)</td>
3939 <td></td><td></td>
3940 </tr>
3941 </table>
3942 </td>
3943 <td class="mlabels-right">
3944<span class="mlabels"><span class="mlabel">inline</span></span> </td>
3945 </tr>
3946</table>
3947</div><div class="memdoc">
3948
3949<p>Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. </p>
3950<dl class="params"><dt>Parameters</dt><dd>
3951 <table class="params">
3952 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
3953 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
3954 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to decrease required bytes.</td></tr>
3955 </table>
3956 </dd>
3957</dl>
3958<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>
3959
3960<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>
3961
3962<p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>.</p>
3963<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step &lt;= 0);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">return</span> required - step * ((required - available + step - 1) / step);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
3964</div><!-- fragment -->
3965</div>
3966</div>
3967<a class="anchor" id="ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"></a>
3968<div class="memitem">
3969<div class="memproto">
3970<table class="mlabels">
3971 <tr>
3972 <td class="mlabels-left">
3973 <table class="memname">
3974 <tr>
3975 <td class="memname">int arm_compute::adjust_up </td>
3976 <td>(</td>
3977 <td class="paramtype">int&#160;</td>
3978 <td class="paramname"><em>required</em>, </td>
3979 </tr>
3980 <tr>
3981 <td class="paramkey"></td>
3982 <td></td>
3983 <td class="paramtype">int&#160;</td>
3984 <td class="paramname"><em>available</em>, </td>
3985 </tr>
3986 <tr>
3987 <td class="paramkey"></td>
3988 <td></td>
3989 <td class="paramtype">int&#160;</td>
3990 <td class="paramname"><em>step</em>&#160;</td>
3991 </tr>
3992 <tr>
3993 <td></td>
3994 <td>)</td>
3995 <td></td><td></td>
3996 </tr>
3997 </table>
3998 </td>
3999 <td class="mlabels-right">
4000<span class="mlabels"><span class="mlabel">inline</span></span> </td>
4001 </tr>
4002</table>
4003</div><div class="memdoc">
4004
4005<p>Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. </p>
4006<dl class="params"><dt>Parameters</dt><dd>
4007 <table class="params">
4008 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
4009 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
4010 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to increase required bytes.</td></tr>
4011 </table>
4012 </dd>
4013</dl>
4014<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>
4015
4016<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>
4017
4018<p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>.</p>
4019<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step &lt;= 0);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> required + step * ((available - required + step - 1) / step);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4020</div><!-- fragment -->
4021</div>
4022</div>
4023<a class="anchor" id="a64c17a5a42d2499a1626222ff9753b4d"></a>
4024<div class="memitem">
4025<div class="memproto">
4026 <table class="memname">
4027 <tr>
4028 <td class="memname">std::string arm_compute::build_information </td>
4029 <td>(</td>
4030 <td class="paramname"></td><td>)</td>
4031 <td></td>
4032 </tr>
4033 </table>
4034</div><div class="memdoc">
4035
4036<p>Returns the <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information. </p>
4037<p>Contains the version number and the build options used to build the library</p>
4038<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information </dd></dl>
4039
4040<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00058">DIV_CEIL()</a>.</p>
4041
4042</div>
4043</div>
4044<a class="anchor" id="a0101a40c4a6acc2af3b55afa7632f16a"></a>
4045<div class="memitem">
4046<div class="memproto">
4047<table class="mlabels">
4048 <tr>
4049 <td class="mlabels-left">
4050 <table class="memname">
4051 <tr>
4052 <td class="memname">uint32_t arm_compute::calculate_matrix_scale </td>
4053 <td>(</td>
4054 <td class="paramtype">const int16_t *&#160;</td>
4055 <td class="paramname"><em>matrix</em>, </td>
4056 </tr>
4057 <tr>
4058 <td class="paramkey"></td>
4059 <td></td>
4060 <td class="paramtype">unsigned int&#160;</td>
4061 <td class="paramname"><em>matrix_size</em>&#160;</td>
4062 </tr>
4063 <tr>
4064 <td></td>
4065 <td>)</td>
4066 <td></td><td></td>
4067 </tr>
4068 </table>
4069 </td>
4070 <td class="mlabels-right">
4071<span class="mlabels"><span class="mlabel">inline</span></span> </td>
4072 </tr>
4073</table>
4074</div><div class="memdoc">
4075
4076<p>Calculate the scale of the given square matrix. </p>
4077<p>The scale is the absolute value of the sum of all the coefficients in the matrix.</p>
4078<dl class="section note"><dt>Note</dt><dd>If the coefficients add up to 0 then the scale is set to 1.</dd></dl>
4079<dl class="params"><dt>Parameters</dt><dd>
4080 <table class="params">
4081 <tr><td class="paramdir">[in]</td><td class="paramname">matrix</td><td>Matrix coefficients </td></tr>
4082 <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>
4083 </table>
4084 </dd>
4085</dl>
4086<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>
4087
4088<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>
4089
4090<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>.</p>
4091<div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;{</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <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>&#160;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">return</span> std::max(1, std::abs(<a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(matrix, matrix + size, 0)));</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;}</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
4092</div><!-- fragment -->
4093</div>
4094</div>
4095<a class="anchor" id="aa8063930734453501dbe41f60c5a89d9"></a>
4096<div class="memitem">
4097<div class="memproto">
4098 <table class="memname">
4099 <tr>
4100 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
4101 <td>(</td>
4102 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
4103 <td class="paramname"><em>info</em>, </td>
4104 </tr>
4105 <tr>
4106 <td class="paramkey"></td>
4107 <td></td>
4108 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
4109 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
4110 </tr>
4111 <tr>
4112 <td class="paramkey"></td>
4113 <td></td>
4114 <td class="paramtype">bool&#160;</td>
4115 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
4116 </tr>
4117 <tr>
4118 <td class="paramkey"></td>
4119 <td></td>
4120 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
4121 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
4122 </tr>
4123 <tr>
4124 <td></td>
4125 <td>)</td>
4126 <td></td><td></td>
4127 </tr>
4128 </table>
4129</div><div class="memdoc">
4130
4131<p>Calculate the maximum window for a given tensor shape and border setting. </p>
4132<dl class="params"><dt>Parameters</dt><dd>
4133 <table class="params">
4134 <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>
4135 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
4136 <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>
4137 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
4138 </table>
4139 </dd>
4140</dl>
4141<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
4142
Anthony Barbier46d59272017-05-04 09:15:15 +01004143<p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00307">update_window_and_padding()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004144
4145</div>
4146</div>
4147<a class="anchor" id="a0451630695335182319ee53d785d0715"></a>
4148<div class="memitem">
4149<div class="memproto">
4150 <table class="memname">
4151 <tr>
4152 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
4153 <td>(</td>
4154 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
4155 <td class="paramname"><em>info</em>, </td>
4156 </tr>
4157 <tr>
4158 <td class="paramkey"></td>
4159 <td></td>
4160 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
4161 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
4162 </tr>
4163 <tr>
4164 <td class="paramkey"></td>
4165 <td></td>
4166 <td class="paramtype">bool&#160;</td>
4167 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
4168 </tr>
4169 <tr>
4170 <td class="paramkey"></td>
4171 <td></td>
4172 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
4173 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
4174 </tr>
4175 <tr>
4176 <td></td>
4177 <td>)</td>
4178 <td></td><td></td>
4179 </tr>
4180 </table>
4181</div><div class="memdoc">
4182
4183<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
4184<dl class="params"><dt>Parameters</dt><dd>
4185 <table class="params">
4186 <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>
4187 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
4188 <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>
4189 <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>
4190 </table>
4191 </dd>
4192</dl>
4193<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
4194
Anthony Barbier46d59272017-05-04 09:15:15 +01004195<p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00307">update_window_and_padding()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004196
4197</div>
4198</div>
4199<a class="anchor" id="adf0c6059174045f80af46a0f1fb57bc6"></a>
4200<div class="memitem">
4201<div class="memproto">
4202<table class="mlabels">
4203 <tr>
4204 <td class="mlabels-left">
4205 <table class="memname">
4206 <tr>
4207 <td class="memname">auto arm_compute::ceil_to_multiple </td>
4208 <td>(</td>
4209 <td class="paramtype">S&#160;</td>
4210 <td class="paramname"><em>value</em>, </td>
4211 </tr>
4212 <tr>
4213 <td class="paramkey"></td>
4214 <td></td>
4215 <td class="paramtype">T&#160;</td>
4216 <td class="paramname"><em>divisor</em>&#160;</td>
4217 </tr>
4218 <tr>
4219 <td></td>
4220 <td>)</td>
4221 <td></td><td> -&gt; decltype(((value + divisor - 1) / divisor) * divisor)
4222</td>
4223 </tr>
4224 </table>
4225 </td>
4226 <td class="mlabels-right">
4227<span class="mlabels"><span class="mlabel">inline</span></span> </td>
4228 </tr>
4229</table>
4230</div><div class="memdoc">
4231
4232<p>Computes the smallest number larger or equal to value that is a multiple of divisor. </p>
4233
4234<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>
4235
4236<p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>.</p>
4237
4238<p>Referenced by <a class="el" href="_window_8inl_source.xhtml#l00053">Window::scale()</a>.</p>
4239<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value &lt; 0 || divisor &lt;= 0);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> ((value + divisor - 1) / divisor) * divisor;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4240</div><!-- fragment -->
4241</div>
4242</div>
4243<a class="anchor" id="af2be1325decaa34a8a1199af177148c6"></a>
4244<div class="memitem">
4245<div class="memproto">
4246 <table class="memname">
4247 <tr>
4248 <td class="memname">void arm_compute::colorconvert_iyuv_to_nv12 </td>
4249 <td>(</td>
4250 <td class="paramtype">const void *__restrict&#160;</td>
4251 <td class="paramname"><em>input</em>, </td>
4252 </tr>
4253 <tr>
4254 <td class="paramkey"></td>
4255 <td></td>
4256 <td class="paramtype">void *__restrict&#160;</td>
4257 <td class="paramname"><em>output</em>, </td>
4258 </tr>
4259 <tr>
4260 <td class="paramkey"></td>
4261 <td></td>
4262 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4263 <td class="paramname"><em>win</em>&#160;</td>
4264 </tr>
4265 <tr>
4266 <td></td>
4267 <td>)</td>
4268 <td></td><td></td>
4269 </tr>
4270 </table>
4271</div><div class="memdoc">
4272
4273<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>
4274
4275<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>
4276<div class="fragment"><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;{</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; win.validate();</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; win_uv.validate();</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keyword">const</span> <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>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; uint8x16x2_t ta_uv;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; },</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4277<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4278</div><!-- fragment -->
4279</div>
4280</div>
4281<a class="anchor" id="a6e42fac1baa264b033ac430b63ebd145"></a>
4282<div class="memitem">
4283<div class="memproto">
4284 <table class="memname">
4285 <tr>
4286 <td class="memname">void arm_compute::colorconvert_iyuv_to_rgb </td>
4287 <td>(</td>
4288 <td class="paramtype">const void *__restrict&#160;</td>
4289 <td class="paramname"><em>input</em>, </td>
4290 </tr>
4291 <tr>
4292 <td class="paramkey"></td>
4293 <td></td>
4294 <td class="paramtype">void *__restrict&#160;</td>
4295 <td class="paramname"><em>output</em>, </td>
4296 </tr>
4297 <tr>
4298 <td class="paramkey"></td>
4299 <td></td>
4300 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4301 <td class="paramname"><em>win</em>&#160;</td>
4302 </tr>
4303 <tr>
4304 <td></td>
4305 <td>)</td>
4306 <td></td><td></td>
4307 </tr>
4308 </table>
4309</div><div class="memdoc">
4310
4311<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>
4312
4313<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&lt; T &gt;::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
4314<div class="fragment"><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;{</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; win.validate();</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;<a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">info</a>()-&gt;<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>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; win_uv.validate();</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; convert_uint8x16_to_float32x4x4(ta_u, uvec);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; convert_uint8x16_to_float32x4x4(ta_v, vvec);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; 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>&#160; yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, alpha);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, alpha);</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, alpha);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, alpha);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; },</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; in_y, in_u, in_v, out);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4315<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&amp;#39;s metadata. </div></div>
4316<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4317<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>
4318<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>
4319<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 &amp; 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>
4320</div><!-- fragment -->
4321</div>
4322</div>
4323<a class="anchor" id="a08e9d88293a5cef787bb324c2dc0a6bf"></a>
4324<div class="memitem">
4325<div class="memproto">
4326 <table class="memname">
4327 <tr>
4328 <td class="memname">void arm_compute::colorconvert_iyuv_to_yuv4 </td>
4329 <td>(</td>
4330 <td class="paramtype">const void *__restrict&#160;</td>
4331 <td class="paramname"><em>input</em>, </td>
4332 </tr>
4333 <tr>
4334 <td class="paramkey"></td>
4335 <td></td>
4336 <td class="paramtype">void *__restrict&#160;</td>
4337 <td class="paramname"><em>output</em>, </td>
4338 </tr>
4339 <tr>
4340 <td class="paramkey"></td>
4341 <td></td>
4342 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4343 <td class="paramname"><em>win</em>&#160;</td>
4344 </tr>
4345 <tr>
4346 <td></td>
4347 <td>)</td>
4348 <td></td><td></td>
4349 </tr>
4350 </table>
4351</div><div class="memdoc">
4352
4353<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>
4354
4355<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>
4356<div class="fragment"><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;{</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; win.validate();</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; win_uv.validate();</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; {</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <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>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; uint8x16x2_t uvec;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; uvec.val[0] = ta_u;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; uvec.val[1] = ta_u;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; uint8x16x2_t vvec;</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; vvec.val[0] = ta_v;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; vvec.val[1] = ta_v;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; },</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4357<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4358</div><!-- fragment -->
4359</div>
4360</div>
4361<a class="anchor" id="a199d36780fbb4a70168f290480673650"></a>
4362<div class="memitem">
4363<div class="memproto">
4364 <table class="memname">
4365 <tr>
4366 <td class="memname">void arm_compute::colorconvert_nv12_to_iyuv </td>
4367 <td>(</td>
4368 <td class="paramtype">const void *__restrict&#160;</td>
4369 <td class="paramname"><em>input</em>, </td>
4370 </tr>
4371 <tr>
4372 <td class="paramkey"></td>
4373 <td></td>
4374 <td class="paramtype">void *__restrict&#160;</td>
4375 <td class="paramname"><em>output</em>, </td>
4376 </tr>
4377 <tr>
4378 <td class="paramkey"></td>
4379 <td></td>
4380 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4381 <td class="paramname"><em>win</em>&#160;</td>
4382 </tr>
4383 <tr>
4384 <td></td>
4385 <td>)</td>
4386 <td></td><td></td>
4387 </tr>
4388 </table>
4389</div><div class="memdoc">
4390
4391<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>
4392
4393<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>
4394<div class="fragment"><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;{</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; win.validate();</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; win_uv.validate();</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; {</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <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>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; },</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4395<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4396</div><!-- fragment -->
4397</div>
4398</div>
4399<a class="anchor" id="ae6a44e412bccc0705a720708b0692218"></a>
4400<div class="memitem">
4401<div class="memproto">
4402 <table class="memname">
4403 <tr>
4404 <td class="memname">void arm_compute::colorconvert_nv12_to_rgb </td>
4405 <td>(</td>
4406 <td class="paramtype">const void *__restrict&#160;</td>
4407 <td class="paramname"><em>input</em>, </td>
4408 </tr>
4409 <tr>
4410 <td class="paramkey"></td>
4411 <td></td>
4412 <td class="paramtype">void *__restrict&#160;</td>
4413 <td class="paramname"><em>output</em>, </td>
4414 </tr>
4415 <tr>
4416 <td class="paramkey"></td>
4417 <td></td>
4418 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4419 <td class="paramname"><em>win</em>&#160;</td>
4420 </tr>
4421 <tr>
4422 <td></td>
4423 <td>)</td>
4424 <td></td><td></td>
4425 </tr>
4426 </table>
4427</div><div class="memdoc">
4428
4429<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>
4430
4431<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&lt; T &gt;::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
4432<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;{</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; win.validate();</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;<a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a8df2a8ec8fcd4258450270f15651b6c9">info</a>()-&gt;<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>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win.x().step() / 2));</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; win_uv.validate();</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="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>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, alpha);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, alpha);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, alpha);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, alpha);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; },</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; in_y, in_uv, out);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4433<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&amp;#39;s metadata. </div></div>
4434<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4435<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>
4436<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>
4437<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 &amp; 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>
4438</div><!-- fragment -->
4439</div>
4440</div>
4441<a class="anchor" id="a587a54c85dcc72838b8f4b5575ebafe4"></a>
4442<div class="memitem">
4443<div class="memproto">
4444 <table class="memname">
4445 <tr>
4446 <td class="memname">void arm_compute::colorconvert_nv12_to_yuv4 </td>
4447 <td>(</td>
4448 <td class="paramtype">const void *__restrict&#160;</td>
4449 <td class="paramname"><em>input</em>, </td>
4450 </tr>
4451 <tr>
4452 <td class="paramkey"></td>
4453 <td></td>
4454 <td class="paramtype">void *__restrict&#160;</td>
4455 <td class="paramname"><em>output</em>, </td>
4456 </tr>
4457 <tr>
4458 <td class="paramkey"></td>
4459 <td></td>
4460 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4461 <td class="paramname"><em>win</em>&#160;</td>
4462 </tr>
4463 <tr>
4464 <td></td>
4465 <td>)</td>
4466 <td></td><td></td>
4467 </tr>
4468 </table>
4469</div><div class="memdoc">
4470
4471<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>
4472
4473<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>
4474<div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;{</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; win.validate();</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; win_uv.validate();</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <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>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; uint8x16x2_t uvec;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; uvec.val[0] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; uvec.val[1] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; vst2q_u8(out_u.ptr() + output_ptr-&gt;plane(1)-&gt;info()-&gt;strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; uint8x16x2_t vvec;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; vvec.val[0] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; vvec.val[1] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; vst2q_u8(out_v.ptr() + output_ptr-&gt;plane(2)-&gt;info()-&gt;strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; },</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4475<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4476</div><!-- fragment -->
4477</div>
4478</div>
4479<a class="anchor" id="a49b7a8e217ba7aad821fdeaab86bad53"></a>
4480<div class="memitem">
4481<div class="memproto">
4482 <table class="memname">
4483 <tr>
4484 <td class="memname">void arm_compute::colorconvert_rgb_to_iyuv </td>
4485 <td>(</td>
4486 <td class="paramtype">const void *__restrict&#160;</td>
4487 <td class="paramname"><em>input</em>, </td>
4488 </tr>
4489 <tr>
4490 <td class="paramkey"></td>
4491 <td></td>
4492 <td class="paramtype">void *__restrict&#160;</td>
4493 <td class="paramname"><em>output</em>, </td>
4494 </tr>
4495 <tr>
4496 <td class="paramkey"></td>
4497 <td></td>
4498 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4499 <td class="paramname"><em>win</em>&#160;</td>
4500 </tr>
4501 <tr>
4502 <td></td>
4503 <td>)</td>
4504 <td></td><td></td>
4505 </tr>
4506 </table>
4507</div><div class="memdoc">
4508
4509<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>
4510
4511<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>
4512<div class="fragment"><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;{</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; win.validate();</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; win_uv.validate();</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; {</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <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>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), alpha);</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; store_rgb_to_iyuv(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; },</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; in, out_y, out_u, out_v);</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4513<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4514<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>
4515</div><!-- fragment -->
4516</div>
4517</div>
4518<a class="anchor" id="a14fd899b732509e245976b9967b8931d"></a>
4519<div class="memitem">
4520<div class="memproto">
4521 <table class="memname">
4522 <tr>
4523 <td class="memname">void arm_compute::colorconvert_rgb_to_nv12 </td>
4524 <td>(</td>
4525 <td class="paramtype">const void *__restrict&#160;</td>
4526 <td class="paramname"><em>input</em>, </td>
4527 </tr>
4528 <tr>
4529 <td class="paramkey"></td>
4530 <td></td>
4531 <td class="paramtype">void *__restrict&#160;</td>
4532 <td class="paramname"><em>output</em>, </td>
4533 </tr>
4534 <tr>
4535 <td class="paramkey"></td>
4536 <td></td>
4537 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4538 <td class="paramname"><em>win</em>&#160;</td>
4539 </tr>
4540 <tr>
4541 <td></td>
4542 <td>)</td>
4543 <td></td><td></td>
4544 </tr>
4545 </table>
4546</div><div class="memdoc">
4547
4548<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>
4549
4550<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>
4551<div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;{</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; win.validate();</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; win_uv.validate();</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; {</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), alpha);</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y(), alpha);</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; store_rgb_to_nv12(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; out_y.ptr(), out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(),</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; out_uv.ptr());</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; },</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; in, out_y, out_uv);</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4552<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4553<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>
4554</div><!-- fragment -->
4555</div>
4556</div>
4557<a class="anchor" id="a93cc303c8ae098d264f07d37890412de"></a>
4558<div class="memitem">
4559<div class="memproto">
4560 <table class="memname">
4561 <tr>
4562 <td class="memname">void arm_compute::colorconvert_rgb_to_rgbx </td>
4563 <td>(</td>
4564 <td class="paramtype">const void *__restrict&#160;</td>
4565 <td class="paramname"><em>input</em>, </td>
4566 </tr>
4567 <tr>
4568 <td class="paramkey"></td>
4569 <td></td>
4570 <td class="paramtype">void *__restrict&#160;</td>
4571 <td class="paramname"><em>output</em>, </td>
4572 </tr>
4573 <tr>
4574 <td class="paramkey"></td>
4575 <td></td>
4576 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4577 <td class="paramname"><em>win</em>&#160;</td>
4578 </tr>
4579 <tr>
4580 <td></td>
4581 <td>)</td>
4582 <td></td><td></td>
4583 </tr>
4584 </table>
4585</div><div class="memdoc">
4586
4587<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>
4588
4589<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>
4590<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;{</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="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>&#160; uint8x16x4_t ta2;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; vst4q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; },</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; in, out);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4591<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4592<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>
4593</div><!-- fragment -->
4594</div>
4595</div>
4596<a class="anchor" id="ad304c0b0a72ed3f65c24fa69ab3cd53e"></a>
4597<div class="memitem">
4598<div class="memproto">
4599 <table class="memname">
4600 <tr>
4601 <td class="memname">void arm_compute::colorconvert_rgb_to_yuv4 </td>
4602 <td>(</td>
4603 <td class="paramtype">const void *__restrict&#160;</td>
4604 <td class="paramname"><em>input</em>, </td>
4605 </tr>
4606 <tr>
4607 <td class="paramkey"></td>
4608 <td></td>
4609 <td class="paramtype">void *__restrict&#160;</td>
4610 <td class="paramname"><em>output</em>, </td>
4611 </tr>
4612 <tr>
4613 <td class="paramkey"></td>
4614 <td></td>
4615 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4616 <td class="paramname"><em>win</em>&#160;</td>
4617 </tr>
4618 <tr>
4619 <td></td>
4620 <td>)</td>
4621 <td></td><td></td>
4622 </tr>
4623 </table>
4624</div><div class="memdoc">
4625
4626<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>
4627
4628<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>
4629<div class="fragment"><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;{</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; win.validate();</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; {</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(in.ptr(), alpha);</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; },</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; in, out_y, out_u, out_v);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4630<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4631<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>
4632</div><!-- fragment -->
4633</div>
4634</div>
4635<a class="anchor" id="acf7451c0d0f8a4b1cfbb60d7531a43aa"></a>
4636<div class="memitem">
4637<div class="memproto">
4638 <table class="memname">
4639 <tr>
4640 <td class="memname">void arm_compute::colorconvert_rgbx_to_rgb </td>
4641 <td>(</td>
4642 <td class="paramtype">const void *&#160;</td>
4643 <td class="paramname"><em>input</em>, </td>
4644 </tr>
4645 <tr>
4646 <td class="paramkey"></td>
4647 <td></td>
4648 <td class="paramtype">void *&#160;</td>
4649 <td class="paramname"><em>output</em>, </td>
4650 </tr>
4651 <tr>
4652 <td class="paramkey"></td>
4653 <td></td>
4654 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4655 <td class="paramname"><em>win</em>&#160;</td>
4656 </tr>
4657 <tr>
4658 <td></td>
4659 <td>)</td>
4660 <td></td><td></td>
4661 </tr>
4662 </table>
4663</div><div class="memdoc">
4664
4665<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>
4666
4667<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>
4668<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;{</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld4q_u8(in.ptr());</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; uint8x16x3_t ta2;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; vst3q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; },</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; in, out);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4669<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4670<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>
4671</div><!-- fragment -->
4672</div>
4673</div>
4674<a class="anchor" id="ae43e8f0463c0289169025c3041688d36"></a>
4675<div class="memitem">
4676<div class="memproto">
4677 <table class="memname">
4678 <tr>
4679 <td class="memname">void arm_compute::colorconvert_yuyv_to_iyuv </td>
4680 <td>(</td>
4681 <td class="paramtype">const void *__restrict&#160;</td>
4682 <td class="paramname"><em>input</em>, </td>
4683 </tr>
4684 <tr>
4685 <td class="paramkey"></td>
4686 <td></td>
4687 <td class="paramtype">void *__restrict&#160;</td>
4688 <td class="paramname"><em>output</em>, </td>
4689 </tr>
4690 <tr>
4691 <td class="paramkey"></td>
4692 <td></td>
4693 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4694 <td class="paramname"><em>win</em>&#160;</td>
4695 </tr>
4696 <tr>
4697 <td></td>
4698 <td>)</td>
4699 <td></td><td></td>
4700 </tr>
4701 </table>
4702</div><div class="memdoc">
4703
4704<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>
4705
4706<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>
4707<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;{</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; win.validate();</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="comment">// Destination&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; win_uv.validate();</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; {</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="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>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; uint8x16x2_t yvec;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; uint8x16x2_t yyvec;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; uint8x16_t uvec;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; vst1q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; uint8x16_t vvec;</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; vst1q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; },</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; in, out_y, out_u, out_v);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4708<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4709<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>
4710</div><!-- fragment -->
4711</div>
4712</div>
4713<a class="anchor" id="a8ee13904a3f5ba84b28cb53d956021d7"></a>
4714<div class="memitem">
4715<div class="memproto">
4716 <table class="memname">
4717 <tr>
4718 <td class="memname">void arm_compute::colorconvert_yuyv_to_nv12 </td>
4719 <td>(</td>
4720 <td class="paramtype">const void *__restrict&#160;</td>
4721 <td class="paramname"><em>input</em>, </td>
4722 </tr>
4723 <tr>
4724 <td class="paramkey"></td>
4725 <td></td>
4726 <td class="paramtype">void *__restrict&#160;</td>
4727 <td class="paramname"><em>output</em>, </td>
4728 </tr>
4729 <tr>
4730 <td class="paramkey"></td>
4731 <td></td>
4732 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4733 <td class="paramname"><em>win</em>&#160;</td>
4734 </tr>
4735 <tr>
4736 <td></td>
4737 <td>)</td>
4738 <td></td><td></td>
4739 </tr>
4740 </table>
4741</div><div class="memdoc">
4742
4743<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>
4744
4745<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>
4746<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;{</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; win.validate();</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span>IMultiImage *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="comment">// NV12&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; win_uv.validate();</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; {</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <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>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr-&gt;info()-&gt;strides_in_bytes().y());</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; uint8x16x2_t yvec;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; uint8x16x2_t yyvec;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; vst2q_u8(out_y.ptr() + output_ptr-&gt;plane(0)-&gt;info()-&gt;strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; uint8x16x2_t uvvec;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; vst2q_u8(out_uv.ptr(), uvvec);</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; },</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; in, out_y, out_uv);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4747<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4748<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>
4749</div><!-- fragment -->
4750</div>
4751</div>
4752<a class="anchor" id="a3c22c0d3494660b72b4fc04fec76f92d"></a>
4753<div class="memitem">
4754<div class="memproto">
4755 <table class="memname">
4756 <tr>
4757 <td class="memname">void arm_compute::colorconvert_yuyv_to_rgb </td>
4758 <td>(</td>
4759 <td class="paramtype">const void *__restrict&#160;</td>
4760 <td class="paramname"><em>input</em>, </td>
4761 </tr>
4762 <tr>
4763 <td class="paramkey"></td>
4764 <td></td>
4765 <td class="paramtype">void *__restrict&#160;</td>
4766 <td class="paramname"><em>output</em>, </td>
4767 </tr>
4768 <tr>
4769 <td class="paramkey"></td>
4770 <td></td>
4771 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
4772 <td class="paramname"><em>win</em>&#160;</td>
4773 </tr>
4774 <tr>
4775 <td></td>
4776 <td>)</td>
4777 <td></td><td></td>
4778 </tr>
4779 </table>
4780</div><div class="memdoc">
4781
4782<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>
4783
4784<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>
4785<div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;{</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(input);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">&gt;</span>(output);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; Iterator in(input_ptr, win);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; Iterator out(output_ptr, win);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a78fd1c0056e9add7ab01b8e118c0038d">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; {</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; float32x4x4_t uvec, yvec, vvec, yyvec;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta = vld4q_u8(in.ptr());</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; 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>&#160; 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>&#160; 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>&#160; 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>&#160; },</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; in, out);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
4786<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 &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div></div>
4787<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>
4788</div><!-- fragment -->
4789</div>
4790</div>
4791<a class="anchor" id="aedfc72aa9d25b8918734bd374421ee32"></a>
4792<div class="memitem">
4793<div class="memproto">
4794<table class="mlabels">
4795 <tr>
4796 <td class="mlabels-left">
4797 <table class="memname">
4798 <tr>
4799 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
4800 <td>(</td>
4801 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
4802 <td class="paramname"><em>info</em>, </td>
4803 </tr>
4804 <tr>
4805 <td class="paramkey"></td>
4806 <td></td>
4807 <td class="paramtype">T&#160;</td>
4808 <td class="paramname"><em>stride_x</em>, </td>
4809 </tr>
4810 <tr>
4811 <td class="paramkey"></td>
4812 <td></td>
4813 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
4814 <td class="paramname"><em>fixed_strides</em>&#160;</td>
4815 </tr>
4816 <tr>
4817 <td></td>
4818 <td>)</td>
4819 <td></td><td></td>
4820 </tr>
4821 </table>
4822 </td>
4823 <td class="mlabels-right">
4824<span class="mlabels"><span class="mlabel">inline</span></span> </td>
4825 </tr>
4826</table>
4827</div><div class="memdoc">
4828
4829<p>Create a strides object based on the provided strides and the tensor dimensions. </p>
4830<dl class="params"><dt>Parameters</dt><dd>
4831 <table class="params">
4832 <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>
4833 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride to be used in X dimension (in bytes). </td></tr>
4834 <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>
4835 </table>
4836 </dd>
4837</dl>
4838<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>
4839
Anthony Barbier46d59272017-05-04 09:15:15 +01004840<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00389">389</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004841
4842<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&lt; T &gt;::set()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00255">TensorInfo::tensor_shape()</a>.</p>
4843
Anthony Barbier46d59272017-05-04 09:15:15 +01004844<p>Referenced by <a class="el" href="_helpers_8h_source.xhtml#l00411">compute_strides()</a>.</p>
4845<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;{</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keyword">const</span> TensorShape &amp;shape = info.tensor_shape();</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">// Create strides object</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; Strides strides(stride_x, fixed_strides...);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i &lt; info.num_dimensions(); ++i)</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; {</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; strides.set(i, shape[i - 1] * strides[i - 1]);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; }</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">return</span> strides;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00004846</div>
4847</div>
4848<a class="anchor" id="a99bbb937f89cde6dfe346f566d41c707"></a>
4849<div class="memitem">
4850<div class="memproto">
4851<table class="mlabels">
4852 <tr>
4853 <td class="mlabels-left">
4854 <table class="memname">
4855 <tr>
4856 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
4857 <td>(</td>
4858 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
4859 <td class="paramname"><em>info</em></td><td>)</td>
4860 <td></td>
4861 </tr>
4862 </table>
4863 </td>
4864 <td class="mlabels-right">
4865<span class="mlabels"><span class="mlabel">inline</span></span> </td>
4866 </tr>
4867</table>
4868</div><div class="memdoc">
4869
4870<p>Create a strides object based on the tensor dimensions. </p>
4871<dl class="params"><dt>Parameters</dt><dd>
4872 <table class="params">
4873 <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>
4874 </table>
4875 </dd>
4876</dl>
4877<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>
4878
Anthony Barbier46d59272017-05-04 09:15:15 +01004879<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00411">411</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004880
Anthony Barbier46d59272017-05-04 09:15:15 +01004881<p>References <a class="el" href="_helpers_8h_source.xhtml#l00389">compute_strides()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00231">TensorInfo::element_size()</a>.</p>
4882<div class="fragment"><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;{</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a99bbb937f89cde6dfe346f566d41c707">compute_strides</a>(info, info.element_size());</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;}</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 &amp;info)</div><div class="ttdoc">Create a strides object based on the tensor dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8h_source.xhtml#l00411">Helpers.h:411</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004883</div><!-- fragment -->
4884</div>
4885</div>
4886<a class="anchor" id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
4887<div class="memitem">
4888<div class="memproto">
4889<table class="mlabels">
4890 <tr>
4891 <td class="mlabels-left">
4892 <table class="memname">
4893 <tr>
4894 <td class="memname">size_t arm_compute::data_size_from_type </td>
4895 <td>(</td>
4896 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
4897 <td class="paramname"><em>data_type</em></td><td>)</td>
4898 <td></td>
4899 </tr>
4900 </table>
4901 </td>
4902 <td class="mlabels-right">
4903<span class="mlabels"><span class="mlabel">inline</span></span> </td>
4904 </tr>
4905</table>
4906</div><div class="memdoc">
4907
4908<p>The size in bytes of the data type. </p>
4909<dl class="params"><dt>Parameters</dt><dd>
4910 <table class="params">
4911 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Input data type</td></tr>
4912 </table>
4913 </dd>
4914</dl>
4915<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
4916
4917<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>
4918
4919<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>
4920
4921<p>Referenced by <a class="el" href="_tensor_info_8h_source.xhtml#l00231">TensorInfo::element_size()</a>.</p>
4922<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;{</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">switch</span>(data_type)</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <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>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Invalid data type&quot;</span>);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
4923</div><!-- fragment -->
4924</div>
4925</div>
4926<a class="anchor" id="a01adc12d8e07c06cdb0f03c56a455bf3"></a>
4927<div class="memitem">
4928<div class="memproto">
4929<table class="mlabels">
4930 <tr>
4931 <td class="mlabels-left">
4932 <table class="memname">
4933 <tr>
4934 <td class="memname">std::pair&lt;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&gt; arm_compute::data_type_for_convolution </td>
4935 <td>(</td>
4936 <td class="paramtype">const int16_t *&#160;</td>
4937 <td class="paramname"><em>conv_col</em>, </td>
4938 </tr>
4939 <tr>
4940 <td class="paramkey"></td>
4941 <td></td>
4942 <td class="paramtype">const int16_t *&#160;</td>
4943 <td class="paramname"><em>conv_row</em>, </td>
4944 </tr>
4945 <tr>
4946 <td class="paramkey"></td>
4947 <td></td>
4948 <td class="paramtype">size_t&#160;</td>
4949 <td class="paramname"><em>size</em>&#160;</td>
4950 </tr>
4951 <tr>
4952 <td></td>
4953 <td>)</td>
4954 <td></td><td></td>
4955 </tr>
4956 </table>
4957 </td>
4958 <td class="mlabels-right">
4959<span class="mlabels"><span class="mlabel">inline</span></span> </td>
4960 </tr>
4961</table>
4962</div><div class="memdoc">
4963
4964<p>Calculate accurary required by the horizontal and vertical convolution computations. </p>
4965<dl class="params"><dt>Parameters</dt><dd>
4966 <table class="params">
4967 <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>
4968 <tr><td class="paramdir">[in]</td><td class="paramname">conv_row</td><td>Pointer to the horizontal vector of the convolution filter </td></tr>
4969 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of elements per vector of the separated matrix</td></tr>
4970 </table>
4971 </dd>
4972</dl>
4973<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>
4974
4975<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>
4976
4977<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>
4978<div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;{</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <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>&#160; <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>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &amp;v)</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; };</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keyword">auto</span> accu_neg = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &amp;first, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;second)</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">return</span> first + (second &lt; 0 ? second : 0);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; };</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keyword">auto</span> accu_pos = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &amp;first, <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;second)</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; {</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">return</span> first + (second &gt; 0 ? second : 0);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; };</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + size, gez) &amp;&amp; std::all_of(conv_col, conv_col + size, gez);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; {</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + size, 0) * max_row_value;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; first_stage = (max_row_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; second_stage = (max_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; {</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <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>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + size, 0, accu_pos) * UINT8_MAX;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> neg_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + size, 0, accu_neg);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> pos_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + size, 0, accu_pos);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = neg_coeffs_sum * max_row_value + pos_coeffs_sum * min_row_value;</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = neg_coeffs_sum * min_row_value + pos_coeffs_sum * max_row_value;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; first_stage = ((INT16_MIN &lt;= min_row_value) &amp;&amp; (max_row_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; second_stage = ((INT16_MIN &lt;= min_value) &amp;&amp; (max_value &lt;= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;}</div><div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
Anthony Barbier46d59272017-05-04 09:15:15 +01004979<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00060">Types.h:60</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004980</div><!-- fragment -->
4981</div>
4982</div>
4983<a class="anchor" id="a3992df9e8723140a53e49dc194d89ef5"></a>
4984<div class="memitem">
4985<div class="memproto">
4986<table class="mlabels">
4987 <tr>
4988 <td class="mlabels-left">
4989 <table class="memname">
4990 <tr>
4991 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_for_convolution_matrix </td>
4992 <td>(</td>
4993 <td class="paramtype">const int16_t *&#160;</td>
4994 <td class="paramname"><em>conv</em>, </td>
4995 </tr>
4996 <tr>
4997 <td class="paramkey"></td>
4998 <td></td>
4999 <td class="paramtype">size_t&#160;</td>
5000 <td class="paramname"><em>size</em>&#160;</td>
5001 </tr>
5002 <tr>
5003 <td></td>
5004 <td>)</td>
5005 <td></td><td></td>
5006 </tr>
5007 </table>
5008 </td>
5009 <td class="mlabels-right">
5010<span class="mlabels"><span class="mlabel">inline</span></span> </td>
5011 </tr>
5012</table>
5013</div><div class="memdoc">
5014
5015<p>Calculate the accuracy required by the squared convolution calculation. </p>
5016<dl class="params"><dt>Parameters</dt><dd>
5017 <table class="params">
5018 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>Pointer to the squared convolution matrix </td></tr>
5019 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The total size of the convolution matrix</td></tr>
5020 </table>
5021 </dd>
5022</dl>
5023<dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
5024
5025<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>
5026
5027<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>
5028<div class="fragment"><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;{</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <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>&#160; {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; };</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <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>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">if</span>(max_conv_value &lt;= UINT16_MAX)</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; {</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <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>&#160; {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">return</span> b &lt; 0 ? a + b : a;</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; })</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; * UINT8_MAX;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keyword">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>&#160; {</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">return</span> b &gt; 0 ? a + b : a;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; })</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; * UINT8_MAX;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">if</span>((INT16_MIN &lt;= min_value) &amp;&amp; (INT16_MAX &gt;= max_value))</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; {</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; }</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; {</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; }</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; }</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;}</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>
5029</div><!-- fragment -->
5030</div>
5031</div>
5032<a class="anchor" id="a59846ef5ca75cd81cdb7e8a1ce08f9db"></a>
5033<div class="memitem">
5034<div class="memproto">
5035<table class="mlabels">
5036 <tr>
5037 <td class="mlabels-left">
5038 <table class="memname">
5039 <tr>
5040 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_from_format </td>
5041 <td>(</td>
5042 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
5043 <td class="paramname"><em>format</em></td><td>)</td>
5044 <td></td>
5045 </tr>
5046 </table>
5047 </td>
5048 <td class="mlabels-right">
5049<span class="mlabels"><span class="mlabel">inline</span></span> </td>
5050 </tr>
5051</table>
5052</div><div class="memdoc">
5053
5054<p>Return the data type used by a given single-planar pixel format. </p>
5055<dl class="params"><dt>Parameters</dt><dd>
5056 <table class="params">
5057 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
5058 </table>
5059 </dd>
5060</dl>
5061<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
5062
5063<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>
5064
5065<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>
5066<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;{</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported data_type for given format&quot;</span>);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
5067</div><!-- fragment -->
5068</div>
5069</div>
5070<a class="anchor" id="a12705a88669cb9fb90451ebe0db53c41"></a>
5071<div class="memitem">
5072<div class="memproto">
5073 <table class="memname">
5074 <tr>
5075 <td class="memname">constexpr auto arm_compute::DIV_CEIL </td>
5076 <td>(</td>
5077 <td class="paramtype">S&#160;</td>
5078 <td class="paramname"><em>val</em>, </td>
5079 </tr>
5080 <tr>
5081 <td class="paramkey"></td>
5082 <td></td>
5083 <td class="paramtype">T&#160;</td>
5084 <td class="paramname"><em>m</em>&#160;</td>
5085 </tr>
5086 <tr>
5087 <td></td>
5088 <td>)</td>
5089 <td></td><td> -&gt; decltype((val + m - 1) / m)
5090</td>
5091 </tr>
5092 </table>
5093</div><div class="memdoc">
5094
5095<p>Calculate the rounded up quotient of val / m. </p>
5096
5097<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>
5098
5099<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>
5100<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> (val + m - 1) / m;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div></div><!-- fragment -->
5101</div>
5102</div>
5103<a class="anchor" id="a34b06c0cd94808a77b697e79880b84b0"></a>
5104<div class="memitem">
5105<div class="memproto">
5106<table class="mlabels">
5107 <tr>
5108 <td class="mlabels-left">
5109 <table class="memname">
5110 <tr>
5111 <td class="memname">size_t arm_compute::element_size_from_data_type </td>
5112 <td>(</td>
5113 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
5114 <td class="paramname"><em>dt</em></td><td>)</td>
5115 <td></td>
5116 </tr>
5117 </table>
5118 </td>
5119 <td class="mlabels-right">
5120<span class="mlabels"><span class="mlabel">inline</span></span> </td>
5121 </tr>
5122</table>
5123</div><div class="memdoc">
5124
5125<p>The size in bytes of the data type. </p>
5126<dl class="params"><dt>Parameters</dt><dd>
5127 <table class="params">
5128 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type</td></tr>
5129 </table>
5130 </dd>
5131</dl>
5132<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
5133
5134<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>
5135
5136<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>
5137<div class="fragment"><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;{</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined element size for given data type&quot;</span>);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;}</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>
5138</div><!-- fragment -->
5139</div>
5140</div>
5141<a class="anchor" id="a22af22ebac966b76e8553127064201a2"></a>
5142<div class="memitem">
5143<div class="memproto">
5144 <table class="memname">
5145 <tr>
5146 <td class="memname">void arm_compute::enqueue </td>
5147 <td>(</td>
5148 <td class="paramtype">cl::CommandQueue &amp;&#160;</td>
5149 <td class="paramname"><em>queue</em>, </td>
5150 </tr>
5151 <tr>
5152 <td class="paramkey"></td>
5153 <td></td>
5154 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &amp;&#160;</td>
5155 <td class="paramname"><em>kernel</em>, </td>
5156 </tr>
5157 <tr>
5158 <td class="paramkey"></td>
5159 <td></td>
5160 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
5161 <td class="paramname"><em>window</em>, </td>
5162 </tr>
5163 <tr>
5164 <td class="paramkey"></td>
5165 <td></td>
5166 <td class="paramtype">const cl::NDRange &amp;&#160;</td>
5167 <td class="paramname"><em>lws_hint</em> = <code>cl::Range_128_1</code>&#160;</td>
5168 </tr>
5169 <tr>
5170 <td></td>
5171 <td>)</td>
5172 <td></td><td></td>
5173 </tr>
5174 </table>
5175</div><div class="memdoc">
5176
5177<p>Add the kernel to the command queue with the given window. </p>
5178<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
5179<dd>
5180If kernel-&gt;kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
5181<dl class="params"><dt>Parameters</dt><dd>
5182 <table class="params">
5183 <tr><td class="paramdir">[in,out]</td><td class="paramname">queue</td><td>OpenCL command queue. </td></tr>
5184 <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>
5185 <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>
5186 <tr><td class="paramdir">[in]</td><td class="paramname">lws_hint</td><td>Local workgroup size requested, by default (128,1)</td></tr>
5187 </table>
5188 </dd>
5189</dl>
5190<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>
5191
5192<p>Referenced by <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00096">ICLKernel::add_argument()</a>.</p>
5193
5194</div>
5195</div>
5196<a class="anchor" id="a568b0fbfa3d903099d9c9f7b6acf188d"></a>
5197<div class="memitem">
5198<div class="memproto">
5199 <table class="memname">
5200 <tr>
5201 <td class="memname">void arm_compute::error </td>
5202 <td>(</td>
5203 <td class="paramtype">const char *&#160;</td>
5204 <td class="paramname"><em>function</em>, </td>
5205 </tr>
5206 <tr>
5207 <td class="paramkey"></td>
5208 <td></td>
5209 <td class="paramtype">const char *&#160;</td>
5210 <td class="paramname"><em>file</em>, </td>
5211 </tr>
5212 <tr>
5213 <td class="paramkey"></td>
5214 <td></td>
5215 <td class="paramtype">const int&#160;</td>
5216 <td class="paramname"><em>line</em>, </td>
5217 </tr>
5218 <tr>
5219 <td class="paramkey"></td>
5220 <td></td>
5221 <td class="paramtype">const char *&#160;</td>
5222 <td class="paramname"><em>msg</em>, </td>
5223 </tr>
5224 <tr>
5225 <td class="paramkey"></td>
5226 <td></td>
5227 <td class="paramtype">&#160;</td>
5228 <td class="paramname"><em>...</em>&#160;</td>
5229 </tr>
5230 <tr>
5231 <td></td>
5232 <td>)</td>
5233 <td></td><td></td>
5234 </tr>
5235 </table>
5236</div><div class="memdoc">
5237
5238<p>Print an error message then throw an std::runtime_error. </p>
5239<dl class="params"><dt>Parameters</dt><dd>
5240 <table class="params">
5241 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5242 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5243 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5244 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
5245 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
5246 </table>
5247 </dd>
5248</dl>
5249
5250</div>
5251</div>
5252<a class="anchor" id="a593d972357b3bcfeecb87207dc925417"></a>
5253<div class="memitem">
5254<div class="memproto">
5255 <table class="memname">
5256 <tr>
5257 <td class="memname">void arm_compute::error_on_channel_not_in </td>
5258 <td>(</td>
5259 <td class="paramtype">const char *&#160;</td>
5260 <td class="paramname"><em>function</em>, </td>
5261 </tr>
5262 <tr>
5263 <td class="paramkey"></td>
5264 <td></td>
5265 <td class="paramtype">const char *&#160;</td>
5266 <td class="paramname"><em>file</em>, </td>
5267 </tr>
5268 <tr>
5269 <td class="paramkey"></td>
5270 <td></td>
5271 <td class="paramtype">const int&#160;</td>
5272 <td class="paramname"><em>line</em>, </td>
5273 </tr>
5274 <tr>
5275 <td class="paramkey"></td>
5276 <td></td>
5277 <td class="paramtype">T&#160;</td>
5278 <td class="paramname"><em>cn</em>, </td>
5279 </tr>
5280 <tr>
5281 <td class="paramkey"></td>
5282 <td></td>
5283 <td class="paramtype">T &amp;&amp;&#160;</td>
5284 <td class="paramname"><em>channel</em>, </td>
5285 </tr>
5286 <tr>
5287 <td class="paramkey"></td>
5288 <td></td>
5289 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
5290 <td class="paramname"><em>channels</em>&#160;</td>
5291 </tr>
5292 <tr>
5293 <td></td>
5294 <td>)</td>
5295 <td></td><td></td>
5296 </tr>
5297 </table>
5298</div><div class="memdoc">
5299
5300<p>Throw an error if the channel is not in channels. </p>
5301<dl class="params"><dt>Parameters</dt><dd>
5302 <table class="params">
5303 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5304 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5305 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5306 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>Input channel </td></tr>
5307 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>First channel allowed. </td></tr>
5308 <tr><td class="paramdir">[in]</td><td class="paramname">channels</td><td>(Optional) Further allowed channels. </td></tr>
5309 </table>
5310 </dd>
5311</dl>
5312
5313<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>
5314
5315<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>
5316<div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;{</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <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>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keyword">const</span> std::array&lt;T, <span class="keyword">sizeof</span>...(Ts)&gt; channels_array{ { std::forward&lt;Ts&gt;(channels)... } };</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <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>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(channel != cn &amp;&amp; std::none_of(channels_array.begin(), channels_array.end(), [&amp;](<span class="keyword">const</span> T &amp; f)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> f == cn;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }),</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;}</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>
5317<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>
5318</div><!-- fragment -->
5319</div>
5320</div>
5321<a class="anchor" id="ad0d001a84424d440f9a11fc1b80ed2ff"></a>
5322<div class="memitem">
5323<div class="memproto">
5324 <table class="memname">
5325 <tr>
5326 <td class="memname">void arm_compute::error_on_channel_not_in_known_format </td>
5327 <td>(</td>
5328 <td class="paramtype">const char *&#160;</td>
5329 <td class="paramname"><em>function</em>, </td>
5330 </tr>
5331 <tr>
5332 <td class="paramkey"></td>
5333 <td></td>
5334 <td class="paramtype">const char *&#160;</td>
5335 <td class="paramname"><em>file</em>, </td>
5336 </tr>
5337 <tr>
5338 <td class="paramkey"></td>
5339 <td></td>
5340 <td class="paramtype">const int&#160;</td>
5341 <td class="paramname"><em>line</em>, </td>
5342 </tr>
5343 <tr>
5344 <td class="paramkey"></td>
5345 <td></td>
5346 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
5347 <td class="paramname"><em>fmt</em>, </td>
5348 </tr>
5349 <tr>
5350 <td class="paramkey"></td>
5351 <td></td>
5352 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
5353 <td class="paramname"><em>cn</em>&#160;</td>
5354 </tr>
5355 <tr>
5356 <td></td>
5357 <td>)</td>
5358 <td></td><td></td>
5359 </tr>
5360 </table>
5361</div><div class="memdoc">
5362
5363<p>Throw an error if the channel is not in format. </p>
5364<dl class="params"><dt>Parameters</dt><dd>
5365 <table class="params">
5366 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5367 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5368 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5369 <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Input channel </td></tr>
5370 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>First channel allowed. </td></tr>
5371 </table>
5372 </dd>
5373</dl>
5374
5375</div>
5376</div>
5377<a class="anchor" id="a130822528598f21a48f7ee0e6d8438a0"></a>
5378<div class="memitem">
5379<div class="memproto">
5380 <table class="memname">
5381 <tr>
5382 <td class="memname">void arm_compute::error_on_coordinates_dimensions_gte </td>
5383 <td>(</td>
5384 <td class="paramtype">const char *&#160;</td>
5385 <td class="paramname"><em>function</em>, </td>
5386 </tr>
5387 <tr>
5388 <td class="paramkey"></td>
5389 <td></td>
5390 <td class="paramtype">const char *&#160;</td>
5391 <td class="paramname"><em>file</em>, </td>
5392 </tr>
5393 <tr>
5394 <td class="paramkey"></td>
5395 <td></td>
5396 <td class="paramtype">const int&#160;</td>
5397 <td class="paramname"><em>line</em>, </td>
5398 </tr>
5399 <tr>
5400 <td class="paramkey"></td>
5401 <td></td>
5402 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
5403 <td class="paramname"><em>pos</em>, </td>
5404 </tr>
5405 <tr>
5406 <td class="paramkey"></td>
5407 <td></td>
5408 <td class="paramtype">unsigned int&#160;</td>
5409 <td class="paramname"><em>max_dim</em>&#160;</td>
5410 </tr>
5411 <tr>
5412 <td></td>
5413 <td>)</td>
5414 <td></td><td></td>
5415 </tr>
5416 </table>
5417</div><div class="memdoc">
5418
5419<p>Throw an error if the passed coordinates have too many dimensions. </p>
5420<p>The coordinates have too many dimensions if any of the dimensions greater or equal to max_dim is different from 0.</p>
5421<dl class="params"><dt>Parameters</dt><dd>
5422 <table class="params">
5423 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5424 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5425 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5426 <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>
5427 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
5428 </table>
5429 </dd>
5430</dl>
5431
5432</div>
5433</div>
5434<a class="anchor" id="a690ce072b4480f4a5bad433f23c9fe05"></a>
5435<div class="memitem">
5436<div class="memproto">
5437 <table class="memname">
5438 <tr>
5439 <td class="memname">void arm_compute::error_on_data_type_channel_not_in </td>
5440 <td>(</td>
5441 <td class="paramtype">const char *&#160;</td>
5442 <td class="paramname"><em>function</em>, </td>
5443 </tr>
5444 <tr>
5445 <td class="paramkey"></td>
5446 <td></td>
5447 <td class="paramtype">const char *&#160;</td>
5448 <td class="paramname"><em>file</em>, </td>
5449 </tr>
5450 <tr>
5451 <td class="paramkey"></td>
5452 <td></td>
5453 <td class="paramtype">const int&#160;</td>
5454 <td class="paramname"><em>line</em>, </td>
5455 </tr>
5456 <tr>
5457 <td class="paramkey"></td>
5458 <td></td>
5459 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
5460 <td class="paramname"><em>tensor</em>, </td>
5461 </tr>
5462 <tr>
5463 <td class="paramkey"></td>
5464 <td></td>
5465 <td class="paramtype">size_t&#160;</td>
5466 <td class="paramname"><em>num_channels</em>, </td>
5467 </tr>
5468 <tr>
5469 <td class="paramkey"></td>
5470 <td></td>
5471 <td class="paramtype">T &amp;&amp;&#160;</td>
5472 <td class="paramname"><em>dt</em>, </td>
5473 </tr>
5474 <tr>
5475 <td class="paramkey"></td>
5476 <td></td>
5477 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
5478 <td class="paramname"><em>dts</em>&#160;</td>
5479 </tr>
5480 <tr>
5481 <td></td>
5482 <td>)</td>
5483 <td></td><td></td>
5484 </tr>
5485 </table>
5486</div><div class="memdoc">
5487
5488<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>
5489<dl class="params"><dt>Parameters</dt><dd>
5490 <table class="params">
5491 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5492 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5493 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5494 <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>
5495 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
5496 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
5497 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
5498 </table>
5499 </dd>
5500</dl>
5501
5502<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>
5503
5504<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>
5505<div class="fragment"><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;{</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor-&gt;info()-&gt;num_channels();</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <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>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_nc != num_channels, <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Number of channels %d. Required number of channels %d&quot;</span>, tensor_nc, num_channels);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5506<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>
5507<div class="ttc" id="namespacearm__compute_xhtml_a0c52339d3cb372d145deeafb5a313807"><div class="ttname"><a href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">void error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensor *tensor, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Throw an error if the data type of the passed tensor does not match any of the data types provided...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00227">Validate.h:227</a></div></div>
5508</div><!-- fragment -->
5509</div>
5510</div>
5511<a class="anchor" id="a0c52339d3cb372d145deeafb5a313807"></a>
5512<div class="memitem">
5513<div class="memproto">
5514 <table class="memname">
5515 <tr>
5516 <td class="memname">void arm_compute::error_on_data_type_not_in </td>
5517 <td>(</td>
5518 <td class="paramtype">const char *&#160;</td>
5519 <td class="paramname"><em>function</em>, </td>
5520 </tr>
5521 <tr>
5522 <td class="paramkey"></td>
5523 <td></td>
5524 <td class="paramtype">const char *&#160;</td>
5525 <td class="paramname"><em>file</em>, </td>
5526 </tr>
5527 <tr>
5528 <td class="paramkey"></td>
5529 <td></td>
5530 <td class="paramtype">const int&#160;</td>
5531 <td class="paramname"><em>line</em>, </td>
5532 </tr>
5533 <tr>
5534 <td class="paramkey"></td>
5535 <td></td>
5536 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
5537 <td class="paramname"><em>tensor</em>, </td>
5538 </tr>
5539 <tr>
5540 <td class="paramkey"></td>
5541 <td></td>
5542 <td class="paramtype">T &amp;&amp;&#160;</td>
5543 <td class="paramname"><em>dt</em>, </td>
5544 </tr>
5545 <tr>
5546 <td class="paramkey"></td>
5547 <td></td>
5548 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
5549 <td class="paramname"><em>dts</em>&#160;</td>
5550 </tr>
5551 <tr>
5552 <td></td>
5553 <td>)</td>
5554 <td></td><td></td>
5555 </tr>
5556 </table>
5557</div><div class="memdoc">
5558
5559<p>Throw an error if the data type of the passed tensor does not match any of the data types provided. </p>
5560<dl class="params"><dt>Parameters</dt><dd>
5561 <table class="params">
5562 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5563 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5564 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5565 <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>
5566 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
5567 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
5568 </table>
5569 </dd>
5570</dl>
5571
5572<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>
5573
5574<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>
5575
5576<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00259">error_on_data_type_channel_not_in()</a>.</p>
5577<div class="fragment"><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;{</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <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>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;tensor_dt = tensor-&gt;info()-&gt;data_type();</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <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>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor_dt == DataType::UNKNOWN, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keyword">const</span> std::array&lt;T, <span class="keyword">sizeof</span>...(Ts)&gt; dts_array{ { std::forward&lt;Ts&gt;(dts)... } };</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <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>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_dt != dt &amp;&amp; std::none_of(dts_array.begin(), dts_array.end(), [&amp;](<span class="keyword">const</span> T &amp; d)</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> d == tensor_dt;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }),</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;ITensor data type %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(tensor_dt).c_str());</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5578<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>
5579<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string &amp; string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
5580<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>
Anthony Barbier46d59272017-05-04 09:15:15 +01005581<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00060">Types.h:60</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005582</div><!-- fragment -->
5583</div>
5584</div>
5585<a class="anchor" id="a0b360558b516e256f0af005a164c674e"></a>
5586<div class="memitem">
5587<div class="memproto">
5588 <table class="memname">
5589 <tr>
5590 <td class="memname">void arm_compute::error_on_format_not_in </td>
5591 <td>(</td>
5592 <td class="paramtype">const char *&#160;</td>
5593 <td class="paramname"><em>function</em>, </td>
5594 </tr>
5595 <tr>
5596 <td class="paramkey"></td>
5597 <td></td>
5598 <td class="paramtype">const char *&#160;</td>
5599 <td class="paramname"><em>file</em>, </td>
5600 </tr>
5601 <tr>
5602 <td class="paramkey"></td>
5603 <td></td>
5604 <td class="paramtype">const int&#160;</td>
5605 <td class="paramname"><em>line</em>, </td>
5606 </tr>
5607 <tr>
5608 <td class="paramkey"></td>
5609 <td></td>
5610 <td class="paramtype">const T *&#160;</td>
5611 <td class="paramname"><em>object</em>, </td>
5612 </tr>
5613 <tr>
5614 <td class="paramkey"></td>
5615 <td></td>
5616 <td class="paramtype">F &amp;&amp;&#160;</td>
5617 <td class="paramname"><em>format</em>, </td>
5618 </tr>
5619 <tr>
5620 <td class="paramkey"></td>
5621 <td></td>
5622 <td class="paramtype">Fs &amp;&amp;...&#160;</td>
5623 <td class="paramname"><em>formats</em>&#160;</td>
5624 </tr>
5625 <tr>
5626 <td></td>
5627 <td>)</td>
5628 <td></td><td></td>
5629 </tr>
5630 </table>
5631</div><div class="memdoc">
5632
5633<p>Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. </p>
5634<dl class="params"><dt>Parameters</dt><dd>
5635 <table class="params">
5636 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5637 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5638 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5639 <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>Tensor/multi-image to validate. </td></tr>
5640 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>First format allowed. </td></tr>
5641 <tr><td class="paramdir">[in]</td><td class="paramname">formats</td><td>(Optional) Further allowed formats. </td></tr>
5642 </table>
5643 </dd>
5644</dl>
5645
5646<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>
5647
5648<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>
5649<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;{</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <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>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&amp;object_format = <span class="keywordtype">object</span>-&gt;info()-&gt;format();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <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>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(object_format == Format::UNKNOWN, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keyword">const</span> std::array&lt;F, <span class="keyword">sizeof</span>...(Fs)&gt; formats_array{ { std::forward&lt;Fs&gt;(formats)... } };</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <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>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(object_format != format &amp;&amp; std::none_of(formats_array.begin(), formats_array.end(), [&amp;](<span class="keyword">const</span> F &amp; f)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> f == object_format;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }),</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Format %s not supported by this kernel&quot;</span>, <a class="code" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a>(object_format).c_str());</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5650<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
Anthony Barbier46d59272017-05-04 09:15:15 +01005651<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a></div><div class="ttdeci">Format</div><div class="ttdoc">Image colour formats. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00038">Types.h:38</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005652<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>
5653<div class="ttc" id="namespacearm__compute_xhtml_a9c92c867fc64454545668d87b20979eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">arm_compute::string_from_format</a></div><div class="ttdeci">const std::string &amp; string_from_format(Format format)</div><div class="ttdoc">Convert a tensor format into a string. </div></div>
5654</div><!-- fragment -->
5655</div>
5656</div>
5657<a class="anchor" id="a307666ca482a84d5a64251d78889a818"></a>
5658<div class="memitem">
5659<div class="memproto">
5660 <table class="memname">
5661 <tr>
5662 <td class="memname">void arm_compute::error_on_invalid_multi_hog </td>
5663 <td>(</td>
5664 <td class="paramtype">const char *&#160;</td>
5665 <td class="paramname"><em>function</em>, </td>
5666 </tr>
5667 <tr>
5668 <td class="paramkey"></td>
5669 <td></td>
5670 <td class="paramtype">const char *&#160;</td>
5671 <td class="paramname"><em>file</em>, </td>
5672 </tr>
5673 <tr>
5674 <td class="paramkey"></td>
5675 <td></td>
5676 <td class="paramtype">const int&#160;</td>
5677 <td class="paramname"><em>line</em>, </td>
5678 </tr>
5679 <tr>
5680 <td class="paramkey"></td>
5681 <td></td>
5682 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> *&#160;</td>
5683 <td class="paramname"><em>multi_hog</em>&#160;</td>
5684 </tr>
5685 <tr>
5686 <td></td>
5687 <td>)</td>
5688 <td></td><td></td>
5689 </tr>
5690 </table>
5691</div><div class="memdoc">
5692
5693<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>
5694<p>An <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid if:</p>
5695<ol type="1">
5696<li>it is a nullptr</li>
5697<li>it doesn't contain models</li>
5698<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>
5699<dl class="params"><dt>Parameters</dt><dd>
5700 <table class="params">
5701 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5702 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5703 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5704 <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>
5705 </table>
5706 </dd>
5707</dl>
5708</li>
5709</ol>
5710
5711</div>
5712</div>
5713<a class="anchor" id="a0916477887763c20822b43be144963eb"></a>
5714<div class="memitem">
5715<div class="memproto">
5716 <table class="memname">
5717 <tr>
5718 <td class="memname">void arm_compute::error_on_invalid_subwindow </td>
5719 <td>(</td>
5720 <td class="paramtype">const char *&#160;</td>
5721 <td class="paramname"><em>function</em>, </td>
5722 </tr>
5723 <tr>
5724 <td class="paramkey"></td>
5725 <td></td>
5726 <td class="paramtype">const char *&#160;</td>
5727 <td class="paramname"><em>file</em>, </td>
5728 </tr>
5729 <tr>
5730 <td class="paramkey"></td>
5731 <td></td>
5732 <td class="paramtype">const int&#160;</td>
5733 <td class="paramname"><em>line</em>, </td>
5734 </tr>
5735 <tr>
5736 <td class="paramkey"></td>
5737 <td></td>
5738 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
5739 <td class="paramname"><em>full</em>, </td>
5740 </tr>
5741 <tr>
5742 <td class="paramkey"></td>
5743 <td></td>
5744 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
5745 <td class="paramname"><em>sub</em>&#160;</td>
5746 </tr>
5747 <tr>
5748 <td></td>
5749 <td>)</td>
5750 <td></td><td></td>
5751 </tr>
5752 </table>
5753</div><div class="memdoc">
5754
5755<p>Throw an error if the passed subwindow is invalid. </p>
5756<p>The subwindow is invalid if:</p><ul>
5757<li>It is not a valid window.</li>
5758<li>It is not fully contained inside the full window</li>
5759<li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
5760<dl class="params"><dt>Parameters</dt><dd>
5761 <table class="params">
5762 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5763 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5764 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5765 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
5766 <tr><td class="paramdir">[in]</td><td class="paramname">sub</td><td>Sub-window to validate. </td></tr>
5767 </table>
5768 </dd>
5769</dl>
5770</li>
5771</ul>
5772
5773</div>
5774</div>
5775<a class="anchor" id="ad35d92af32949e38ec38b3d8e46b566c"></a>
5776<div class="memitem">
5777<div class="memproto">
5778 <table class="memname">
5779 <tr>
5780 <td class="memname">void arm_compute::error_on_mismatching_data_types </td>
5781 <td>(</td>
5782 <td class="paramtype">const char *&#160;</td>
5783 <td class="paramname"><em>function</em>, </td>
5784 </tr>
5785 <tr>
5786 <td class="paramkey"></td>
5787 <td></td>
5788 <td class="paramtype">const char *&#160;</td>
5789 <td class="paramname"><em>file</em>, </td>
5790 </tr>
5791 <tr>
5792 <td class="paramkey"></td>
5793 <td></td>
5794 <td class="paramtype">const int&#160;</td>
5795 <td class="paramname"><em>line</em>, </td>
5796 </tr>
5797 <tr>
5798 <td class="paramkey"></td>
5799 <td></td>
5800 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
5801 <td class="paramname"><em>tensor_1</em>, </td>
5802 </tr>
5803 <tr>
5804 <td class="paramkey"></td>
5805 <td></td>
5806 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
5807 <td class="paramname"><em>tensor_2</em>, </td>
5808 </tr>
5809 <tr>
5810 <td class="paramkey"></td>
5811 <td></td>
5812 <td class="paramtype">Ts...&#160;</td>
5813 <td class="paramname"><em>tensors</em>&#160;</td>
5814 </tr>
5815 <tr>
5816 <td></td>
5817 <td>)</td>
5818 <td></td><td></td>
5819 </tr>
5820 </table>
5821</div><div class="memdoc">
5822
5823<p>Throw an error if the passed two tensors have different data types. </p>
5824<dl class="params"><dt>Parameters</dt><dd>
5825 <table class="params">
5826 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5827 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5828 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5829 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
5830 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
5831 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
5832 </table>
5833 </dd>
5834</dl>
5835
5836<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>
5837
5838<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>
5839<div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;{</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="_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>&#160; <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>&#160; <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>&#160; <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>&#160; <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>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;first_data_type = tensor_1-&gt;info()-&gt;data_type();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <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>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensor *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_array{ { std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <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>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_2-&gt;info()-&gt;data_type() != first_data_type || std::any_of(tensors_array.begin(), tensors_array.end(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> tensor-&gt;info()-&gt;data_type() != first_data_type;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }),</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data types&quot;</span>);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5840<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
Anthony Barbier46d59272017-05-04 09:15:15 +01005841<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8h_source.xhtml#l00060">Types.h:60</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005842</div><!-- fragment -->
5843</div>
5844</div>
5845<a class="anchor" id="a7b689868b627ba9e22c8473c5f985512"></a>
5846<div class="memitem">
5847<div class="memproto">
5848 <table class="memname">
5849 <tr>
5850 <td class="memname">void arm_compute::error_on_mismatching_shapes </td>
5851 <td>(</td>
5852 <td class="paramtype">const char *&#160;</td>
5853 <td class="paramname"><em>function</em>, </td>
5854 </tr>
5855 <tr>
5856 <td class="paramkey"></td>
5857 <td></td>
5858 <td class="paramtype">const char *&#160;</td>
5859 <td class="paramname"><em>file</em>, </td>
5860 </tr>
5861 <tr>
5862 <td class="paramkey"></td>
5863 <td></td>
5864 <td class="paramtype">const int&#160;</td>
5865 <td class="paramname"><em>line</em>, </td>
5866 </tr>
5867 <tr>
5868 <td class="paramkey"></td>
5869 <td></td>
5870 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
5871 <td class="paramname"><em>tensor_1</em>, </td>
5872 </tr>
5873 <tr>
5874 <td class="paramkey"></td>
5875 <td></td>
5876 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
5877 <td class="paramname"><em>tensor_2</em>, </td>
5878 </tr>
5879 <tr>
5880 <td class="paramkey"></td>
5881 <td></td>
5882 <td class="paramtype">Ts...&#160;</td>
5883 <td class="paramname"><em>tensors</em>&#160;</td>
5884 </tr>
5885 <tr>
5886 <td></td>
5887 <td>)</td>
5888 <td></td><td></td>
5889 </tr>
5890 </table>
5891</div><div class="memdoc">
5892
5893<p>Throw an error if the passed two tensors have different shapes. </p>
5894<dl class="params"><dt>Parameters</dt><dd>
5895 <table class="params">
5896 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5897 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5898 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5899 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
5900 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
5901 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
5902 </table>
5903 </dd>
5904</dl>
5905
5906<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>
5907
5908<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>
5909<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <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>&#160; <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>&#160; <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>&#160; <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>&#160; <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>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensor *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_array{ { std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <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>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <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(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> <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>&#160; }),</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different shapes&quot;</span>);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00092">Error.h:92</a></div></div>
5910<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>
5911<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>
5912</div><!-- fragment -->
5913</div>
5914</div>
5915<a class="anchor" id="a26a9847c05c48bd1470f22f898ee254d"></a>
5916<div class="memitem">
5917<div class="memproto">
5918 <table class="memname">
5919 <tr>
5920 <td class="memname">void arm_compute::error_on_mismatching_windows </td>
5921 <td>(</td>
5922 <td class="paramtype">const char *&#160;</td>
5923 <td class="paramname"><em>function</em>, </td>
5924 </tr>
5925 <tr>
5926 <td class="paramkey"></td>
5927 <td></td>
5928 <td class="paramtype">const char *&#160;</td>
5929 <td class="paramname"><em>file</em>, </td>
5930 </tr>
5931 <tr>
5932 <td class="paramkey"></td>
5933 <td></td>
5934 <td class="paramtype">const int&#160;</td>
5935 <td class="paramname"><em>line</em>, </td>
5936 </tr>
5937 <tr>
5938 <td class="paramkey"></td>
5939 <td></td>
5940 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
5941 <td class="paramname"><em>full</em>, </td>
5942 </tr>
5943 <tr>
5944 <td class="paramkey"></td>
5945 <td></td>
5946 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
5947 <td class="paramname"><em>win</em>&#160;</td>
5948 </tr>
5949 <tr>
5950 <td></td>
5951 <td>)</td>
5952 <td></td><td></td>
5953 </tr>
5954 </table>
5955</div><div class="memdoc">
5956
5957<p>Throw an error if the passed window is invalid. </p>
5958<p>The subwindow is invalid if:</p><ul>
5959<li>It is not a valid window.</li>
5960<li>Its dimensions don't match the full window's ones</li>
5961<li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
5962<dl class="params"><dt>Parameters</dt><dd>
5963 <table class="params">
5964 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
5965 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
5966 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
5967 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
5968 <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>
5969 </table>
5970 </dd>
5971</dl>
5972</li>
5973</ul>
5974
5975</div>
5976</div>
5977<a class="anchor" id="a65c8e0610dff27ecf1ef30214f08d19e"></a>
5978<div class="memitem">
5979<div class="memproto">
5980 <table class="memname">
5981 <tr>
5982 <td class="memname">void arm_compute::error_on_tensor_not_2d </td>
5983 <td>(</td>
5984 <td class="paramtype">const char *&#160;</td>
5985 <td class="paramname"><em>function</em>, </td>
5986 </tr>
5987 <tr>
5988 <td class="paramkey"></td>
5989 <td></td>
5990 <td class="paramtype">const char *&#160;</td>
5991 <td class="paramname"><em>file</em>, </td>
5992 </tr>
5993 <tr>
5994 <td class="paramkey"></td>
5995 <td></td>
5996 <td class="paramtype">const int&#160;</td>
5997 <td class="paramname"><em>line</em>, </td>
5998 </tr>
5999 <tr>
6000 <td class="paramkey"></td>
6001 <td></td>
6002 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
6003 <td class="paramname"><em>tensor</em>&#160;</td>
6004 </tr>
6005 <tr>
6006 <td></td>
6007 <td>)</td>
6008 <td></td><td></td>
6009 </tr>
6010 </table>
6011</div><div class="memdoc">
6012
6013<p>Throw an error if the tensor is not 2D. </p>
6014<dl class="params"><dt>Parameters</dt><dd>
6015 <table class="params">
6016 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
6017 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
6018 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
6019 <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>
6020 </table>
6021 </dd>
6022</dl>
6023
6024</div>
6025</div>
6026<a class="anchor" id="a21a4884cd1dbfa83351b8efa265f526a"></a>
6027<div class="memitem">
6028<div class="memproto">
6029 <table class="memname">
6030 <tr>
6031 <td class="memname">void arm_compute::error_on_unconfigured_kernel </td>
6032 <td>(</td>
6033 <td class="paramtype">const char *&#160;</td>
6034 <td class="paramname"><em>function</em>, </td>
6035 </tr>
6036 <tr>
6037 <td class="paramkey"></td>
6038 <td></td>
6039 <td class="paramtype">const char *&#160;</td>
6040 <td class="paramname"><em>file</em>, </td>
6041 </tr>
6042 <tr>
6043 <td class="paramkey"></td>
6044 <td></td>
6045 <td class="paramtype">const int&#160;</td>
6046 <td class="paramname"><em>line</em>, </td>
6047 </tr>
6048 <tr>
6049 <td class="paramkey"></td>
6050 <td></td>
6051 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> *&#160;</td>
6052 <td class="paramname"><em>kernel</em>&#160;</td>
6053 </tr>
6054 <tr>
6055 <td></td>
6056 <td>)</td>
6057 <td></td><td></td>
6058 </tr>
6059 </table>
6060</div><div class="memdoc">
6061
6062<p>Throw an error if the kernel is not configured. </p>
6063<dl class="params"><dt>Parameters</dt><dd>
6064 <table class="params">
6065 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
6066 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
6067 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
6068 <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>
6069 </table>
6070 </dd>
6071</dl>
6072
6073</div>
6074</div>
6075<a class="anchor" id="a6fed5543ae383442a51362e6607c4e65"></a>
6076<div class="memitem">
6077<div class="memproto">
6078 <table class="memname">
6079 <tr>
6080 <td class="memname">void arm_compute::error_on_window_dimensions_gte </td>
6081 <td>(</td>
6082 <td class="paramtype">const char *&#160;</td>
6083 <td class="paramname"><em>function</em>, </td>
6084 </tr>
6085 <tr>
6086 <td class="paramkey"></td>
6087 <td></td>
6088 <td class="paramtype">const char *&#160;</td>
6089 <td class="paramname"><em>file</em>, </td>
6090 </tr>
6091 <tr>
6092 <td class="paramkey"></td>
6093 <td></td>
6094 <td class="paramtype">const int&#160;</td>
6095 <td class="paramname"><em>line</em>, </td>
6096 </tr>
6097 <tr>
6098 <td class="paramkey"></td>
6099 <td></td>
6100 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
6101 <td class="paramname"><em>win</em>, </td>
6102 </tr>
6103 <tr>
6104 <td class="paramkey"></td>
6105 <td></td>
6106 <td class="paramtype">unsigned int&#160;</td>
6107 <td class="paramname"><em>max_dim</em>&#160;</td>
6108 </tr>
6109 <tr>
6110 <td></td>
6111 <td>)</td>
6112 <td></td><td></td>
6113 </tr>
6114 </table>
6115</div><div class="memdoc">
6116
6117<p>Throw an error if the passed window has too many dimensions. </p>
6118<p>The window has too many dimensions if any of the dimension greater or equal to max_dim is different from 0.</p>
6119<dl class="params"><dt>Parameters</dt><dd>
6120 <table class="params">
6121 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
6122 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
6123 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
6124 <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>
6125 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
6126 </table>
6127 </dd>
6128</dl>
6129
6130</div>
6131</div>
6132<a class="anchor" id="a78fd1c0056e9add7ab01b8e118c0038d"></a>
6133<div class="memitem">
6134<div class="memproto">
6135<table class="mlabels">
6136 <tr>
6137 <td class="mlabels-left">
6138 <table class="memname">
6139 <tr>
6140 <td class="memname">void arm_compute::execute_window_loop </td>
6141 <td>(</td>
6142 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
6143 <td class="paramname"><em>w</em>, </td>
6144 </tr>
6145 <tr>
6146 <td class="paramkey"></td>
6147 <td></td>
6148 <td class="paramtype">L &amp;&amp;&#160;</td>
6149 <td class="paramname"><em>lambda_function</em>, </td>
6150 </tr>
6151 <tr>
6152 <td class="paramkey"></td>
6153 <td></td>
6154 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
6155 <td class="paramname"><em>iterators</em>&#160;</td>
6156 </tr>
6157 <tr>
6158 <td></td>
6159 <td>)</td>
6160 <td></td><td></td>
6161 </tr>
6162 </table>
6163 </td>
6164 <td class="mlabels-right">
6165<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6166 </tr>
6167</table>
6168</div><div class="memdoc">
6169
6170<p>Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. </p>
6171<p>It passes the x and y positions to the lambda_function for each iteration</p>
6172<dl class="params"><dt>Parameters</dt><dd>
6173 <table class="params">
6174 <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>
6175 <tr><td class="paramdir">[in]</td><td class="paramname">lambda_function</td><td>The function of type void(function)( const <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> &amp; id ) to call at each iteration. Where id represents the absolute coordinates of the item to process. </td></tr>
6176 <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>
6177 </table>
6178 </dd>
6179</dl>
6180
Anthony Barbier46d59272017-05-04 09:15:15 +01006181<p>Referenced by <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="test__helpers_2_utils_8h_source.xhtml#l00140">PPMLoader::fill_image()</a>, <a class="el" href="neon__copy__objects_8cpp_source.xhtml#l00035">main_neon_copy_objects()</a>, and <a class="el" href="test__helpers_2_utils_8h_source.xhtml#l00243">test_helpers::save_to_ppm()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006182
6183</div>
6184</div>
6185<a class="anchor" id="a6959e681668a37a9242d2aae4e8b4375"></a>
6186<div class="memitem">
6187<div class="memproto">
6188<table class="mlabels">
6189 <tr>
6190 <td class="mlabels-left">
6191 <table class="memname">
6192 <tr>
6193 <td class="memname">auto arm_compute::floor_to_multiple </td>
6194 <td>(</td>
6195 <td class="paramtype">S&#160;</td>
6196 <td class="paramname"><em>value</em>, </td>
6197 </tr>
6198 <tr>
6199 <td class="paramkey"></td>
6200 <td></td>
6201 <td class="paramtype">T&#160;</td>
6202 <td class="paramname"><em>divisor</em>&#160;</td>
6203 </tr>
6204 <tr>
6205 <td></td>
6206 <td>)</td>
6207 <td></td><td> -&gt; decltype((value / divisor) * divisor)
6208</td>
6209 </tr>
6210 </table>
6211 </td>
6212 <td class="mlabels-right">
6213<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6214 </tr>
6215</table>
6216</div><div class="memdoc">
6217
6218<p>Computes the largest number smaller or equal to value that is a multiple of divisor. </p>
6219
6220<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>
6221
6222<p>References <a class="el" href="_error_8h_source.xhtml#l00100">ARM_COMPUTE_ERROR_ON</a>.</p>
6223<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(value &lt; 0 || divisor &lt;= 0);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00100">Error.h:100</a></div></div>
6224</div><!-- fragment -->
6225</div>
6226</div>
6227<a class="anchor" id="ab04905b0c6c0e4091160561eae870101"></a>
6228<div class="memitem">
6229<div class="memproto">
6230 <table class="memname">
6231 <tr>
6232 <td class="memname">std::string arm_compute::get_cl_type_from_data_type </td>
6233 <td>(</td>
6234 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
6235 <td class="paramname"><em>dt</em></td><td>)</td>
6236 <td></td>
6237 </tr>
6238 </table>
6239</div><div class="memdoc">
6240
6241<p>Translates a tensor data type to the appropriate OpenCL type. </p>
6242<dl class="params"><dt>Parameters</dt><dd>
6243 <table class="params">
6244 <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>
6245 </table>
6246 </dd>
6247</dl>
6248<dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL type to be used. </dd></dl>
6249
6250</div>
6251</div>
6252<a class="anchor" id="a98c979818eae59f104fcaf8de723aeda"></a>
6253<div class="memitem">
6254<div class="memproto">
6255<table class="mlabels">
6256 <tr>
6257 <td class="mlabels-left">
6258 <table class="memname">
6259 <tr>
6260 <td class="memname">bool arm_compute::have_different_shapes </td>
6261 <td>(</td>
6262 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
6263 <td class="paramname"><em>tensor_1</em>, </td>
6264 </tr>
6265 <tr>
6266 <td class="paramkey"></td>
6267 <td></td>
6268 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
6269 <td class="paramname"><em>tensor_2</em>&#160;</td>
6270 </tr>
6271 <tr>
6272 <td></td>
6273 <td>)</td>
6274 <td></td><td></td>
6275 </tr>
6276 </table>
6277 </td>
6278 <td class="mlabels-right">
6279<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6280 </tr>
6281</table>
6282</div><div class="memdoc">
6283
6284<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>
6285
6286<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&lt; int &gt;::num_max_dimensions</a>.</p>
6287
6288<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00132">error_on_mismatching_shapes()</a>.</p>
6289<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i &lt; <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>&#160; {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span>(tensor_1-&gt;info()-&gt;dimension(i) != tensor_2-&gt;info()-&gt;dimension(i))</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;}</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&lt; int &gt;::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>
6290</div><!-- fragment -->
6291</div>
6292</div>
6293<a class="anchor" id="a3bb1b3d01f14dbc0beb1e826eefeddc6"></a>
6294<div class="memitem">
6295<div class="memproto">
6296 <table class="memname">
6297 <tr>
6298 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> arm_compute::intersect_valid_regions </td>
6299 <td>(</td>
6300 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
6301 <td class="paramname"><em>regions</em></td><td>)</td>
6302 <td></td>
6303 </tr>
6304 </table>
6305</div><div class="memdoc">
6306
6307<p>Intersect multiple valid regions. </p>
6308<dl class="params"><dt>Parameters</dt><dd>
6309 <table class="params">
6310 <tr><td class="paramdir">[in]</td><td class="paramname">regions</td><td>Valid regions.</td></tr>
6311 </table>
6312 </dd>
6313</dl>
6314<dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
6315
Anthony Barbier46d59272017-05-04 09:15:15 +01006316<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00357">357</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006317
Anthony Barbier46d59272017-05-04 09:15:15 +01006318<p>References <a class="el" href="_types_8h_source.xhtml#l00116">ValidRegion::anchor</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00108">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00073">Dimensions&lt; T &gt;::set()</a>, and <a class="el" href="_types_8h_source.xhtml#l00117">ValidRegion::shape</a>.</p>
6319<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;{</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keyword">auto</span> intersect = [](<span class="keyword">const</span> ValidRegion &amp; r1, <span class="keyword">const</span> ValidRegion &amp; r2) -&gt; ValidRegion</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; ValidRegion region;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d &lt; std::min(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; {</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; region.anchor.set(d, std::max(r1.anchor[d], r2.anchor[d]));</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d &lt; std::min(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; {</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; region.shape.set(d, std::min(r1.shape[d], r2.shape[d]));</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">return</span> region;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; };</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> foldl(intersect, std::forward&lt;Ts&gt;(regions)...);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00006320</div>
6321</div>
6322<a class="anchor" id="af5982a092e9eb743fce2d6392bdd8897"></a>
6323<div class="memitem">
6324<div class="memproto">
6325<table class="mlabels">
6326 <tr>
6327 <td class="mlabels-left">
6328 <table class="memname">
6329 <tr>
6330 <td class="memname">bool arm_compute::is_data_type_float </td>
6331 <td>(</td>
6332 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
6333 <td class="paramname"><em>dt</em></td><td>)</td>
6334 <td></td>
6335 </tr>
6336 </table>
6337 </td>
6338 <td class="mlabels-right">
6339<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6340 </tr>
6341</table>
6342</div><div class="memdoc">
6343
6344<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>
6345
6346<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
6347<div class="fragment"><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;{</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; {</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; }</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;}</div></div><!-- fragment -->
6348</div>
6349</div>
6350<a class="anchor" id="ab72adf11888176ec19224deef7b1a7dc"></a>
6351<div class="memitem">
6352<div class="memproto">
6353 <table class="memname">
6354 <tr>
6355 <td class="memname">std::string arm_compute::lower_string </td>
6356 <td>(</td>
6357 <td class="paramtype">std::string&#160;</td>
6358 <td class="paramname"><em>val</em></td><td>)</td>
6359 <td></td>
6360 </tr>
6361 </table>
6362</div><div class="memdoc">
6363
6364<p>Lower a given string. </p>
6365<dl class="params"><dt>Parameters</dt><dd>
6366 <table class="params">
6367 <tr><td class="paramname">val</td><td>Given string to lower.</td></tr>
6368 </table>
6369 </dd>
6370</dl>
6371<dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
6372
6373<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
6374
6375</div>
6376</div>
Anthony Barbiera4376382017-04-12 15:12:46 +01006377<a class="anchor" id="ac3f2de3a35ff8d9a47b5b793637784e7"></a>
6378<div class="memitem">
6379<div class="memproto">
6380 <table class="memname">
6381 <tr>
6382 <td class="memname">int arm_compute::max_consecutive_elements_display_width </td>
6383 <td>(</td>
6384 <td class="paramtype">std::ostream &amp;&#160;</td>
6385 <td class="paramname"><em>s</em>, </td>
6386 </tr>
6387 <tr>
6388 <td class="paramkey"></td>
6389 <td></td>
6390 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
6391 <td class="paramname"><em>dt</em>, </td>
6392 </tr>
6393 <tr>
6394 <td class="paramkey"></td>
6395 <td></td>
6396 <td class="paramtype">const uint8_t *&#160;</td>
6397 <td class="paramname"><em>ptr</em>, </td>
6398 </tr>
6399 <tr>
6400 <td class="paramkey"></td>
6401 <td></td>
6402 <td class="paramtype">unsigned int&#160;</td>
6403 <td class="paramname"><em>n</em>&#160;</td>
6404 </tr>
6405 <tr>
6406 <td></td>
6407 <td>)</td>
6408 <td></td><td></td>
6409 </tr>
6410 </table>
6411</div><div class="memdoc">
6412
6413<p>Identify the maximum width of n consecutive elements. </p>
6414<dl class="params"><dt>Parameters</dt><dd>
6415 <table class="params">
6416 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
6417 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
6418 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
6419 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print.</td></tr>
6420 </table>
6421 </dd>
6422</dl>
6423<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
6424
6425<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00665">max_consecutive_elements_display_width_impl()</a>.</p>
6426
6427</div>
6428</div>
6429<a class="anchor" id="aaecee617b967dd96f27d2f36732fb68e"></a>
6430<div class="memitem">
6431<div class="memproto">
6432 <table class="memname">
6433 <tr>
6434 <td class="memname">int arm_compute::max_consecutive_elements_display_width_impl </td>
6435 <td>(</td>
6436 <td class="paramtype">std::ostream &amp;&#160;</td>
6437 <td class="paramname"><em>s</em>, </td>
6438 </tr>
6439 <tr>
6440 <td class="paramkey"></td>
6441 <td></td>
6442 <td class="paramtype">const T *&#160;</td>
6443 <td class="paramname"><em>ptr</em>, </td>
6444 </tr>
6445 <tr>
6446 <td class="paramkey"></td>
6447 <td></td>
6448 <td class="paramtype">unsigned int&#160;</td>
6449 <td class="paramname"><em>n</em>&#160;</td>
6450 </tr>
6451 <tr>
6452 <td></td>
6453 <td>)</td>
6454 <td></td><td></td>
6455 </tr>
6456 </table>
6457</div><div class="memdoc">
6458
6459<p>Identify the maximum width of n consecutive elements. </p>
6460<dl class="params"><dt>Parameters</dt><dd>
6461 <table class="params">
6462 <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>
6463 <tr><td class="paramdir"></td><td class="paramname">ptr</td><td>Pointer to the elements. </td></tr>
6464 <tr><td class="paramdir"></td><td class="paramname">n</td><td>Number of elements.</td></tr>
6465 </table>
6466 </dd>
6467</dl>
6468<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
6469
6470<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>
6471
6472<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>
6473<div class="fragment"><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;{</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordtype">int</span> max_width = -1;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; {</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; std::stringstream ss;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; ss.copyfmt(s);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; ss &lt;&lt; ptr[i];</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; max_width = std::max&lt;int&gt;(max_width, ss.str().size());</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; }</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> max_width;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;}</div></div><!-- fragment -->
6474</div>
6475</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006476<a class="anchor" id="ab14153fb809c18823af3c9c8bc4286cb"></a>
6477<div class="memitem">
6478<div class="memproto">
6479<table class="mlabels">
6480 <tr>
6481 <td class="mlabels-left">
6482 <table class="memname">
6483 <tr>
6484 <td class="memname">size_t arm_compute::num_channels_from_format </td>
6485 <td>(</td>
6486 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
6487 <td class="paramname"><em>format</em></td><td>)</td>
6488 <td></td>
6489 </tr>
6490 </table>
6491 </td>
6492 <td class="mlabels-right">
6493<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6494 </tr>
6495</table>
6496</div><div class="memdoc">
6497
6498<p>Return the number of channels for a given single-planar pixel format. </p>
6499<dl class="params"><dt>Parameters</dt><dd>
6500 <table class="params">
6501 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
6502 </table>
6503 </dd>
6504</dl>
6505<dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
6506
6507<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>
6508
6509<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>
6510<div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;{</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <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>&#160; <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>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;}</div></div><!-- fragment -->
6511</div>
6512</div>
6513<a class="anchor" id="a2a71659def659c8b1c164023a99a25a9"></a>
6514<div class="memitem">
6515<div class="memproto">
6516<table class="mlabels">
6517 <tr>
6518 <td class="mlabels-left">
6519 <table class="memname">
6520 <tr>
6521 <td class="memname">size_t arm_compute::num_planes_from_format </td>
6522 <td>(</td>
6523 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
6524 <td class="paramname"><em>format</em></td><td>)</td>
6525 <td></td>
6526 </tr>
6527 </table>
6528 </td>
6529 <td class="mlabels-right">
6530<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6531 </tr>
6532</table>
6533</div><div class="memdoc">
6534
6535<p>Return the number of planes for a given format. </p>
6536<dl class="params"><dt>Parameters</dt><dd>
6537 <table class="params">
6538 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
6539 </table>
6540 </dd>
6541</dl>
6542<dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
6543
6544<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>
6545
6546<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>
6547<div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;{</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
6548</div><!-- fragment -->
6549</div>
6550</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01006551<a class="anchor" id="aa4f4d7a58287017588fc338965873f14"></a>
6552<div class="memitem">
6553<div class="memproto">
6554 <table class="memname">
6555 <tr>
6556 <td class="memname">bool arm_compute::opencl_is_available </td>
6557 <td>(</td>
6558 <td class="paramname"></td><td>)</td>
6559 <td></td>
6560 </tr>
6561 </table>
6562</div><div class="memdoc">
6563
6564</div>
6565</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006566<a class="anchor" id="a4823543d67a2520c98669e2a5608ef6a"></a>
6567<div class="memitem">
6568<div class="memproto">
6569<table class="mlabels">
6570 <tr>
6571 <td class="mlabels-left">
6572 <table class="memname">
6573 <tr>
6574 <td class="memname">size_t arm_compute::pixel_size_from_format </td>
6575 <td>(</td>
6576 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
6577 <td class="paramname"><em>format</em></td><td>)</td>
6578 <td></td>
6579 </tr>
6580 </table>
6581 </td>
6582 <td class="mlabels-right">
6583<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6584 </tr>
6585</table>
6586</div><div class="memdoc">
6587
6588<p>The size in bytes of the pixel format. </p>
6589<dl class="params"><dt>Parameters</dt><dd>
6590 <table class="params">
6591 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
6592 </table>
6593 </dd>
6594</dl>
6595<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
6596
6597<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>
6598
6599<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>
6600<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined pixel size for given format&quot;</span>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</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>
6601</div><!-- fragment -->
6602</div>
6603</div>
6604<a class="anchor" id="a4f6fe18760340bcec02d095b7099e923"></a>
6605<div class="memitem">
6606<div class="memproto">
6607<table class="mlabels">
6608 <tr>
6609 <td class="mlabels-left">
6610 <table class="memname">
6611 <tr>
6612 <td class="memname">int arm_compute::plane_idx_from_channel </td>
6613 <td>(</td>
6614 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
6615 <td class="paramname"><em>format</em>, </td>
6616 </tr>
6617 <tr>
6618 <td class="paramkey"></td>
6619 <td></td>
6620 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
6621 <td class="paramname"><em>channel</em>&#160;</td>
6622 </tr>
6623 <tr>
6624 <td></td>
6625 <td>)</td>
6626 <td></td><td></td>
6627 </tr>
6628 </table>
6629 </td>
6630 <td class="mlabels-right">
6631<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6632 </tr>
6633</table>
6634</div><div class="memdoc">
6635
6636<p>Return the plane index of a given channel given an input format. </p>
6637<dl class="params"><dt>Parameters</dt><dd>
6638 <table class="params">
6639 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
6640 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
6641 </table>
6642 </dd>
6643</dl>
6644<dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
6645
6646<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>
6647
6648<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>
6649<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;{</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported channel&quot;</span>);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</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>
6650</div><!-- fragment -->
6651</div>
6652</div>
Anthony Barbiera4376382017-04-12 15:12:46 +01006653<a class="anchor" id="a51a0d2ae440bc8cab3fbbe84bfea8b1d"></a>
6654<div class="memitem">
6655<div class="memproto">
6656 <table class="memname">
6657 <tr>
6658 <td class="memname">void arm_compute::print_consecutive_elements </td>
6659 <td>(</td>
6660 <td class="paramtype">std::ostream &amp;&#160;</td>
6661 <td class="paramname"><em>s</em>, </td>
6662 </tr>
6663 <tr>
6664 <td class="paramkey"></td>
6665 <td></td>
6666 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
6667 <td class="paramname"><em>dt</em>, </td>
6668 </tr>
6669 <tr>
6670 <td class="paramkey"></td>
6671 <td></td>
6672 <td class="paramtype">const uint8_t *&#160;</td>
6673 <td class="paramname"><em>ptr</em>, </td>
6674 </tr>
6675 <tr>
6676 <td class="paramkey"></td>
6677 <td></td>
6678 <td class="paramtype">unsigned int&#160;</td>
6679 <td class="paramname"><em>n</em>, </td>
6680 </tr>
6681 <tr>
6682 <td class="paramkey"></td>
6683 <td></td>
6684 <td class="paramtype">int&#160;</td>
6685 <td class="paramname"><em>stream_width</em>, </td>
6686 </tr>
6687 <tr>
6688 <td class="paramkey"></td>
6689 <td></td>
6690 <td class="paramtype">const std::string &amp;&#160;</td>
6691 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
6692 </tr>
6693 <tr>
6694 <td></td>
6695 <td>)</td>
6696 <td></td><td></td>
6697 </tr>
6698 </table>
6699</div><div class="memdoc">
6700
6701<p>Print consecutive elements to an output stream. </p>
6702<dl class="params"><dt>Parameters</dt><dd>
6703 <table class="params">
6704 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
6705 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
6706 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
6707 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
6708 <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>
6709 <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>
6710 </table>
6711 </dd>
6712</dl>
6713
6714<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00665">max_consecutive_elements_display_width_impl()</a>.</p>
6715
6716</div>
6717</div>
6718<a class="anchor" id="aa3a28b8acd21301990e06377c64e1276"></a>
6719<div class="memitem">
6720<div class="memproto">
6721 <table class="memname">
6722 <tr>
6723 <td class="memname">void arm_compute::print_consecutive_elements_impl </td>
6724 <td>(</td>
6725 <td class="paramtype">std::ostream &amp;&#160;</td>
6726 <td class="paramname"><em>s</em>, </td>
6727 </tr>
6728 <tr>
6729 <td class="paramkey"></td>
6730 <td></td>
6731 <td class="paramtype">const T *&#160;</td>
6732 <td class="paramname"><em>ptr</em>, </td>
6733 </tr>
6734 <tr>
6735 <td class="paramkey"></td>
6736 <td></td>
6737 <td class="paramtype">unsigned int&#160;</td>
6738 <td class="paramname"><em>n</em>, </td>
6739 </tr>
6740 <tr>
6741 <td class="paramkey"></td>
6742 <td></td>
6743 <td class="paramtype">int&#160;</td>
6744 <td class="paramname"><em>stream_width</em> = <code>0</code>, </td>
6745 </tr>
6746 <tr>
6747 <td class="paramkey"></td>
6748 <td></td>
6749 <td class="paramtype">const std::string &amp;&#160;</td>
6750 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
6751 </tr>
6752 <tr>
6753 <td></td>
6754 <td>)</td>
6755 <td></td><td></td>
6756 </tr>
6757 </table>
6758</div><div class="memdoc">
6759
6760<p>Print consecutive elements to an output stream. </p>
6761<dl class="params"><dt>Parameters</dt><dd>
6762 <table class="params">
6763 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
6764 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
6765 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
6766 <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>
6767 <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>
6768 </table>
6769 </dd>
6770</dl>
6771
6772<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>
6773<div class="fragment"><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;{</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; n; ++i)</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; {</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="comment">// Set stream width as it is not a &quot;sticky&quot; stream manipulator</span></div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">if</span>(stream_width != 0)</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; s.width(stream_width);</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; }</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; s &lt;&lt; std::right &lt;&lt; ptr[i] &lt;&lt; element_delim;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; }</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;}</div></div><!-- fragment -->
6774</div>
6775</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006776<a class="anchor" id="aefa4a4d3136d77b85cccfce344f9f37f"></a>
6777<div class="memitem">
6778<div class="memproto">
6779 <table class="memname">
6780 <tr>
6781 <td class="memname">std::string arm_compute::read_file </td>
6782 <td>(</td>
6783 <td class="paramtype">const std::string &amp;&#160;</td>
6784 <td class="paramname"><em>filename</em>, </td>
6785 </tr>
6786 <tr>
6787 <td class="paramkey"></td>
6788 <td></td>
6789 <td class="paramtype">bool&#160;</td>
6790 <td class="paramname"><em>binary</em>&#160;</td>
6791 </tr>
6792 <tr>
6793 <td></td>
6794 <td>)</td>
6795 <td></td><td></td>
6796 </tr>
6797 </table>
6798</div><div class="memdoc">
6799
6800<p>Load an entire file in memory. </p>
6801<dl class="params"><dt>Parameters</dt><dd>
6802 <table class="params">
6803 <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Name of the file to read. </td></tr>
6804 <tr><td class="paramdir">[in]</td><td class="paramname">binary</td><td>Is it a binary file ?</td></tr>
6805 </table>
6806 </dd>
6807</dl>
6808<dl class="section return"><dt>Returns</dt><dd>The content of the file. </dd></dl>
6809
6810<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00058">DIV_CEIL()</a>.</p>
6811
6812</div>
6813</div>
6814<a class="anchor" id="a6fd2c972d67298469a6aad75879fffab"></a>
6815<div class="memitem">
6816<div class="memproto">
6817 <table class="memname">
6818 <tr>
6819 <td class="memname">const std::pair&lt;unsigned int, unsigned int&gt; arm_compute::scaled_dimensions </td>
6820 <td>(</td>
6821 <td class="paramtype">unsigned int&#160;</td>
6822 <td class="paramname"><em>width</em>, </td>
6823 </tr>
6824 <tr>
6825 <td class="paramkey"></td>
6826 <td></td>
6827 <td class="paramtype">unsigned int&#160;</td>
6828 <td class="paramname"><em>height</em>, </td>
6829 </tr>
6830 <tr>
6831 <td class="paramkey"></td>
6832 <td></td>
6833 <td class="paramtype">unsigned int&#160;</td>
6834 <td class="paramname"><em>kernel_size</em>, </td>
6835 </tr>
6836 <tr>
6837 <td class="paramkey"></td>
6838 <td></td>
6839 <td class="paramtype">unsigned int&#160;</td>
6840 <td class="paramname"><em>stride_x</em>, </td>
6841 </tr>
6842 <tr>
6843 <td class="paramkey"></td>
6844 <td></td>
6845 <td class="paramtype">unsigned int&#160;</td>
6846 <td class="paramname"><em>stride_y</em>, </td>
6847 </tr>
6848 <tr>
6849 <td class="paramkey"></td>
6850 <td></td>
6851 <td class="paramtype">unsigned int&#160;</td>
6852 <td class="paramname"><em>pad_x</em>, </td>
6853 </tr>
6854 <tr>
6855 <td class="paramkey"></td>
6856 <td></td>
6857 <td class="paramtype">unsigned int&#160;</td>
6858 <td class="paramname"><em>pad_y</em>, </td>
6859 </tr>
6860 <tr>
6861 <td class="paramkey"></td>
6862 <td></td>
6863 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a>&#160;</td>
6864 <td class="paramname"><em>round_type</em>&#160;</td>
6865 </tr>
6866 <tr>
6867 <td></td>
6868 <td>)</td>
6869 <td></td><td></td>
6870 </tr>
6871 </table>
6872</div><div class="memdoc">
6873
6874<p>Returns expected width and height of output scaled tensor depending on dimensions rounding mode. </p>
6875<dl class="params"><dt>Parameters</dt><dd>
6876 <table class="params">
6877 <tr><td class="paramname">width</td><td>Width of input tensor (Number of columns) </td></tr>
6878 <tr><td class="paramname">height</td><td>Height of input tensor (Number of rows) </td></tr>
6879 <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>
6880 <tr><td class="paramname">stride_x</td><td>Stride of the operation in the x dimension. </td></tr>
6881 <tr><td class="paramname">stride_y</td><td>Stride of the operation in the y dimension. </td></tr>
6882 <tr><td class="paramname">pad_x</td><td>Padding size in the x dimension. </td></tr>
6883 <tr><td class="paramname">pad_y</td><td>Padding size in the y dimension. </td></tr>
6884 <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>
6885 </table>
6886 </dd>
6887</dl>
6888<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>
6889
6890<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
6891
6892</div>
6893</div>
6894<a class="anchor" id="a18ec57dffc5c26864be77318111dfb2a"></a>
6895<div class="memitem">
6896<div class="memproto">
6897<table class="mlabels">
6898 <tr>
6899 <td class="mlabels-left">
6900 <table class="memname">
6901 <tr>
6902 <td class="memname">bool arm_compute::separate_matrix </td>
6903 <td>(</td>
6904 <td class="paramtype">const int16_t *&#160;</td>
6905 <td class="paramname"><em>conv</em>, </td>
6906 </tr>
6907 <tr>
6908 <td class="paramkey"></td>
6909 <td></td>
6910 <td class="paramtype">int16_t *&#160;</td>
6911 <td class="paramname"><em>conv_col</em>, </td>
6912 </tr>
6913 <tr>
6914 <td class="paramkey"></td>
6915 <td></td>
6916 <td class="paramtype">int16_t *&#160;</td>
6917 <td class="paramname"><em>conv_row</em>, </td>
6918 </tr>
6919 <tr>
6920 <td class="paramkey"></td>
6921 <td></td>
6922 <td class="paramtype">uint8_t&#160;</td>
6923 <td class="paramname"><em>size</em>&#160;</td>
6924 </tr>
6925 <tr>
6926 <td></td>
6927 <td>)</td>
6928 <td></td><td></td>
6929 </tr>
6930 </table>
6931 </td>
6932 <td class="mlabels-right">
6933<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6934 </tr>
6935</table>
6936</div><div class="memdoc">
6937
6938<p>Separate a 2D convolution into two 1D convolutions. </p>
6939<dl class="params"><dt>Parameters</dt><dd>
6940 <table class="params">
6941 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>2D convolution </td></tr>
6942 <tr><td class="paramdir">[out]</td><td class="paramname">conv_col</td><td>1D vertical convolution </td></tr>
6943 <tr><td class="paramdir">[out]</td><td class="paramname">conv_row</td><td>1D horizontal convolution </td></tr>
6944 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the 2D convolution</td></tr>
6945 </table>
6946 </dd>
6947</dl>
6948<dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
6949
6950<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>
6951<div class="fragment"><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;{</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; int32_t min_col = -1;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; int16_t min_col_val = -1;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">for</span>(int32_t i = 0; i &lt; size; ++i)</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">if</span>(conv[i] != 0 &amp;&amp; (min_col &lt; 0 || abs(min_col_val) &gt; abs(conv[i])))</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; min_col = i;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; min_col_val = conv[i];</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">if</span>(min_col &lt; 0)</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; {</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 0; j &lt; size; ++j)</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; {</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; conv_col[j] = conv[min_col + j * size];</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; }</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; size; i++)</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">if</span>(static_cast&lt;int&gt;(i) == min_col)</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; {</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; conv_row[i] = 1;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; }</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; int16_t coeff = conv[i] / conv[min_col];</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 1; j &lt; size; ++j)</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">if</span>(conv[i + j * size] != (conv_col[j] * coeff))</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; }</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; conv_row[i] = coeff;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; }</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;}</div></div><!-- fragment -->
6952</div>
6953</div>
6954<a class="anchor" id="ac955c978e18cc9bf6daea31f13076fba"></a>
6955<div class="memitem">
6956<div class="memproto">
6957 <table class="memname">
6958 <tr>
6959 <td class="memname">const std::string&amp; arm_compute::string_from_activation_func </td>
6960 <td>(</td>
6961 <td class="paramtype"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a>&#160;</td>
6962 <td class="paramname"><em>act</em></td><td>)</td>
6963 <td></td>
6964 </tr>
6965 </table>
6966</div><div class="memdoc">
6967
6968<p>Translates a given activation function to a string. </p>
6969<dl class="params"><dt>Parameters</dt><dd>
6970 <table class="params">
6971 <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>
6972 </table>
6973 </dd>
6974</dl>
6975<dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
6976
6977<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
6978
6979</div>
6980</div>
6981<a class="anchor" id="abd15add5c6c7de5c8205ce236875aadd"></a>
6982<div class="memitem">
6983<div class="memproto">
6984 <table class="memname">
6985 <tr>
6986 <td class="memname">const std::string&amp; arm_compute::string_from_border_mode </td>
6987 <td>(</td>
6988 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a>&#160;</td>
6989 <td class="paramname"><em>border_mode</em></td><td>)</td>
6990 <td></td>
6991 </tr>
6992 </table>
6993</div><div class="memdoc">
6994
6995<p>Translates a given border mode policy to a string. </p>
6996<dl class="params"><dt>Parameters</dt><dd>
6997 <table class="params">
6998 <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>
6999 </table>
7000 </dd>
7001</dl>
7002<dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
7003
7004<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
7005
7006</div>
7007</div>
7008<a class="anchor" id="a106c203dd6af234d38452ea0ee7b2ddc"></a>
7009<div class="memitem">
7010<div class="memproto">
7011 <table class="memname">
7012 <tr>
7013 <td class="memname">const std::string&amp; arm_compute::string_from_channel </td>
7014 <td>(</td>
7015 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
7016 <td class="paramname"><em>channel</em></td><td>)</td>
7017 <td></td>
7018 </tr>
7019 </table>
7020</div><div class="memdoc">
7021
7022<p>Convert a channel identity into a string. </p>
7023<dl class="params"><dt>Parameters</dt><dd>
7024 <table class="params">
7025 <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>
7026 </table>
7027 </dd>
7028</dl>
7029<dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
7030
7031<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
7032
7033</div>
7034</div>
7035<a class="anchor" id="aefa1d9648995e5eccc693c690e27aa88"></a>
7036<div class="memitem">
7037<div class="memproto">
7038 <table class="memname">
7039 <tr>
7040 <td class="memname">const std::string&amp; arm_compute::string_from_data_type </td>
7041 <td>(</td>
7042 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
7043 <td class="paramname"><em>dt</em></td><td>)</td>
7044 <td></td>
7045 </tr>
7046 </table>
7047</div><div class="memdoc">
7048
7049<p>Convert a data type identity into a string. </p>
7050<dl class="params"><dt>Parameters</dt><dd>
7051 <table class="params">
7052 <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>
7053 </table>
7054 </dd>
7055</dl>
7056<dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
7057
7058<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>
7059
7060</div>
7061</div>
7062<a class="anchor" id="a9c92c867fc64454545668d87b20979eb"></a>
7063<div class="memitem">
7064<div class="memproto">
7065 <table class="memname">
7066 <tr>
7067 <td class="memname">const std::string&amp; arm_compute::string_from_format </td>
7068 <td>(</td>
7069 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
7070 <td class="paramname"><em>format</em></td><td>)</td>
7071 <td></td>
7072 </tr>
7073 </table>
7074</div><div class="memdoc">
7075
7076<p>Convert a tensor format into a string. </p>
7077<dl class="params"><dt>Parameters</dt><dd>
7078 <table class="params">
7079 <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>
7080 </table>
7081 </dd>
7082</dl>
7083<dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
7084
7085<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>
7086
7087</div>
7088</div>
7089<a class="anchor" id="ade34f5e72f050fd3665f3294dfb15850"></a>
7090<div class="memitem">
7091<div class="memproto">
7092 <table class="memname">
7093 <tr>
7094 <td class="memname">const std::string&amp; arm_compute::string_from_interpolation_policy </td>
7095 <td>(</td>
7096 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a>&#160;</td>
7097 <td class="paramname"><em>policy</em></td><td>)</td>
7098 <td></td>
7099 </tr>
7100 </table>
7101</div><div class="memdoc">
7102
7103<p>Translates a given interpolation policy to a string. </p>
7104<dl class="params"><dt>Parameters</dt><dd>
7105 <table class="params">
7106 <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>
7107 </table>
7108 </dd>
7109</dl>
7110<dl class="section return"><dt>Returns</dt><dd>The string describing the interpolation policy. </dd></dl>
7111
7112<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
7113
7114</div>
7115</div>
7116<a class="anchor" id="a018795ab2489d17309e158ff5c060ab1"></a>
7117<div class="memitem">
7118<div class="memproto">
7119 <table class="memname">
7120 <tr>
7121 <td class="memname">const std::string&amp; arm_compute::string_from_matrix_pattern </td>
7122 <td>(</td>
7123 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a>&#160;</td>
7124 <td class="paramname"><em>pattern</em></td><td>)</td>
7125 <td></td>
7126 </tr>
7127 </table>
7128</div><div class="memdoc">
7129
7130<p>Convert a matrix pattern into a string. </p>
7131<dl class="params"><dt>Parameters</dt><dd>
7132 <table class="params">
7133 <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>
7134 </table>
7135 </dd>
7136</dl>
7137<dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
7138
7139<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
7140
7141</div>
7142</div>
7143<a class="anchor" id="a14831547f57ecf5f0deef888ad41ad30"></a>
7144<div class="memitem">
7145<div class="memproto">
7146 <table class="memname">
7147 <tr>
7148 <td class="memname">const std::string&amp; arm_compute::string_from_non_linear_filter_function </td>
7149 <td>(</td>
7150 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a>&#160;</td>
7151 <td class="paramname"><em>function</em></td><td>)</td>
7152 <td></td>
7153 </tr>
7154 </table>
7155</div><div class="memdoc">
7156
7157<p>Translates a given non linear function to 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">function</td><td><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> to be translated to string.</td></tr>
7161 </table>
7162 </dd>
7163</dl>
7164<dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
7165
7166<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00491">data_type_for_convolution_matrix()</a>.</p>
7167
7168</div>
7169</div>
7170<a class="anchor" id="ac2a92cae51d2734a65676052adb33c22"></a>
7171<div class="memitem">
7172<div class="memproto">
7173 <table class="memname">
7174 <tr>
7175 <td class="memname">bool arm_compute::update_window_and_padding </td>
7176 <td>(</td>
7177 <td class="paramtype"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
7178 <td class="paramname"><em>win</em>, </td>
7179 </tr>
7180 <tr>
7181 <td class="paramkey"></td>
7182 <td></td>
7183 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
7184 <td class="paramname"><em>patterns</em>&#160;</td>
7185 </tr>
7186 <tr>
7187 <td></td>
7188 <td>)</td>
7189 <td></td><td></td>
7190 </tr>
7191 </table>
7192</div><div class="memdoc">
7193
7194<p>Update window and padding size for each of the access patterns. </p>
7195<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>
7196<dl class="params"><dt>Parameters</dt><dd>
7197 <table class="params">
7198 <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>
7199 <tr><td class="paramdir">[in]</td><td class="paramname">patterns</td><td>Access patterns used to calculate the final window and padding.</td></tr>
7200 </table>
7201 </dd>
7202</dl>
7203<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>
7204
Anthony Barbier46d59272017-05-04 09:15:15 +01007205<p>Definition at line <a class="el" href="_helpers_8h_source.xhtml#l00307">307</a> of file <a class="el" href="_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007206
7207<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>
Anthony Barbier46d59272017-05-04 09:15:15 +01007208<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;{</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; for_each([&amp;](<span class="keyword">const</span> IAccessWindow &amp; w)</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; {</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; window_changed |= w.update_window_if_needed(win);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; },</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; patterns...);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; for_each([&amp;](<span class="keyword">const</span> IAccessWindow &amp; w)</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; padding_changed |= w.update_padding_if_needed(win);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; },</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; patterns...);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span> window_changed;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00007209</div>
7210</div>
7211<a class="anchor" id="ae350823b5c93227dc33f1105ece06d68"></a>
7212<div class="memitem">
7213<div class="memproto">
7214 <table class="memname">
7215 <tr>
7216 <td class="memname">const std::string arm_compute::val_to_string </td>
7217 <td>(</td>
7218 <td class="paramtype">T&#160;</td>
7219 <td class="paramname"><em>val</em></td><td>)</td>
7220 <td></td>
7221 </tr>
7222 </table>
7223</div><div class="memdoc">
7224
7225<p>Return a value as a string. </p>
7226<dl class="params"><dt>Parameters</dt><dd>
7227 <table class="params">
7228 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input value.</td></tr>
7229 </table>
7230 </dd>
7231</dl>
7232<dl class="section return"><dt>Returns</dt><dd>Value represented as a string </dd></dl>
7233
7234<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>
7235<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;{</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>std::ostringstream &amp;<span class="keyword">&gt;</span>(std::ostringstream() &lt;&lt; val).str();</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div></div><!-- fragment -->
7236</div>
7237</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01007238<a class="anchor" id="aa197f574e5effe492aa8034651467eb3"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007239<div class="memitem">
7240<div class="memproto">
7241<table class="mlabels">
7242 <tr>
7243 <td class="mlabels-left">
7244 <table class="memname">
7245 <tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01007246 <td class="memname">float32x4_t arm_compute::vexpq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007247 <td>(</td>
7248 <td class="paramtype">const float32x4_t &amp;&#160;</td>
7249 <td class="paramname"><em>x</em></td><td>)</td>
7250 <td></td>
7251 </tr>
7252 </table>
7253 </td>
7254 <td class="mlabels-right">
7255<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7256 </tr>
7257</table>
7258</div><div class="memdoc">
7259
7260<p>Calculate exponential. </p>
7261<dl class="params"><dt>Parameters</dt><dd>
7262 <table class="params">
7263 <tr><td class="paramname">x</td><td>Input vector value in F32 format.</td></tr>
7264 </table>
7265 </dd>
7266</dl>
7267<dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
7268
7269<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>
7270
Anthony Barbier46d59272017-05-04 09:15:15 +01007271<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00097">vtaylor_polyq_f32()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007272
Anthony Barbier46d59272017-05-04 09:15:15 +01007273<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00191">vpowq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00167">vtanhq_f32()</a>.</p>
7274<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="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>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_INV_LN2 = vdupq_n_f32(1.4426950408f); <span class="comment">// 1/ln(2)</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; int32x4_t m = vcvtq_s32_f32(vmulq_f32(x, CONST_INV_LN2));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; float32x4_t val = vmlsq_f32(x, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; 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>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a869945609357fa552d94eb16f7aad4e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">arm_compute::exp_tab</a></div><div class="ttdeci">const std::array&lt; float32x4_t, 8 &gt; exp_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00032">NEMath.h:32</a></div></div>
7275<div class="ttc" id="namespacearm__compute_xhtml_ac91f64208cebf2177a6be3a40ecebca8"><div class="ttname"><a href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(const float32x4_t &amp;x, const std::array&lt; float32x4_t, 8 &gt; &amp;coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&amp;#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>
Anthony Barbier871448e2017-03-24 14:54:29 +00007276</div><!-- fragment -->
7277</div>
7278</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01007279<a class="anchor" id="ae1cdb8bbcb3f7ce5d3469f42f19d37a6"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007280<div class="memitem">
7281<div class="memproto">
7282<table class="mlabels">
7283 <tr>
7284 <td class="mlabels-left">
7285 <table class="memname">
7286 <tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01007287 <td class="memname">float32x4_t arm_compute::vinvq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007288 <td>(</td>
7289 <td class="paramtype">const float32x4_t &amp;&#160;</td>
7290 <td class="paramname"><em>x</em></td><td>)</td>
7291 <td></td>
7292 </tr>
7293 </table>
7294 </td>
7295 <td class="mlabels-right">
7296<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7297 </tr>
7298</table>
7299</div><div class="memdoc">
7300
7301<p>Calculate reciprocal. </p>
7302<dl class="params"><dt>Parameters</dt><dd>
7303 <table class="params">
7304 <tr><td class="paramname">x</td><td>Input value.</td></tr>
7305 </table>
7306 </dd>
7307</dl>
7308<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
7309
7310<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>
7311
Anthony Barbier46d59272017-05-04 09:15:15 +01007312<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00167">vtanhq_f32()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007313<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; float32x4_t recip = vrecpeq_f32(x);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> recip;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;}</div></div><!-- fragment -->
7314</div>
7315</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01007316<a class="anchor" id="ab8970d7aed07d8649f5e3088455948b8"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007317<div class="memitem">
7318<div class="memproto">
7319<table class="mlabels">
7320 <tr>
7321 <td class="mlabels-left">
7322 <table class="memname">
7323 <tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01007324 <td class="memname">float32x4_t arm_compute::vinvsqrtq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007325 <td>(</td>
7326 <td class="paramtype">float32x4_t&#160;</td>
7327 <td class="paramname"><em>x</em></td><td>)</td>
7328 <td></td>
7329 </tr>
7330 </table>
7331 </td>
7332 <td class="mlabels-right">
7333<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7334 </tr>
7335</table>
7336</div><div class="memdoc">
7337
7338<p>Calculate inverse square root. </p>
7339<dl class="params"><dt>Parameters</dt><dd>
7340 <table class="params">
7341 <tr><td class="paramname">x</td><td>Input value.</td></tr>
7342 </table>
7343 </dd>
7344</dl>
7345<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
7346
7347<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>
7348<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; float32x4_t sqrt_reciprocal = vrsqrteq_f32(x);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; 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>&#160; 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>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> sqrt_reciprocal;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div></div><!-- fragment -->
7349</div>
7350</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01007351<a class="anchor" id="a4082e6868f902da08483e54ec07484c8"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007352<div class="memitem">
7353<div class="memproto">
7354<table class="mlabels">
7355 <tr>
7356 <td class="mlabels-left">
7357 <table class="memname">
7358 <tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01007359 <td class="memname">float32x4_t arm_compute::vlogq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007360 <td>(</td>
7361 <td class="paramtype">const float32x4_t &amp;&#160;</td>
7362 <td class="paramname"><em>x</em></td><td>)</td>
7363 <td></td>
7364 </tr>
7365 </table>
7366 </td>
7367 <td class="mlabels-right">
7368<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7369 </tr>
7370</table>
7371</div><div class="memdoc">
7372
7373<p>Calculate logarithm. </p>
7374<dl class="params"><dt>Parameters</dt><dd>
7375 <table class="params">
7376 <tr><td class="paramname">x</td><td>Input vector value in F32 format.</td></tr>
7377 </table>
7378 </dd>
7379</dl>
7380<dl class="section return"><dt>Returns</dt><dd>The calculated logarithm. </dd></dl>
7381
7382<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>
7383
Anthony Barbier46d59272017-05-04 09:15:15 +01007384<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00097">vtaylor_polyq_f32()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007385
Anthony Barbier46d59272017-05-04 09:15:15 +01007386<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00191">vpowq_f32()</a>.</p>
7387<div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;{</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <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>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="comment">// Extract exponent</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; 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>&#160; 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>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a>);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; poly = vmlaq_f32(poly, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ac91f64208cebf2177a6be3a40ecebca8"><div class="ttname"><a href="namespacearm__compute.xhtml#ac91f64208cebf2177a6be3a40ecebca8">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(const float32x4_t &amp;x, const std::array&lt; float32x4_t, 8 &gt; &amp;coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&amp;#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>
Anthony Barbier871448e2017-03-24 14:54:29 +00007388<div class="ttc" id="namespacearm__compute_xhtml_a48fb9cf404e8f7043235bf14105c9793"><div class="ttname"><a href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">arm_compute::log_tab</a></div><div class="ttdeci">const std::array&lt; float32x4_t, 8 &gt; log_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8h_source.xhtml#l00047">NEMath.h:47</a></div></div>
7389</div><!-- fragment -->
7390</div>
7391</div>
7392<a class="anchor" id="ae0dbcd09c015bda4ab290b957d7bd6c7"></a>
7393<div class="memitem">
7394<div class="memproto">
7395<table class="mlabels">
7396 <tr>
7397 <td class="mlabels-left">
7398 <table class="memname">
7399 <tr>
7400 <td class="memname">float32x4_t arm_compute::vpowq_f32 </td>
7401 <td>(</td>
7402 <td class="paramtype">const float32x4_t &amp;&#160;</td>
7403 <td class="paramname"><em>val</em>, </td>
7404 </tr>
7405 <tr>
7406 <td class="paramkey"></td>
7407 <td></td>
7408 <td class="paramtype">const float32x4_t &amp;&#160;</td>
7409 <td class="paramname"><em>n</em>&#160;</td>
7410 </tr>
7411 <tr>
7412 <td></td>
7413 <td>)</td>
7414 <td></td><td></td>
7415 </tr>
7416 </table>
7417 </td>
7418 <td class="mlabels-right">
7419<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7420 </tr>
7421</table>
7422</div><div class="memdoc">
7423
7424<p>Calculate n power of a number. </p>
7425<p>pow(x,n) = e^(n*log(x))</p>
7426<dl class="params"><dt>Parameters</dt><dd>
7427 <table class="params">
7428 <tr><td class="paramname">val</td><td>Input vector value in F32 format. </td></tr>
7429 <tr><td class="paramname">n</td><td>Powers to raise the input to.</td></tr>
7430 </table>
7431 </dd>
7432</dl>
7433<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
7434
Anthony Barbier46d59272017-05-04 09:15:15 +01007435<p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00191">191</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007436
Anthony Barbier46d59272017-05-04 09:15:15 +01007437<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00139">vlogq_f32()</a>.</p>
7438<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;{</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">vexpq_f32</a>(vmulq_f32(n, <a class="code" href="namespacearm__compute.xhtml#a4082e6868f902da08483e54ec07484c8">vlogq_f32</a>(val)));</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a4082e6868f902da08483e54ec07484c8"><div class="ttname"><a href="namespacearm__compute.xhtml#a4082e6868f902da08483e54ec07484c8">arm_compute::vlogq_f32</a></div><div class="ttdeci">float32x4_t vlogq_f32(const float32x4_t &amp;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>
7439<div class="ttc" id="namespacearm__compute_xhtml_aa197f574e5effe492aa8034651467eb3"><div class="ttname"><a href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(const float32x4_t &amp;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>
Anthony Barbier871448e2017-03-24 14:54:29 +00007440</div><!-- fragment -->
7441</div>
7442</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01007443<a class="anchor" id="a9598330b2406691ce6580f7506e62168"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007444<div class="memitem">
7445<div class="memproto">
7446<table class="mlabels">
7447 <tr>
7448 <td class="mlabels-left">
7449 <table class="memname">
7450 <tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01007451 <td class="memname">float32x4_t arm_compute::vtanhq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007452 <td>(</td>
7453 <td class="paramtype">const float32x4_t &amp;&#160;</td>
7454 <td class="paramname"><em>val</em></td><td>)</td>
7455 <td></td>
7456 </tr>
7457 </table>
7458 </td>
7459 <td class="mlabels-right">
7460<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7461 </tr>
7462</table>
7463</div><div class="memdoc">
7464
7465<p>Calculate hyperbolic tangent. </p>
7466<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
Anthony Barbier46d59272017-05-04 09:15:15 +01007467<dl class="section note"><dt>Note</dt><dd>We clamp x to [-5,5] to avoid overflowing issues.</dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00007468<dl class="params"><dt>Parameters</dt><dd>
7469 <table class="params">
7470 <tr><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
7471 </table>
7472 </dd>
7473</dl>
7474<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
7475
Anthony Barbier46d59272017-05-04 09:15:15 +01007476<p>Definition at line <a class="el" href="_n_e_math_8h_source.xhtml#l00167">167</a> of file <a class="el" href="_n_e_math_8h_source.xhtml">NEMath.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007477
Anthony Barbier46d59272017-05-04 09:15:15 +01007478<p>References <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00082">vinvq_f32()</a>.</p>
7479<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;{</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f); <span class="comment">// 1.f</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_2 = vdupq_n_f32(2.f); <span class="comment">// 2.f</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MIN_TANH = vdupq_n_f32(-5.f); <span class="comment">// -5.f</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MAX_TANH = vdupq_n_f32(5.f); <span class="comment">// 5.f</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; float32x4_t x = vminq_f32(vmaxq_f32(val, CONST_MIN_TANH), CONST_MAX_TANH);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; float32x4_t exp2x = <a class="code" href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">vexpq_f32</a>(vmulq_f32(CONST_2, x));</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; float32x4_t num = vsubq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; float32x4_t den = vaddq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; float32x4_t tanh = vmulq_f32(num, <a class="code" href="namespacearm__compute.xhtml#ae1cdb8bbcb3f7ce5d3469f42f19d37a6">vinvq_f32</a>(den));</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> tanh;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ae1cdb8bbcb3f7ce5d3469f42f19d37a6"><div class="ttname"><a href="namespacearm__compute.xhtml#ae1cdb8bbcb3f7ce5d3469f42f19d37a6">arm_compute::vinvq_f32</a></div><div class="ttdeci">float32x4_t vinvq_f32(const float32x4_t &amp;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>
7480<div class="ttc" id="namespacearm__compute_xhtml_aa197f574e5effe492aa8034651467eb3"><div class="ttname"><a href="namespacearm__compute.xhtml#aa197f574e5effe492aa8034651467eb3">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(const float32x4_t &amp;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>
Anthony Barbier871448e2017-03-24 14:54:29 +00007481</div><!-- fragment -->
7482</div>
7483</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01007484<a class="anchor" id="ac91f64208cebf2177a6be3a40ecebca8"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007485<div class="memitem">
7486<div class="memproto">
7487<table class="mlabels">
7488 <tr>
7489 <td class="mlabels-left">
7490 <table class="memname">
7491 <tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01007492 <td class="memname">float32x4_t arm_compute::vtaylor_polyq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007493 <td>(</td>
7494 <td class="paramtype">const float32x4_t &amp;&#160;</td>
7495 <td class="paramname"><em>x</em>, </td>
7496 </tr>
7497 <tr>
7498 <td class="paramkey"></td>
7499 <td></td>
7500 <td class="paramtype">const std::array&lt; float32x4_t, 8 &gt; &amp;&#160;</td>
7501 <td class="paramname"><em>coeffs</em>&#160;</td>
7502 </tr>
7503 <tr>
7504 <td></td>
7505 <td>)</td>
7506 <td></td><td></td>
7507 </tr>
7508 </table>
7509 </td>
7510 <td class="mlabels-right">
7511<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7512 </tr>
7513</table>
7514</div><div class="memdoc">
7515
7516<p>Perform a 7th degree polynomial approximation using Estrin's method. </p>
7517<dl class="params"><dt>Parameters</dt><dd>
7518 <table class="params">
7519 <tr><td class="paramname">x</td><td>Input vector value in F32 format. </td></tr>
7520 <tr><td class="paramname">coeffs</td><td>Polynomial coefficients table.</td></tr>
7521 </table>
7522 </dd>
7523</dl>
7524<dl class="section return"><dt>Returns</dt><dd>The calculated approximation. </dd></dl>
7525
7526<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>
7527
7528<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>.</p>
7529
Anthony Barbier46d59272017-05-04 09:15:15 +01007530<p>Referenced by <a class="el" href="_n_e_math_8h_source.xhtml#l00115">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8h_source.xhtml#l00139">vlogq_f32()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007531<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;{</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; 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>&#160; 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>&#160; float32x4_t C = vmlaq_f32(coeffs[1], coeffs[5], x);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; float32x4_t D = vmlaq_f32(coeffs[3], coeffs[7], x);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; float32x4_t x2 = vmulq_f32(x, x);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; float32x4_t x4 = vmulq_f32(x2, x2);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; 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>&#160; <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
7532<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>
7533</div><!-- fragment -->
7534</div>
7535</div>
7536<h2 class="groupheader">Variable Documentation</h2>
7537<a class="anchor" id="a3fed059965fe44cbe7ed4091d6b63acf"></a>
7538<div class="memitem">
7539<div class="memproto">
7540 <table class="memname">
7541 <tr>
7542 <td class="memname">constexpr uint8_t CONSTANT_BORDER_VALUE = 199</td>
7543 </tr>
7544 </table>
7545</div><div class="memdoc">
7546
7547<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>
7548
Anthony Barbier46d59272017-05-04 09:15:15 +01007549<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00078">78</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007550
7551</div>
7552</div>
7553<a class="anchor" id="a869945609357fa552d94eb16f7aad4e9"></a>
7554<div class="memitem">
7555<div class="memproto">
7556 <table class="memname">
7557 <tr>
7558 <td class="memname">const std::array&lt;float32x4_t, 8&gt; exp_tab</td>
7559 </tr>
7560 </table>
7561</div><div class="memdoc">
7562<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 -->
7563<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>
7564
7565</div>
7566</div>
7567<a class="anchor" id="a48fb9cf404e8f7043235bf14105c9793"></a>
7568<div class="memitem">
7569<div class="memproto">
7570 <table class="memname">
7571 <tr>
7572 <td class="memname">const std::array&lt;float32x4_t, 8&gt; log_tab</td>
7573 </tr>
7574 </table>
7575</div><div class="memdoc">
7576<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 -->
7577<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>
7578
7579</div>
7580</div>
7581<a class="anchor" id="a769d636d7a3c7c84579a5f477a18bc9d"></a>
7582<div class="memitem">
7583<div class="memproto">
7584 <table class="memname">
7585 <tr>
7586 <td class="memname">constexpr size_t MAX_DIMS = 6</td>
7587 </tr>
7588 </table>
7589</div><div class="memdoc">
7590
7591<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>
7592
7593</div>
7594</div>
7595<a class="anchor" id="af9876aedd664cac0ddeacddb40cb71cd"></a>
7596<div class="memitem">
7597<div class="memproto">
7598 <table class="memname">
7599 <tr>
7600 <td class="memname">constexpr float SCALE_PYRAMID_HALF = 0.5f</td>
7601 </tr>
7602 </table>
7603</div><div class="memdoc">
7604
Anthony Barbier46d59272017-05-04 09:15:15 +01007605<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00081">81</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007606
7607</div>
7608</div>
7609<a class="anchor" id="a2ebcd5423d5fba468e7debd2e1aabe91"></a>
7610<div class="memitem">
7611<div class="memproto">
7612 <table class="memname">
7613 <tr>
7614 <td class="memname">constexpr float SCALE_PYRAMID_ORB = 8.408964152537146130583778358414e-01</td>
7615 </tr>
7616 </table>
7617</div><div class="memdoc">
7618
Anthony Barbier46d59272017-05-04 09:15:15 +01007619<p>Definition at line <a class="el" href="_types_8h_source.xhtml#l00084">84</a> of file <a class="el" href="_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007620
7621</div>
7622</div>
7623</div><!-- contents -->
7624</div><!-- doc-content -->
7625<!-- start footer part -->
7626<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
7627 <ul>
7628 <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li>
Anthony Barbier46d59272017-05-04 09:15:15 +01007629 <li class="footer">Generated on Wed May 3 2017 17:20:04 for ARM Compute Library by
Anthony Barbier871448e2017-03-24 14:54:29 +00007630 <a href="http://www.doxygen.org/index.html">
7631 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
7632 </ul>
7633</div>
7634</body>
7635</html>