blob: 2f3d99666482309fde059165436d02ffea740837 [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"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007<meta name="generator" content="Doxygen 1.8.11"/>
Anthony Barbier871448e2017-03-24 14:54:29 +00008<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01009<title>Compute Library: arm_compute Namespace Reference</title>
Anthony Barbier871448e2017-03-24 14:54:29 +000010<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015<script type="text/javascript" src="navtreedata.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000016<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"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000022<script type="text/javascript" src="search/searchdata.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000023<script type="text/javascript" src="search/search.js"></script>
24<script type="text/javascript">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000025 $(document).ready(function() { init_search(); });
Anthony Barbier871448e2017-03-24 14:54:29 +000026</script>
27<script type="text/x-mathjax-config">
28 MathJax.Hub.Config({
29 extensions: ["tex2jax.js"],
30 jax: ["input/TeX","output/HTML-CSS"],
31});
Anthony Barbier8140e1e2017-12-14 23:48:46 +000032</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Anthony Barbier871448e2017-03-24 14:54:29 +000033<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;">
Anthony Barbierdbdab852017-06-23 15:42:00 +010042 <div id="projectname">Compute Library
Jenkins52ba29e2018-08-29 15:32:11 +000043 &#160;<span id="projectnumber">18.08</span>
Anthony Barbier871448e2017-03-24 14:54:29 +000044 </div>
45 </td>
46 </tr>
47 </tbody>
48</table>
49</div>
50<!-- end header part -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000051<!-- Generated by Doxygen 1.8.11 -->
Anthony Barbier871448e2017-03-24 14:54:29 +000052<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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010058 <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
Anthony Barbier871448e2017-03-24 14:54:29 +000059 <li class="current"><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
60 <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
61 <li><a href="files.xhtml"><span>Files</span></a></li>
62 <li>
63 <div id="MSearchBox" class="MSearchBoxInactive">
64 <span class="left">
65 <img id="MSearchSelect" src="search/mag_sel.png"
66 onmouseover="return searchBox.OnSearchSelectShow()"
67 onmouseout="return searchBox.OnSearchSelectHide()"
68 alt=""/>
69 <input type="text" id="MSearchField" value="Search" accesskey="S"
70 onfocus="searchBox.OnSearchFieldFocus(true)"
71 onblur="searchBox.OnSearchFieldFocus(false)"
72 onkeyup="searchBox.OnSearchFieldChange(event)"/>
73 </span><span class="right">
74 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
75 </span>
76 </div>
77 </li>
78 </ul>
79 </div>
80 <div id="navrow2" class="tabs2">
81 <ul class="tablist">
82 <li><a href="namespaces.xhtml"><span>Namespace&#160;List</span></a></li>
83 <li><a href="namespacemembers.xhtml"><span>Namespace&#160;Members</span></a></li>
84 </ul>
85 </div>
86</div><!-- top -->
87<div id="side-nav" class="ui-resizable side-nav-resizable">
88 <div id="nav-tree">
89 <div id="nav-tree-contents">
90 <div id="nav-sync" class="sync"></div>
91 </div>
92 </div>
93 <div id="splitbar" style="-moz-user-select:none;"
94 class="ui-resizable-handle">
95 </div>
96</div>
97<script type="text/javascript">
98$(document).ready(function(){initNavTree('namespacearm__compute.xhtml','');});
99</script>
100<div id="doc-content">
101<!-- window showing the filter options -->
102<div id="MSearchSelectWindow"
103 onmouseover="return searchBox.OnSearchSelectShow()"
104 onmouseout="return searchBox.OnSearchSelectHide()"
105 onkeydown="return searchBox.OnSearchSelectKey(event)">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000106</div>
Anthony Barbier871448e2017-03-24 14:54:29 +0000107
108<!-- iframe showing the search results (closed by default) -->
109<div id="MSearchResultsWindow">
110<iframe src="javascript:void(0)" frameborder="0"
111 name="MSearchResults" id="MSearchResults">
112</iframe>
113</div>
114
115<div class="header">
116 <div class="summary">
117<a href="#namespaces">Namespaces</a> &#124;
118<a href="#nested-classes">Data Structures</a> &#124;
119<a href="#typedef-members">Typedefs</a> &#124;
120<a href="#enum-members">Enumerations</a> &#124;
121<a href="#func-members">Functions</a> &#124;
122<a href="#var-members">Variables</a> </div>
123 <div class="headertitle">
124<div class="title">arm_compute Namespace Reference</div> </div>
125</div><!--header-->
126<div class="contents">
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000127
128<p>This file contains all available output stages for GEMMLowp on OpenCL.
129<a href="#details">More...</a></p>
Anthony Barbier871448e2017-03-24 14:54:29 +0000130<table class="memberdecls">
131<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
132Namespaces</h2></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000133<tr class="memitem:namespacearm__compute_1_1detail"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1detail.xhtml">detail</a></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000135<tr class="memitem:namespacearm__compute_1_1gles"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1gles.xhtml">gles</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100136<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000137<tr class="memitem:namespacearm__compute_1_1graph"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph.xhtml">graph</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100138<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000139<tr class="memitem:namespacearm__compute_1_1graph__utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml">graph_utils</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100140<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000141<tr class="memitem:namespacearm__compute_1_1io"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1io.xhtml">io</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100142<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000143<tr class="memitem:namespacearm__compute_1_1logging"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1logging.xhtml">logging</a></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100144<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000145<tr class="memitem:namespacearm__compute_1_1misc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1misc.xhtml">misc</a></td></tr>
146<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<tr class="memitem:namespacearm__compute_1_1quantization"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1quantization.xhtml">quantization</a></td></tr>
148<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100149<tr class="memitem:namespacearm__compute_1_1strong__type"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1strong__type.xhtml">strong_type</a></td></tr>
150<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000151<tr class="memitem:namespacearm__compute_1_1support"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1support.xhtml">support</a></td></tr>
152<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:namespacearm__compute_1_1test"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml">test</a></td></tr>
154<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:namespacearm__compute_1_1traits"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1traits.xhtml">traits</a></td></tr>
156<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100157<tr class="memitem:namespacearm__compute_1_1tuners"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1tuners.xhtml">tuners</a></td></tr>
158<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000159<tr class="memitem:namespacearm__compute_1_1utility"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1utility.xhtml">utility</a></td></tr>
160<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="memitem:namespacearm__compute_1_1utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1utils.xhtml">utils</a></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100162<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +0000163<tr class="memitem:namespacearm__compute_1_1wrapper"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml">wrapper</a></td></tr>
164<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000165</table><table class="memberdecls">
166<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
167Data Structures</h2></td></tr>
168<tr class="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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000169<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>
170<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="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>
172<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>
173<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
174<tr class="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>
175<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000176<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000178<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a static rectangular access pattern. <a href="classarm__compute_1_1_access_window_static.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000179<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
180<tr class="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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000181<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of a XY-transpose access pattern. <a href="classarm__compute_1_1_access_window_transpose.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000182<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000183<tr class="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>
184<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000185<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000186<tr class="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>
187<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000188<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000189<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_allocator.xhtml">Allocator</a></td></tr>
190<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default malloc allocator implementation. <a href="classarm__compute_1_1_allocator.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000191<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000192<tr class="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>
193<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000194<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000195<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_lifetime_manager.xhtml">BlobLifetimeManager</a></td></tr>
196<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concrete class that tracks the lifetime of registered tensors and calculates the systems memory requirements in terms of blobs. <a href="classarm__compute_1_1_blob_lifetime_manager.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000197<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000198<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_memory_pool.xhtml">BlobMemoryPool</a></td></tr>
199<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blob memory pool. <a href="classarm__compute_1_1_blob_memory_pool.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000200<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000201<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>
202<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000203<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000204<tr class="memitem:"><td 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>
205<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000206<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100207<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000208<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>
209<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
210<tr class="memitem:"><td 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>
211<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000212<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100213<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000214<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate kernel. <a href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000215<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000216<tr class="memitem:"><td 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>
217<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000218<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100219<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000220<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>
221<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
222<tr class="memitem:"><td 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>
223<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>
224<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
225<tr class="memitem:"><td 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>
226<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>
227<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
228<tr class="memitem:"><td 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>
229<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000230<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100231<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000232<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>
233<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
234<tr class="memitem:"><td 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>
235<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000236<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100237<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000238<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>
239<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000240<tr class="memitem:"><td 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_division.xhtml">CLArithmeticDivision</a></td></tr>
241<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_division_kernel.xhtml">CLArithmeticDivisionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_division.xhtml#details">More...</a><br /></td></tr>
242<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
243<tr class="memitem:"><td 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_division_kernel.xhtml">CLArithmeticDivisionKernel</a></td></tr>
244<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the arithmetic division kernel. <a href="classarm__compute_1_1_c_l_arithmetic_division_kernel.xhtml#details">More...</a><br /></td></tr>
245<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000246<tr class="memitem:"><td 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>
247<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000248<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100249<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000250<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>
251<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
252<tr class="memitem:"><td 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>
253<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>
254<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
255<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_batch_normalization_layer.xhtml">CLBatchNormalizationLayer</a></td></tr>
256<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_c_l_batch_normalization_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000257<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100258<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_batch_normalization_layer_kernel.xhtml">CLBatchNormalizationLayerKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000259<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the BatchNormalization layer kernel. <a href="classarm__compute_1_1_c_l_batch_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
260<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
261<tr class="memitem:"><td 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>
262<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000263<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100264<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000265<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>
266<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
267<tr class="memitem:"><td 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>
268<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000269<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100270<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000271<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>
272<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
273<tr class="memitem:"><td 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>
274<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000275<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100276<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000277<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>
278<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
279<tr class="memitem:"><td 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>
280<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000281<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100282<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000283<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>
284<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
285<tr class="memitem:"><td 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>
286<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000287<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100288<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000289<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the box 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000290<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000291<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_buffer_allocator.xhtml">CLBufferAllocator</a></td></tr>
292<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default OpenCL cl buffer allocator implementation. <a href="classarm__compute_1_1_c_l_buffer_allocator.xhtml#details">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100293<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100294<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_buffer_memory_region.xhtml">CLBufferMemoryRegion</a></td></tr>
295<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL buffer memory region implementation. <a href="classarm__compute_1_1_c_l_buffer_memory_region.xhtml#details">More...</a><br /></td></tr>
296<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000297<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_build_options.xhtml">CLBuildOptions</a></td></tr>
298<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build options. <a href="classarm__compute_1_1_c_l_build_options.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000299<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000300<tr class="memitem:"><td 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>
301<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>
302<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
303<tr class="memitem:"><td 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>
304<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000305<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100306<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000307<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>
308<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
309<tr class="memitem:"><td 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>
310<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000311<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100312<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000313<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>
Kaizen8938bd32017-09-28 14:38:23 +0100314<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100315<tr class="memitem:"><td 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_shuffle_layer.xhtml">CLChannelShuffleLayer</a></td></tr>
316<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_shuffle_layer_kernel.xhtml">CLChannelShuffleLayerKernel</a>. <a href="classarm__compute_1_1_c_l_channel_shuffle_layer.xhtml#details">More...</a><br /></td></tr>
317<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
318<tr class="memitem:"><td 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_shuffle_layer_kernel.xhtml">CLChannelShuffleLayerKernel</a></td></tr>
319<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the channel shuffle kernel. <a href="classarm__compute_1_1_c_l_channel_shuffle_layer_kernel.xhtml#details">More...</a><br /></td></tr>
320<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
321<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_coarse_s_v_m_memory_region.xhtml">CLCoarseSVMMemoryRegion</a></td></tr>
322<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL coarse-grain SVM memory region implementation. <a href="classarm__compute_1_1_c_l_coarse_s_v_m_memory_region.xhtml#details">More...</a><br /></td></tr>
323<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100324<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000325<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>
Kaizen8938bd32017-09-28 14:38:23 +0100326<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000327<tr class="memitem:"><td 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>
328<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>
Kaizen8938bd32017-09-28 14:38:23 +0100329<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000330<tr class="memitem:"><td 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>
331<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>
332<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
333<tr class="memitem:"><td 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>
334<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>
335<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000336<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_concatenate_layer.xhtml">CLConcatenateLayer</a></td></tr>
337<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along a given axis. <a href="classarm__compute_1_1_c_l_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
338<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100339<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convert_fully_connected_weights.xhtml">CLConvertFullyConnectedWeights</a></td></tr>
340<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_convert_fully_connected_weights_kernel.xhtml">CLConvertFullyConnectedWeightsKernel</a>. <a href="classarm__compute_1_1_c_l_convert_fully_connected_weights.xhtml#details">More...</a><br /></td></tr>
341<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
342<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convert_fully_connected_weights_kernel.xhtml">CLConvertFullyConnectedWeightsKernel</a></td></tr>
343<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to convert the 2D Fully Connected weights from NCHW to NHWC or vice versa. <a href="classarm__compute_1_1_c_l_convert_fully_connected_weights_kernel.xhtml#details">More...</a><br /></td></tr>
344<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000345<tr class="memitem:"><td 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>
346<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>
347<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
348<tr class="memitem:"><td 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>
349<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>
350<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
351<tr class="memitem:"><td 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>
352<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>
353<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
354<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml">CLConvolutionLayerReshapeWeights</a></td></tr>
355<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reshape and transpose the weights. <a href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
356<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
357<tr class="memitem:"><td 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>
358<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>
359<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
360<tr class="memitem:"><td 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>
361<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>
362<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
363<tr class="memitem:"><td 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>
364<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>
365<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100366<tr class="memitem:"><td 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.xhtml">CLCopy</a></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_copy_kernel.xhtml">CLCopyKernel</a></td></tr>
369<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a copy between two tensors. <a href="classarm__compute_1_1_c_l_copy_kernel.xhtml#details">More...</a><br /></td></tr>
370<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000371<tr class="memitem:"><td 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>
372<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>
373<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +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_deconvolution_layer.xhtml">CLDeconvolutionLayer</a></td></tr>
375<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to run the deconvolution layer. <a href="classarm__compute_1_1_c_l_deconvolution_layer.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_deconvolution_layer_upsample.xhtml">CLDeconvolutionLayerUpsample</a></td></tr>
378<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_deconvolution_layer_upsample_kernel.xhtml">CLDeconvolutionLayerUpsampleKernel</a>. <a href="classarm__compute_1_1_c_l_deconvolution_layer_upsample.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_deconvolution_layer_upsample_kernel.xhtml">CLDeconvolutionLayerUpsampleKernel</a></td></tr>
381<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the Deconvolution layer kernel on OpenCL. <a href="classarm__compute_1_1_c_l_deconvolution_layer_upsample_kernel.xhtml#details">More...</a><br /></td></tr>
382<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000383<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_concatenate_layer.xhtml">CLDepthConcatenateLayer</a></td></tr>
384<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_c_l_depth_concatenate_layer.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_depth_concatenate_layer_kernel.xhtml">CLDepthConcatenateLayerKernel</a></td></tr>
387<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_c_l_depth_concatenate_layer_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_depth_convert_layer.xhtml">CLDepthConvertLayer</a></td></tr>
390<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_layer_kernel.xhtml">CLDepthConvertLayerKernel</a>. <a href="classarm__compute_1_1_c_l_depth_convert_layer.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_depth_convert_layer_kernel.xhtml">CLDepthConvertLayerKernel</a></td></tr>
393<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_layer_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_depthwise_convolution_layer.xhtml">CLDepthwiseConvolutionLayer</a></td></tr>
396<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute a generic depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer.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_depthwise_convolution_layer3x3.xhtml">CLDepthwiseConvolutionLayer3x3</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100399<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute a depthwise convolution for kernel size 3x3xC (when data layout NCHW) or Cx3x3 (when data layout NHWC). <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000400<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100401<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3_n_c_h_w_kernel.xhtml">CLDepthwiseConvolutionLayer3x3NCHWKernel</a></td></tr>
402<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor when the data layout is NCHW. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3_n_c_h_w_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_depthwise_convolution_layer3x3_n_h_w_c_kernel.xhtml">CLDepthwiseConvolutionLayer3x3NHWCKernel</a></td></tr>
405<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor when the data layout is NHWC. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3_n_h_w_c_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000406<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_depthwise_im2_col_kernel.xhtml">CLDepthwiseIm2ColKernel</a></td></tr>
408<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depthwise im2col reshape kernel. <a href="classarm__compute_1_1_c_l_depthwise_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
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_depthwise_separable_convolution_layer.xhtml">CLDepthwiseSeparableConvolutionLayer</a></td></tr>
411<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml#details">More...</a><br /></td></tr>
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_depthwise_vector_to_tensor_kernel.xhtml">CLDepthwiseVectorToTensorKernel</a></td></tr>
414<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depthwise vector to tensor kernel. <a href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml#details">More...</a><br /></td></tr>
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_depthwise_weights_reshape_kernel.xhtml">CLDepthwiseWeightsReshapeKernel</a></td></tr>
417<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depthwise weights reshape kernel. <a href="classarm__compute_1_1_c_l_depthwise_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
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_dequantization_layer.xhtml">CLDequantizationLayer</a></td></tr>
420<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a dequantization layer. <a href="classarm__compute_1_1_c_l_dequantization_layer.xhtml#details">More...</a><br /></td></tr>
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_dequantization_layer_kernel.xhtml">CLDequantizationLayerKernel</a></td></tr>
423<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the dequantization layer kernel. <a href="classarm__compute_1_1_c_l_dequantization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
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_derivative.xhtml">CLDerivative</a></td></tr>
426<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>
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_derivative_kernel.xhtml">CLDerivativeKernel</a></td></tr>
429<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>
430<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100431<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_device_options.xhtml">CLDeviceOptions</a></td></tr>
432<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL device options. <a href="structarm__compute_1_1_c_l_device_options.xhtml#details">More...</a><br /></td></tr>
433<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000434<tr class="memitem:"><td 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>
435<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>
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_dilate_kernel.xhtml">CLDilateKernel</a></td></tr>
438<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>
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_direct_convolution_layer.xhtml">CLDirectConvolutionLayer</a></td></tr>
441<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute direct convolution function: <a href="classarm__compute_1_1_c_l_direct_convolution_layer.xhtml#details">More...</a><br /></td></tr>
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_direct_convolution_layer_kernel.xhtml">CLDirectConvolutionLayerKernel</a></td></tr>
444<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the direct convolution kernel. <a href="classarm__compute_1_1_c_l_direct_convolution_layer_kernel.xhtml#details">More...</a><br /></td></tr>
445<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +0000446<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer_output_stage_kernel.xhtml">CLDirectConvolutionLayerOutputStageKernel</a></td></tr>
447<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to accumulate the biases, if provided, or downscale in case of quantized input. <a href="classarm__compute_1_1_c_l_direct_convolution_layer_output_stage_kernel.xhtml#details">More...</a><br /></td></tr>
448<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000449<tr class="memitem:"><td 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>
450<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>
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_edge_non_max_suppression_kernel.xhtml">CLEdgeNonMaxSuppressionKernel</a></td></tr>
453<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>
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_edge_trace_kernel.xhtml">CLEdgeTraceKernel</a></td></tr>
456<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>
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_equalize_histogram.xhtml">CLEqualizeHistogram</a></td></tr>
459<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>
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_erode.xhtml">CLErode</a></td></tr>
462<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>
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_erode_kernel.xhtml">CLErodeKernel</a></td></tr>
465<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>
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_fast_corners.xhtml">CLFastCorners</a></td></tr>
468<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>
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_fast_corners_kernel.xhtml">CLFastCornersKernel</a></td></tr>
471<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>
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_fill_border.xhtml">CLFillBorder</a></td></tr>
474<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>
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_fill_border_kernel.xhtml">CLFillBorderKernel</a></td></tr>
477<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>
478<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100479<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fine_s_v_m_memory_region.xhtml">CLFineSVMMemoryRegion</a></td></tr>
480<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL fine-grain SVM memory region implementation. <a href="classarm__compute_1_1_c_l_fine_s_v_m_memory_region.xhtml#details">More...</a><br /></td></tr>
481<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000482<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_flatten_layer.xhtml">CLFlattenLayer</a></td></tr>
483<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute flatten. <a href="classarm__compute_1_1_c_l_flatten_layer.xhtml#details">More...</a><br /></td></tr>
484<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000485<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_flatten_layer_kernel.xhtml">CLFlattenLayerKernel</a></td></tr>
486<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL interface for the flatten kernel. <a href="classarm__compute_1_1_c_l_flatten_layer_kernel.xhtml#details">More...</a><br /></td></tr>
487<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000488<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor.xhtml">CLFloor</a></td></tr>
489<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a>. <a href="classarm__compute_1_1_c_l_floor.xhtml#details">More...</a><br /></td></tr>
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_floor_kernel.xhtml">CLFloorKernel</a></td></tr>
492<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform a floor operation. <a href="classarm__compute_1_1_c_l_floor_kernel.xhtml#details">More...</a><br /></td></tr>
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_fully_connected_layer.xhtml">CLFullyConnectedLayer</a></td></tr>
495<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>
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_fully_connected_layer_reshape_weights.xhtml">CLFullyConnectedLayerReshapeWeights</a></td></tr>
498<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with OpenCL. <a href="classarm__compute_1_1_c_l_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
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_gaussian3x3.xhtml">CLGaussian3x3</a></td></tr>
501<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>
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_gaussian3x3_kernel.xhtml">CLGaussian3x3Kernel</a></td></tr>
504<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>
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_gaussian5x5.xhtml">CLGaussian5x5</a></td></tr>
507<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>
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_gaussian5x5_hor_kernel.xhtml">CLGaussian5x5HorKernel</a></td></tr>
510<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>
511<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
512<tr class="memitem:"><td 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>
513<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>
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_gaussian_pyramid.xhtml">CLGaussianPyramid</a></td></tr>
516<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>
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_gaussian_pyramid_half.xhtml">CLGaussianPyramidHalf</a></td></tr>
519<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>
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_gaussian_pyramid_hor_kernel.xhtml">CLGaussianPyramidHorKernel</a></td></tr>
522<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>
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_gaussian_pyramid_orb.xhtml">CLGaussianPyramidOrb</a></td></tr>
525<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>
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_gaussian_pyramid_vert_kernel.xhtml">CLGaussianPyramidVertKernel</a></td></tr>
528<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>
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_g_e_m_m.xhtml">CLGEMM</a></td></tr>
531<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>
532<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +0000533<tr class="memitem:"><td 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_convolution_layer.xhtml">CLGEMMConvolutionLayer</a></td></tr>
534<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_g_e_m_m_convolution_layer.xhtml#details">More...</a><br /></td></tr>
535<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000536<tr class="memitem:"><td 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>
537<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>
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_g_e_m_m_interleave4x4_kernel.xhtml">CLGEMMInterleave4x4Kernel</a></td></tr>
540<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>
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_g_e_m_m_lowp_matrix_a_reduction_kernel.xhtml">CLGEMMLowpMatrixAReductionKernel</a></td></tr>
543<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel used to compute the row-vectors of sums of all the entries in each row of Matrix A. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_a_reduction_kernel.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_g_e_m_m_lowp_matrix_b_reduction_kernel.xhtml">CLGEMMLowpMatrixBReductionKernel</a></td></tr>
546<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel used to compute the row-vectors of sums of all the entries in each column of Matrix B. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_b_reduction_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_g_e_m_m_lowp_matrix_multiply_core.xhtml">CLGEMMLowpMatrixMultiplyCore</a></td></tr>
549<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMMLowpMatrixMultiplyCore on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_core.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_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">CLGEMMLowpMatrixMultiplyKernel</a></td></tr>
552<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to multiply matrices. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_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_g_e_m_m_lowp_offset_contribution_kernel.xhtml">CLGEMMLowpOffsetContributionKernel</a></td></tr>
555<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel used to add the offset contribution after <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">CLGEMMLowpMatrixMultiplyKernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_offset_contribution_kernel.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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8Scale</a></td></tr>
558<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_lowp_quantize_down_int32_to_uint8_scale.xhtml" title="Basic function to execute CLGEMMLowpQuantizeDownInt32ToUint8Scale on OpenCL. ">CLGEMMLowpQuantizeDownInt32ToUint8Scale</a> on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a></td></tr>
561<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_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml" title="Basic function to execute CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint on OpenCL. ">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a> on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel</a></td></tr>
564<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.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_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel</a></td></tr>
567<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_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_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">CLGEMMMatrixAccumulateBiasesKernel</a></td></tr>
570<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>
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_g_e_m_m_matrix_addition_kernel.xhtml">CLGEMMMatrixAdditionKernel</a></td></tr>
573<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>
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_g_e_m_m_matrix_multiply_kernel.xhtml">CLGEMMMatrixMultiplyKernel</a></td></tr>
576<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to multiply two input matrices "A" and "B" . <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
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_g_e_m_m_matrix_vector_multiply_kernel.xhtml">CLGEMMMatrixVectorMultiplyKernel</a></td></tr>
579<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the GEMM matrix vector multiply kernel. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_vector_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
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_g_e_m_m_transpose1x_w.xhtml">CLGEMMTranspose1xW</a></td></tr>
582<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml" title="OpenCL kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / e...">CLGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br /></td></tr>
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_g_e_m_m_transpose1x_w_kernel.xhtml">CLGEMMTranspose1xWKernel</a></td></tr>
585<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br /></td></tr>
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_gradient_kernel.xhtml">CLGradientKernel</a></td></tr>
588<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>
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_harris_corners.xhtml">CLHarrisCorners</a></td></tr>
591<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>
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_harris_score_kernel.xhtml">CLHarrisScoreKernel</a></td></tr>
594<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>
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_histogram.xhtml">CLHistogram</a></td></tr>
597<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>
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_histogram_border_kernel.xhtml">CLHistogramBorderKernel</a></td></tr>
600<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>
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_histogram_kernel.xhtml">CLHistogramKernel</a></td></tr>
603<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>
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_h_o_g.xhtml">CLHOG</a></td></tr>
606<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL implementation of <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_c_l_h_o_g.xhtml#details">More...</a><br /></td></tr>
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_h_o_g_block_normalization_kernel.xhtml">CLHOGBlockNormalizationKernel</a></td></tr>
609<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> block normalization. <a href="classarm__compute_1_1_c_l_h_o_g_block_normalization_kernel.xhtml#details">More...</a><br /></td></tr>
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_h_o_g_descriptor.xhtml">CLHOGDescriptor</a></td></tr>
612<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to calculate <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> descriptor. <a href="classarm__compute_1_1_c_l_h_o_g_descriptor.xhtml#details">More...</a><br /></td></tr>
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_h_o_g_detector.xhtml">CLHOGDetector</a></td></tr>
615<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector based on linear SVM. <a href="classarm__compute_1_1_c_l_h_o_g_detector.xhtml#details">More...</a><br /></td></tr>
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_h_o_g_detector_kernel.xhtml">CLHOGDetectorKernel</a></td></tr>
618<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector kernel using linear SVM. <a href="classarm__compute_1_1_c_l_h_o_g_detector_kernel.xhtml#details">More...</a><br /></td></tr>
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_h_o_g_gradient.xhtml">CLHOGGradient</a></td></tr>
621<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to calculate the gradient for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_c_l_h_o_g_gradient.xhtml#details">More...</a><br /></td></tr>
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_h_o_g_multi_detection.xhtml">CLHOGMultiDetection</a></td></tr>
624<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to detect multiple objects (or the same object at different scales) on the same input image using <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_c_l_h_o_g_multi_detection.xhtml#details">More...</a><br /></td></tr>
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_c_l_h_o_g_orientation_binning_kernel.xhtml">CLHOGOrientationBinningKernel</a></td></tr>
627<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> Orientation Binning. <a href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml#details">More...</a><br /></td></tr>
628<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
629<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml">CLIm2ColKernel</a></td></tr>
630<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>
631<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
632<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image.xhtml">CLIntegralImage</a></td></tr>
633<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>
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_l_integral_image_hor_kernel.xhtml">CLIntegralImageHorKernel</a></td></tr>
636<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>
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_l_integral_image_vert_kernel.xhtml">CLIntegralImageVertKernel</a></td></tr>
639<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>
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_l_kernel_library.xhtml">CLKernelLibrary</a></td></tr>
642<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>
643<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
644<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l2_normalize_layer.xhtml">CLL2NormalizeLayer</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100645<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to perform a L2 normalization on a given axis. <a href="classarm__compute_1_1_c_l_l2_normalize_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000646<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_c_l_l2_normalize_layer_kernel.xhtml">CLL2NormalizeLayerKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100648<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for performing a L2 normalize on a given axis given the square sum of it in this axis. <a href="classarm__compute_1_1_c_l_l2_normalize_layer_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000649<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_c_l_laplacian_pyramid.xhtml">CLLaplacianPyramid</a></td></tr>
651<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>
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_c_l_laplacian_reconstruct.xhtml">CLLaplacianReconstruct</a></td></tr>
654<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>
655<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
656<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>
657<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>
Kaizen8938bd32017-09-28 14:38:23 +0100658<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_c_l_l_k_tracker_finalize_kernel.xhtml">CLLKTrackerFinalizeKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000660<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>
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_c_l_l_k_tracker_init_kernel.xhtml">CLLKTrackerInitKernel</a></td></tr>
663<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>
Kaizen8938bd32017-09-28 14:38:23 +0100664<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_c_l_l_k_tracker_stage0_kernel.xhtml">CLLKTrackerStage0Kernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000666<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>
Kaizen8938bd32017-09-28 14:38:23 +0100667<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_c_l_l_k_tracker_stage1_kernel.xhtml">CLLKTrackerStage1Kernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000669<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>
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_c_l_locally_connected_layer.xhtml">CLLocallyConnectedLayer</a></td></tr>
672<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute the locally connected layer. <a href="classarm__compute_1_1_c_l_locally_connected_layer.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100673<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_c_l_locally_connected_matrix_multiply_kernel.xhtml">CLLocallyConnectedMatrixMultiplyKernel</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000675<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to multiply each row of first tensor with low 2 dimensions of second tensor. <a href="classarm__compute_1_1_c_l_locally_connected_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000676<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100677<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000678<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000679<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000680<tr class="memitem:"><td 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_shift_exp_sum_kernel.xhtml">CLLogits1DMaxShiftExpSumKernel</a></td></tr>
681<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for max, shifting, exponentiating and summing the logits. <a href="classarm__compute_1_1_c_l_logits1_d_max_shift_exp_sum_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100682<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100683<tr class="memitem:"><td 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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000684<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000685<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000686<tr class="memitem:"><td 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>
687<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for shifting, exponentiating and summing the logits. <a href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000688<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100689<tr class="memitem:"><td 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_s_t_m_layer.xhtml">CLLSTMLayer</a></td></tr>
690<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs a single time step in a Long Short-Term <a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> (LSTM) layer. <a href="classarm__compute_1_1_c_l_l_s_t_m_layer.xhtml#details">More...</a><br /></td></tr>
691<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000692<tr class="memitem:"><td 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>
693<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000694<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000695<tr class="memitem:"><td 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>
696<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000697<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000698<tr class="memitem:"><td 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>
699<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000700<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000701<tr class="memitem:"><td 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>
702<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000703<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000704<tr class="memitem:"><td 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>
705<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>
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_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a></td></tr>
708<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>
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_c_l_median3x3.xhtml">CLMedian3x3</a></td></tr>
711<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>
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_c_l_median3x3_kernel.xhtml">CLMedian3x3Kernel</a></td></tr>
714<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>
715<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100716<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_memory.xhtml">CLMemory</a></td></tr>
717<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL implementation of memory object. <a href="classarm__compute_1_1_c_l_memory.xhtml#details">More...</a><br /></td></tr>
718<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000719<tr class="memitem:"><td 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>
720<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>
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_c_l_min_max_layer_kernel.xhtml">CLMinMaxLayerKernel</a></td></tr>
723<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform min max search on a 3D tensor. <a href="classarm__compute_1_1_c_l_min_max_layer_kernel.xhtml#details">More...</a><br /></td></tr>
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_c_l_min_max_location.xhtml">CLMinMaxLocation</a></td></tr>
726<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>
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_c_l_min_max_location_kernel.xhtml">CLMinMaxLocationKernel</a></td></tr>
729<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>
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_c_l_multi_h_o_g.xhtml">CLMultiHOG</a></td></tr>
732<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the CL multi <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_c_l_multi_h_o_g.xhtml#details">More...</a><br /></td></tr>
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_c_l_multi_image.xhtml">CLMultiImage</a></td></tr>
735<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>
736<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
737<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter.xhtml">CLNonLinearFilter</a></td></tr>
738<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>
739<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
740<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml">CLNonLinearFilterKernel</a></td></tr>
741<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>
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_c_l_non_maxima_suppression3x3.xhtml">CLNonMaximaSuppression3x3</a></td></tr>
744<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>
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_c_l_non_maxima_suppression3x3_kernel.xhtml">CLNonMaximaSuppression3x3Kernel</a></td></tr>
747<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>
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_c_l_normalization_layer.xhtml">CLNormalizationLayer</a></td></tr>
750<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a normalization layer. <a href="classarm__compute_1_1_c_l_normalization_layer.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_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a></td></tr>
753<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>
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_c_l_old_value.xhtml">CLOldValue</a></td></tr>
756<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>
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_c_l_optical_flow.xhtml">CLOpticalFlow</a></td></tr>
759<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>
760<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +0000761<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_permute.xhtml">CLPermute</a></td></tr>
762<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_permute_kernel.xhtml">CLPermuteKernel</a>. <a href="classarm__compute_1_1_c_l_permute.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_c_l_permute_kernel.xhtml">CLPermuteKernel</a></td></tr>
765<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform tensor permutation. <a href="classarm__compute_1_1_c_l_permute_kernel.xhtml#details">More...</a><br /></td></tr>
766<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000767<tr class="memitem:"><td 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>
768<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>
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_c_l_pixel_wise_multiplication.xhtml">CLPixelWiseMultiplication</a></td></tr>
771<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>
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_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a></td></tr>
774<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>
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_c_l_pooling_layer.xhtml">CLPoolingLayer</a></td></tr>
777<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>
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_c_l_pooling_layer_kernel.xhtml">CLPoolingLayerKernel</a></td></tr>
780<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>
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_c_l_pyramid.xhtml">CLPyramid</a></td></tr>
783<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>
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_c_l_quantization_layer.xhtml">CLQuantizationLayer</a></td></tr>
786<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a quantization layer. <a href="classarm__compute_1_1_c_l_quantization_layer.xhtml#details">More...</a><br /></td></tr>
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_c_l_quantization_layer_kernel.xhtml">CLQuantizationLayerKernel</a></td></tr>
789<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the quantization layer kernel. <a href="classarm__compute_1_1_c_l_quantization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
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_c_l_reduction_operation.xhtml">CLReductionOperation</a></td></tr>
792<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform reduction operation. <a href="classarm__compute_1_1_c_l_reduction_operation.xhtml#details">More...</a><br /></td></tr>
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_c_l_reduction_operation_kernel.xhtml">CLReductionOperationKernel</a></td></tr>
795<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the reduction operation kernel. <a href="classarm__compute_1_1_c_l_reduction_operation_kernel.xhtml#details">More...</a><br /></td></tr>
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_c_l_remap.xhtml">CLRemap</a></td></tr>
798<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>
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_c_l_remap_kernel.xhtml">CLRemapKernel</a></td></tr>
801<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>
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_c_l_reshape_layer.xhtml">CLReshapeLayer</a></td></tr>
804<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a>. <a href="classarm__compute_1_1_c_l_reshape_layer.xhtml#details">More...</a><br /></td></tr>
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_c_l_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a></td></tr>
807<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform tensor reshaping. <a href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml#details">More...</a><br /></td></tr>
808<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100809<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_r_n_n_layer.xhtml">CLRNNLayer</a></td></tr>
810<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_r_n_n_layer.xhtml">CLRNNLayer</a>. <a href="classarm__compute_1_1_c_l_r_n_n_layer.xhtml#details">More...</a><br /></td></tr>
811<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000812<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer.xhtml">CLROIPoolingLayer</a></td></tr>
813<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a>. <a href="classarm__compute_1_1_c_l_r_o_i_pooling_layer.xhtml#details">More...</a><br /></td></tr>
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_c_l_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a></td></tr>
816<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the <a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> pooling layer kernel. <a href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
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_c_l_scale.xhtml">CLScale</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_c_l_scale_kernel.xhtml">CLScaleKernel</a>. <a href="classarm__compute_1_1_c_l_scale.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_c_l_scale_kernel.xhtml">CLScaleKernel</a></td></tr>
822<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the scale kernel. <a href="classarm__compute_1_1_c_l_scale_kernel.xhtml#details">More...</a><br /></td></tr>
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_c_l_scharr3x3.xhtml">CLScharr3x3</a></td></tr>
825<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>
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_c_l_scharr3x3_kernel.xhtml">CLScharr3x3Kernel</a></td></tr>
828<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>
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_c_l_scheduler.xhtml">CLScheduler</a></td></tr>
831<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>
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_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a></td></tr>
834<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>
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_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a></td></tr>
837<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>
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_c_l_sobel3x3.xhtml">CLSobel3x3</a></td></tr>
840<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>
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_c_l_sobel3x3_kernel.xhtml">CLSobel3x3Kernel</a></td></tr>
843<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>
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_c_l_sobel5x5.xhtml">CLSobel5x5</a></td></tr>
846<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>
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_c_l_sobel5x5_hor_kernel.xhtml">CLSobel5x5HorKernel</a></td></tr>
849<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>
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_c_l_sobel5x5_vert_kernel.xhtml">CLSobel5x5VertKernel</a></td></tr>
852<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>
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_c_l_sobel7x7.xhtml">CLSobel7x7</a></td></tr>
855<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>
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_c_l_sobel7x7_hor_kernel.xhtml">CLSobel7x7HorKernel</a></td></tr>
858<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>
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_c_l_sobel7x7_vert_kernel.xhtml">CLSobel7x7VertKernel</a></td></tr>
861<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>
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_c_l_softmax_layer.xhtml">CLSoftmaxLayer</a></td></tr>
864<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>
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_c_l_sub_tensor.xhtml">CLSubTensor</a></td></tr>
867<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL sub-tensor interface. <a href="classarm__compute_1_1_c_l_sub_tensor.xhtml#details">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100868<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100869<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_symbols.xhtml">CLSymbols</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100870<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for loading OpenCL symbols. <a href="classarm__compute_1_1_c_l_symbols.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100871<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000872<tr class="memitem:"><td 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>
873<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>
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_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a></td></tr>
876<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>
877<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
878<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
879<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>
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_c_l_tensor_allocator.xhtml">CLTensorAllocator</a></td></tr>
882<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>
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_c_l_threshold.xhtml">CLThreshold</a></td></tr>
885<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>
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_c_l_threshold_kernel.xhtml">CLThresholdKernel</a></td></tr>
888<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>
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_c_l_transpose.xhtml">CLTranspose</a></td></tr>
891<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>
892<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
893<tr class="memitem:"><td 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>
894<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>
895<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
896<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tuner.xhtml">CLTuner</a></td></tr>
897<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the OpenCL tuner interface. <a href="classarm__compute_1_1_c_l_tuner.xhtml#details">More...</a><br /></td></tr>
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_c_l_warp_affine.xhtml">CLWarpAffine</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_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>
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_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a></td></tr>
903<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>
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_c_l_warp_perspective.xhtml">CLWarpPerspective</a></td></tr>
906<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>
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_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a></td></tr>
909<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>
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_c_l_weights_reshape_kernel.xhtml">CLWeightsReshapeKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100912<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform reshaping on the weights used by convolution and locally connected layer. <a href="classarm__compute_1_1_c_l_weights_reshape_kernel.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_c_l_width_concatenate_layer.xhtml">CLWidthConcatenateLayer</a></td></tr>
915<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along x axis. <a href="classarm__compute_1_1_c_l_width_concatenate_layer.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_c_l_width_concatenate_layer_kernel.xhtml">CLWidthConcatenateLayerKernel</a></td></tr>
918<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the width concatenate kernel. <a href="classarm__compute_1_1_c_l_width_concatenate_layer_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_c_l_winograd_convolution_layer.xhtml">CLWinogradConvolutionLayer</a></td></tr>
921<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute Winograd-based convolution on OpenCL. <a href="classarm__compute_1_1_c_l_winograd_convolution_layer.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_c_l_winograd_filter_transform_kernel.xhtml">CLWinogradFilterTransformKernel</a></td></tr>
924<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the Winograd filter transform kernel. <a href="classarm__compute_1_1_c_l_winograd_filter_transform_kernel.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_c_l_winograd_input_transform.xhtml">CLWinogradInputTransform</a></td></tr>
927<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute a <a class="el" href="classarm__compute_1_1_c_l_winograd_input_transform_kernel.xhtml">CLWinogradInputTransformKernel</a>. <a href="classarm__compute_1_1_c_l_winograd_input_transform.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_c_l_winograd_input_transform_kernel.xhtml">CLWinogradInputTransformKernel</a></td></tr>
930<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL kernel to perform Winograd input transform. <a href="classarm__compute_1_1_c_l_winograd_input_transform_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_c_l_winograd_output_transform_kernel.xhtml">CLWinogradOutputTransformKernel</a></td></tr>
933<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the Winograd output transform kernel. <a href="classarm__compute_1_1_c_l_winograd_output_transform_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000934<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000935<tr class="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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000936<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>
937<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
938<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>
939<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>
940<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
941<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>
942<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>
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_c_p_p_corner_candidates_kernel.xhtml">CPPCornerCandidatesKernel</a></td></tr>
945<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>
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_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml">CPPDetectionWindowNonMaximaSuppressionKernel</a></td></tr>
948<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform in-place computation of euclidean distance on IDetectionWindowArray. <a href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml#details">More...</a><br /></td></tr>
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_c_p_p_permute.xhtml">CPPPermute</a></td></tr>
951<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_p_p_permute_kernel.xhtml">CPPPermuteKernel</a>. <a href="classarm__compute_1_1_c_p_p_permute.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_c_p_p_permute_kernel.xhtml">CPPPermuteKernel</a></td></tr>
954<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform tensor permutation. <a href="classarm__compute_1_1_c_p_p_permute_kernel.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_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
957<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">C++11 implementation of a pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_c_p_p_scheduler.xhtml#details">More...</a><br /></td></tr>
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_c_p_p_sort_euclidean_distance_kernel.xhtml">CPPSortEuclideanDistanceKernel</a></td></tr>
960<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform sorting and euclidean distance. <a href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000961<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100962<tr class="memitem:"><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_upsample.xhtml">CPPUpsample</a></td></tr>
963<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_p_p_upsample.xhtml">CPPUpsample</a>. <a href="classarm__compute_1_1_c_p_p_upsample.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_c_p_p_upsample_kernel.xhtml">CPPUpsampleKernel</a></td></tr>
966<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPP kernel to perform tensor upsample. <a href="classarm__compute_1_1_c_p_p_upsample_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_c_p_u_info.xhtml">CPUInfo</a></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000969<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000970<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>
971<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000972<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
973<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000974<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>
975<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
976<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
977<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>
Anthony Barbier871448e2017-03-24 14:54:29 +0000978<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100979<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100980<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable bitwise operations by default. <a href="structarm__compute_1_1enable__bitwise__ops.xhtml#details">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +0100981<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000982<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml">enable_bitwise_ops&lt; arm_compute::GPUTarget &gt;</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +0100983<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable bitwise operations on GPUTarget enumerations. <a href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000984<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000985<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_fully_connected_layer_info.xhtml">FullyConnectedLayerInfo</a></td></tr>
986<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fully connected layer info. <a href="structarm__compute_1_1_fully_connected_layer_info.xhtml#details">More...</a><br /></td></tr>
987<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000988<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_absolute_difference.xhtml">GCAbsoluteDifference</a></td></tr>
989<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_absolute_difference_kernel.xhtml">GCAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_g_c_absolute_difference.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +0000990<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000991<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_absolute_difference_kernel.xhtml">GCAbsoluteDifferenceKernel</a></td></tr>
992<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_g_c_absolute_difference_kernel.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100993<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000994<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_activation_layer.xhtml">GCActivationLayer</a></td></tr>
995<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_activation_layer_kernel.xhtml">GCActivationLayerKernel</a>. <a href="classarm__compute_1_1_g_c_activation_layer.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100996<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000997<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_activation_layer_kernel.xhtml">GCActivationLayerKernel</a></td></tr>
998<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_g_c_activation_layer_kernel.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +0100999<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001000<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_arithmetic_addition.xhtml">GCArithmeticAddition</a></td></tr>
1001<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_arithmetic_addition_kernel.xhtml">GCArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_g_c_arithmetic_addition.xhtml#details">More...</a><br /></td></tr>
1002<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1003<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_arithmetic_addition_kernel.xhtml">GCArithmeticAdditionKernel</a></td></tr>
1004<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the arithmetic addition kernel. <a href="classarm__compute_1_1_g_c_arithmetic_addition_kernel.xhtml#details">More...</a><br /></td></tr>
1005<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001006<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_batch_normalization_layer.xhtml">GCBatchNormalizationLayer</a></td></tr>
1007<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_batch_normalization_layer_kernel.xhtml">GCBatchNormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_g_c_batch_normalization_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001008<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001009<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_batch_normalization_layer_kernel.xhtml">GCBatchNormalizationLayerKernel</a></td></tr>
1010<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the BatchNormalization layer kernel. <a href="classarm__compute_1_1_g_c_batch_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001011<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001012<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_buffer_allocator.xhtml">GCBufferAllocator</a></td></tr>
1013<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default GLES buffer allocator implementation. <a href="classarm__compute_1_1_g_c_buffer_allocator.xhtml#details">More...</a><br /></td></tr>
1014<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001015<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_col2_im_kernel.xhtml">GCCol2ImKernel</a></td></tr>
1016<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the col2im reshaping kernel. <a href="classarm__compute_1_1_g_c_col2_im_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001017<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001018<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_convolution_layer.xhtml">GCConvolutionLayer</a></td></tr>
1019<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute the convolution layer. <a href="classarm__compute_1_1_g_c_convolution_layer.xhtml#details">More...</a><br /></td></tr>
1020<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1021<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_convolution_layer_reshape_weights.xhtml">GCConvolutionLayerReshapeWeights</a></td></tr>
1022<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reshape and transpose the weights. <a href="classarm__compute_1_1_g_c_convolution_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
1023<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001024<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depth_concatenate_layer.xhtml">GCDepthConcatenateLayer</a></td></tr>
1025<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_g_c_depth_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001026<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001027<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depth_concatenate_layer_kernel.xhtml">GCDepthConcatenateLayerKernel</a></td></tr>
1028<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_g_c_depth_concatenate_layer_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001029<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001030<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depthwise_convolution_layer3x3.xhtml">GCDepthwiseConvolutionLayer3x3</a></td></tr>
1031<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute a depthwise convolution for kernel size 3x3xC. <a href="classarm__compute_1_1_g_c_depthwise_convolution_layer3x3.xhtml#details">More...</a><br /></td></tr>
1032<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1033<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depthwise_convolution_layer3x3_kernel.xhtml">GCDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
1034<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor. <a href="classarm__compute_1_1_g_c_depthwise_convolution_layer3x3_kernel.xhtml#details">More...</a><br /></td></tr>
1035<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001036<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer.xhtml">GCDirectConvolutionLayer</a></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001037<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute direct convolution function. <a href="classarm__compute_1_1_g_c_direct_convolution_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001038<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001039<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a></td></tr>
1040<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the direct convolution kernel. <a href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001041<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001042<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_dropout_layer.xhtml">GCDropoutLayer</a></td></tr>
1043<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to do dropout op. <a href="classarm__compute_1_1_g_c_dropout_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001044<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001045<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_dropout_layer_kernel.xhtml">GCDropoutLayerKernel</a></td></tr>
1046<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the dropout layer kernel. <a href="classarm__compute_1_1_g_c_dropout_layer_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01001047<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001048<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fill_border.xhtml">GCFillBorder</a></td></tr>
1049<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_fill_border_kernel.xhtml">GCFillBorderKernel</a>. <a href="classarm__compute_1_1_g_c_fill_border.xhtml#details">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001050<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001051<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fill_border_kernel.xhtml">GCFillBorderKernel</a></td></tr>
1052<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_g_c_fill_border_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001053<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001054<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fully_connected_layer.xhtml">GCFullyConnectedLayer</a></td></tr>
1055<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a Fully Connected layer on OpenGL ES. <a href="classarm__compute_1_1_g_c_fully_connected_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001056<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001057<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fully_connected_layer_reshape_weights.xhtml">GCFullyConnectedLayerReshapeWeights</a></td></tr>
1058<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with OpenGL ES. <a href="classarm__compute_1_1_g_c_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01001059<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001060<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m.xhtml">GCGEMM</a></td></tr>
1061<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMM on OpenGLES Compute. <a href="classarm__compute_1_1_g_c_g_e_m_m.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001062<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001063<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4.xhtml">GCGEMMInterleave4x4</a></td></tr>
1064<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4_kernel.xhtml" title="OpenGL ES kernel which interleaves the elements of a matrix A in chunk of 4x4. ">GCGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001065<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001066<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4_kernel.xhtml">GCGEMMInterleave4x4Kernel</a></td></tr>
1067<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL ES kernel which interleaves the elements of a matrix A in chunk of 4x4. <a href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001068<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001069<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">GCGEMMMatrixAccumulateBiasesKernel</a></td></tr>
1070<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_g_c_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001071<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001072<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_addition_kernel.xhtml">GCGEMMMatrixAdditionKernel</a></td></tr>
1073<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL ES 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_g_c_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001074<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001075<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_multiply_kernel.xhtml">GCGEMMMatrixMultiplyKernel</a></td></tr>
1076<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GLES Compute 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_g_c_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001077<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001078<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w.xhtml">GCGEMMTranspose1xW</a></td></tr>
1079<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w_kernel.xhtml" title="OpenGLES kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 /...">GCGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001080<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001081<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w_kernel.xhtml">GCGEMMTranspose1xWKernel</a></td></tr>
1082<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGLES kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001083<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001084<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_im2_col_kernel.xhtml">GCIm2ColKernel</a></td></tr>
1085<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_g_c_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001086<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001087<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_kernel.xhtml">GCKernel</a></td></tr>
1088<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_g_c_kernel.xhtml" title="GCKernel class. ">GCKernel</a> class. <a href="classarm__compute_1_1_g_c_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001089<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001090<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_kernel_library.xhtml">GCKernelLibrary</a></td></tr>
1091<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_g_c_kernel_library.xhtml" title="GCKernelLibrary class. ">GCKernelLibrary</a> class. <a href="classarm__compute_1_1_g_c_kernel_library.xhtml#details">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01001092<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001093<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_logits1_d_max_kernel.xhtml">GCLogits1DMaxKernel</a></td></tr>
1094<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_g_c_logits1_d_max_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001095<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001096<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_logits1_d_norm_kernel.xhtml">GCLogits1DNormKernel</a></td></tr>
1097<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_g_c_logits1_d_norm_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001098<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001099<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_logits1_d_shift_exp_sum_kernel.xhtml">GCLogits1DShiftExpSumKernel</a></td></tr>
1100<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_g_c_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001101<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001102<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_normalization_layer.xhtml">GCNormalizationLayer</a></td></tr>
1103<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a normalization layer. <a href="classarm__compute_1_1_g_c_normalization_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001104<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001105<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_normalization_layer_kernel.xhtml">GCNormalizationLayerKernel</a></td></tr>
1106<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_g_c_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001107<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001108<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_normalize_planar_y_u_v_layer.xhtml">GCNormalizePlanarYUVLayer</a></td></tr>
1109<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_normalize_planar_y_u_v_layer_kernel.xhtml">GCNormalizePlanarYUVLayerKernel</a>. <a href="classarm__compute_1_1_g_c_normalize_planar_y_u_v_layer.xhtml#details">More...</a><br /></td></tr>
1110<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1111<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_normalize_planar_y_u_v_layer_kernel.xhtml">GCNormalizePlanarYUVLayerKernel</a></td></tr>
1112<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the NormalizePlanarYUV layer kernel. <a href="classarm__compute_1_1_g_c_normalize_planar_y_u_v_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1113<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001114<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_pixel_wise_multiplication.xhtml">GCPixelWiseMultiplication</a></td></tr>
1115<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_pixel_wise_multiplication_kernel.xhtml">GCPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_g_c_pixel_wise_multiplication.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001116<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001117<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_pixel_wise_multiplication_kernel.xhtml">GCPixelWiseMultiplicationKernel</a></td></tr>
1118<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the pixelwise multiplication kernel. <a href="classarm__compute_1_1_g_c_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001119<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001120<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_pooling_layer.xhtml">GCPoolingLayer</a></td></tr>
1121<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_g_c_pooling_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001122<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001123<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_pooling_layer_kernel.xhtml">GCPoolingLayerKernel</a></td></tr>
1124<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_g_c_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001125<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001126<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_program.xhtml">GCProgram</a></td></tr>
1127<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_g_c_program.xhtml" title="GCProgram class. ">GCProgram</a> class. <a href="classarm__compute_1_1_g_c_program.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001128<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001129<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_scale.xhtml">GCScale</a></td></tr>
1130<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_scale_kernel.xhtml">GCScaleKernel</a>. <a href="classarm__compute_1_1_g_c_scale.xhtml#details">More...</a><br /></td></tr>
1131<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1132<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_scale_kernel.xhtml">GCScaleKernel</a></td></tr>
1133<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the scale kernel. <a href="classarm__compute_1_1_g_c_scale_kernel.xhtml#details">More...</a><br /></td></tr>
1134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001135<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_scheduler.xhtml">GCScheduler</a></td></tr>
1136<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides global access to a OpenGL ES context and command queue. <a href="classarm__compute_1_1_g_c_scheduler.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001137<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001138<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_softmax_layer.xhtml">GCSoftmaxLayer</a></td></tr>
1139<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_g_c_softmax_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001140<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001141<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml">GCTensor</a></td></tr>
1142<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenGL ES tensor. <a href="classarm__compute_1_1_g_c_tensor.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001143<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001144<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_tensor_allocator.xhtml">GCTensorAllocator</a></td></tr>
1145<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of a GLES memory tensor allocator. <a href="classarm__compute_1_1_g_c_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001146<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001147<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_tensor_shift.xhtml">GCTensorShift</a></td></tr>
1148<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute shift function for tensor. <a href="classarm__compute_1_1_g_c_tensor_shift.xhtml#details">More...</a><br /></td></tr>
1149<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1150<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_tensor_shift_kernel.xhtml">GCTensorShiftKernel</a></td></tr>
1151<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to shift valid data on a tensor. <a href="classarm__compute_1_1_g_c_tensor_shift_kernel.xhtml#details">More...</a><br /></td></tr>
1152<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001153<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_transpose.xhtml">GCTranspose</a></td></tr>
1154<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to transpose a matrix on OpenGL ES. <a href="classarm__compute_1_1_g_c_transpose.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001155<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001156<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_transpose_kernel.xhtml">GCTransposeKernel</a></td></tr>
1157<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL ES kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_g_c_transpose_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00001158<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001159<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_weights_reshape_kernel.xhtml">GCWeightsReshapeKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001160<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GLES Compute kernel to perform reshaping on the weights used by convolution and locally connected layer. <a href="classarm__compute_1_1_g_c_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001161<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001162<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001163<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GEMM information class. <a href="classarm__compute_1_1_g_e_m_m_info.xhtml#details">More...</a><br /></td></tr>
1164<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1165<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a></td></tr>
1166<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GEMM reshape information class. <a href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001167<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001168<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_l_buffer_wrapper.xhtml">GLBufferWrapper</a></td></tr>
1169<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001170<tr class="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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001171<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>
1172<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1173<tr class="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>
1174<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>
1175<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1176<tr class="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>
1177<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>
Kaizen8938bd32017-09-28 14:38:23 +01001178<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1179<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_allocator.xhtml">IAllocator</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001180<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_allocator.xhtml" title="Default malloc allocator implementation. ">Allocator</a> interface. <a href="classarm__compute_1_1_i_allocator.xhtml#details">More...</a><br /></td></tr>
1181<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1182<tr class="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>
1183<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>
1184<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1185<tr class="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>
1186<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>
1187<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001188<tr class="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_depthwise_convolution_layer3x3_kernel.xhtml">ICLDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
1189<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor. <a href="classarm__compute_1_1_i_c_l_depthwise_convolution_layer3x3_kernel.xhtml#details">More...</a><br /></td></tr>
1190<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001191<tr class="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>
1192<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>
1193<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1194<tr class="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_g_e_m_m_lowp_reduction_kernel.xhtml">ICLGEMMLowpReductionKernel</a></td></tr>
1195<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all OpenCL reduction kernels. <a href="classarm__compute_1_1_i_c_l_g_e_m_m_lowp_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
1196<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1197<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_h_o_g.xhtml">ICLHOG</a></td></tr>
1198<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_i_c_l_h_o_g.xhtml#details">More...</a><br /></td></tr>
1199<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1200<tr class="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>
1201<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>
1202<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1203<tr class="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>
1204<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>
1205<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001206<tr class="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_memory_region.xhtml">ICLMemoryRegion</a></td></tr>
1207<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL memory region interface. <a href="classarm__compute_1_1_i_c_l_memory_region.xhtml#details">More...</a><br /></td></tr>
1208<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001209<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_h_o_g.xhtml">ICLMultiHOG</a></td></tr>
1210<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for storing multiple <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_i_c_l_multi_h_o_g.xhtml#details">More...</a><br /></td></tr>
1211<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1212<tr class="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>
1213<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>
1214<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1215<tr class="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>
1216<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>
1217<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1218<tr class="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>
1219<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>
1220<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1221<tr class="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>
1222<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>
1223<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1224<tr class="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>
1225<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>
1226<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001227<tr class="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_s_v_m_memory_region.xhtml">ICLSVMMemoryRegion</a></td></tr>
1228<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL SVM memory region interface. <a href="classarm__compute_1_1_i_c_l_s_v_m_memory_region.xhtml#details">More...</a><br /></td></tr>
1229<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001230<tr class="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>
1231<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>
1232<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1233<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tuner.xhtml">ICLTuner</a></td></tr>
1234<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for tuning the OpenCL kernels. <a href="classarm__compute_1_1_i_c_l_tuner.xhtml#details">More...</a><br /></td></tr>
1235<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1236<tr class="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>
1237<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>
1238<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1239<tr class="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_function.xhtml">ICPPSimpleFunction</a></td></tr>
1240<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for functions which have a single CPP kernel. <a href="classarm__compute_1_1_i_c_p_p_simple_function.xhtml#details">More...</a><br /></td></tr>
1241<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1242<tr class="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>
Jenkinsb3a371b2018-05-23 11:36:53 +01001243<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple C++ kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001244<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1245<tr class="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>
1246<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>
1247<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1248<tr class="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>
1249<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>
Kaizen8938bd32017-09-28 14:38:23 +01001250<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1251<tr class="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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001252<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>
1253<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1254<tr class="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_g_c_kernel.xhtml">IGCKernel</a></td></tr>
1255<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all the GLES kernels. <a href="classarm__compute_1_1_i_g_c_kernel.xhtml#details">More...</a><br /></td></tr>
1256<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1257<tr class="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_g_c_simple2_d_kernel.xhtml">IGCSimple2DKernel</a></td></tr>
1258<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple OpenGL ES kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_g_c_simple2_d_kernel.xhtml#details">More...</a><br /></td></tr>
1259<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1260<tr class="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_g_c_simple3_d_kernel.xhtml">IGCSimple3DKernel</a></td></tr>
1261<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple GLES kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_g_c_simple3_d_kernel.xhtml#details">More...</a><br /></td></tr>
1262<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1263<tr class="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_g_c_simple_function.xhtml">IGCSimpleFunction</a></td></tr>
1264<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for functions which have a single OpenGL ES kernel. <a href="classarm__compute_1_1_i_g_c_simple_function.xhtml#details">More...</a><br /></td></tr>
1265<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1266<tr class="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_g_c_simple_kernel.xhtml">IGCSimpleKernel</a></td></tr>
1267<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple OpenGL ES kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_g_c_simple_kernel.xhtml#details">More...</a><br /></td></tr>
1268<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1269<tr class="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_g_c_tensor.xhtml">IGCTensor</a></td></tr>
1270<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for GLES Compute tensor. <a href="classarm__compute_1_1_i_g_c_tensor.xhtml#details">More...</a><br /></td></tr>
1271<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1272<tr class="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>
1273<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>
1274<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1275<tr class="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>
1276<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>
Kaizen8938bd32017-09-28 14:38:23 +01001277<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1278<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lifetime_manager.xhtml">ILifetimeManager</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001279<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for managing the lifetime of objects. <a href="classarm__compute_1_1_i_lifetime_manager.xhtml#details">More...</a><br /></td></tr>
1280<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1281<tr class="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>
1282<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>
Kaizen8938bd32017-09-28 14:38:23 +01001283<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1284<tr class="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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001285<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>
Kaizen8938bd32017-09-28 14:38:23 +01001286<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1287<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_group.xhtml">IMemoryGroup</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001288<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> group interface. <a href="classarm__compute_1_1_i_memory_group.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001289<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1290<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_manager.xhtml">IMemoryManager</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001291<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> manager interface to handle allocations of backing memory. <a href="classarm__compute_1_1_i_memory_manager.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001292<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1293<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_pool.xhtml">IMemoryPool</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001294<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Pool Inteface. <a href="classarm__compute_1_1_i_memory_pool.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001295<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001296<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_region.xhtml">IMemoryRegion</a></td></tr>
1297<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> region interface. <a href="classarm__compute_1_1_i_memory_region.xhtml#details">More...</a><br /></td></tr>
1298<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001299<tr class="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>
1300<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>
Kaizen8938bd32017-09-28 14:38:23 +01001301<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001302<tr class="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>
1303<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>
Kaizen8938bd32017-09-28 14:38:23 +01001304<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001305<tr class="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_g_e_m_m_lowp_reduction_kernel.xhtml">INEGEMMLowpReductionKernel</a></td></tr>
1306<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all NEON reduction kernels. <a href="classarm__compute_1_1_i_n_e_g_e_m_m_lowp_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001307<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001308<tr class="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>
1309<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>
Kaizen8938bd32017-09-28 14:38:23 +01001310<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1311<tr class="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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001312<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>
Kaizen8938bd32017-09-28 14:38:23 +01001313<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001314<tr class="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>
1315<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>
Kaizen8938bd32017-09-28 14:38:23 +01001316<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001317<tr class="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_winograd_layer_transform_input_kernel.xhtml">INEWinogradLayerTransformInputKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001318<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the NEON kernel to perform Winograd input transform. <a href="classarm__compute_1_1_i_n_e_winograd_layer_transform_input_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001319<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1320<tr class="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_winograd_layer_transform_output_kernel.xhtml">INEWinogradLayerTransformOutputKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001321<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the NEON kernel to perform Winograd output transform. <a href="classarm__compute_1_1_i_n_e_winograd_layer_transform_output_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001322<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1323<tr class="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_winograd_layer_transform_weights_kernel.xhtml">INEWinogradLayerTransformWeightsKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001324<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the NEON kernel to perform Winograd weights transform. <a href="classarm__compute_1_1_i_n_e_winograd_layer_transform_weights_kernel.xhtml#details">More...</a><br /></td></tr>
1325<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1326<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_internal_key_point.xhtml">InternalKeyPoint</a></td></tr>
1327<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_internal_key_point.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001328<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001329<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>
1330<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>
Kaizen8938bd32017-09-28 14:38:23 +01001331<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001332<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_pool_manager.xhtml">IPoolManager</a></td></tr>
1333<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> pool manager interface. <a href="classarm__compute_1_1_i_pool_manager.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001334<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001335<tr class="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>
1336<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>
Kaizen8938bd32017-09-28 14:38:23 +01001337<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001338<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_scheduler.xhtml">IScheduler</a></td></tr>
1339<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_scheduler.xhtml" title="Configurable scheduler which supports multiple multithreading APIs and choosing between different sch...">Scheduler</a> interface to run kernels. <a href="classarm__compute_1_1_i_scheduler.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001340<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001341<tr class="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_simple_lifetime_manager.xhtml">ISimpleLifetimeManager</a></td></tr>
1342<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract class of the simple lifetime manager interface. <a href="classarm__compute_1_1_i_simple_lifetime_manager.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001343<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001344<tr class="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>
1345<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>
Kaizen8938bd32017-09-28 14:38:23 +01001346<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001347<tr class="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>
1348<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>
1349<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1350<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a></td></tr>
1351<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the tensor's metadata. <a href="classarm__compute_1_1_i_tensor_info.xhtml#details">More...</a><br /></td></tr>
1352<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1353<tr class="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>
1354<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_iterator.xhtml" title="Iterator updated by execute_window_loop for each window element. ">Iterator</a> updated by <a class="el" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a> for each window element. <a href="classarm__compute_1_1_iterator.xhtml#details">More...</a><br /></td></tr>
1355<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1356<tr class="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>
1357<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>
1358<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1359<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>
1360<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>
1361<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001362<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_l_s_t_m_params.xhtml">LSTMParams</a></td></tr>
1363<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001364<tr class="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>
1365<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>
1366<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1367<tr class="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>
1368<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>
1369<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1370<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory.xhtml">Memory</a></td></tr>
1371<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU implementation of memory object. <a href="classarm__compute_1_1_memory.xhtml#details">More...</a><br /></td></tr>
1372<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1373<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a></td></tr>
1374<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> group. <a href="classarm__compute_1_1_memory_group_base.xhtml#details">More...</a><br /></td></tr>
1375<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1376<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_manager_on_demand.xhtml">MemoryManagerOnDemand</a></td></tr>
1377<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">On-demand memory manager. <a href="classarm__compute_1_1_memory_manager_on_demand.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001378<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001379<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_region.xhtml">MemoryRegion</a></td></tr>
1380<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> region CPU implementation. <a href="classarm__compute_1_1_memory_region.xhtml#details">More...</a><br /></td></tr>
1381<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001382<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_min_max_location_values.xhtml">MinMaxLocationValues</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001383<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Min and max values and locations. <a href="structarm__compute_1_1_min_max_location_values.xhtml#details">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01001384<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001385<tr class="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>
1386<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>
1387<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1388<tr class="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>
1389<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>
1390<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1391<tr class="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>
1392<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>
1393<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1394<tr class="memitem:"><td 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>
1395<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>
1396<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1397<tr class="memitem:"><td 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>
1398<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>
1399<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1400<tr class="memitem:"><td 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>
1401<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>
1402<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1403<tr class="memitem:"><td 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>
1404<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>
1405<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1406<tr class="memitem:"><td 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>
1407<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>
1408<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1409<tr class="memitem:"><td 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>
1410<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>
1411<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1412<tr class="memitem:"><td 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>
1413<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>
1414<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1415<tr class="memitem:"><td 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>
1416<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>
1417<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1418<tr class="memitem:"><td 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>
1419<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>
1420<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1421<tr class="memitem:"><td 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>
1422<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>
1423<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1424<tr class="memitem:"><td 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>
1425<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>
1426<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1427<tr class="memitem:"><td 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>
1428<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>
1429<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1430<tr class="memitem:"><td 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>
1431<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>
1432<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1433<tr class="memitem:"><td 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>
1434<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>
1435<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1436<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml">NEBatchNormalizationLayer</a></td></tr>
1437<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml#details">More...</a><br /></td></tr>
1438<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1439<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml">NEBatchNormalizationLayerKernel</a></td></tr>
1440<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the batch normalization layer kernel. <a href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1441<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1442<tr class="memitem:"><td 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>
1443<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>
1444<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1445<tr class="memitem:"><td 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>
1446<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>
1447<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1448<tr class="memitem:"><td 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>
1449<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>
1450<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1451<tr class="memitem:"><td 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>
1452<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>
1453<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1454<tr class="memitem:"><td 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>
1455<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>
1456<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1457<tr class="memitem:"><td 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>
1458<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>
1459<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1460<tr class="memitem:"><td 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>
1461<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>
1462<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1463<tr class="memitem:"><td 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>
1464<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>
1465<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1466<tr class="memitem:"><td 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>
1467<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>
1468<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1469<tr class="memitem:"><td 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>
1470<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>
1471<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1472<tr class="memitem:"><td 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>
1473<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>
1474<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1475<tr class="memitem:"><td 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>
1476<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>
1477<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1478<tr class="memitem:"><td 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>
1479<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>
1480<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1481<tr class="memitem:"><td 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>
1482<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>
1483<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1484<tr class="memitem:"><td 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>
1485<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>
1486<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1487<tr class="memitem:"><td 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.xhtml">NECol2Im</a></td></tr>
1488<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_col2_im.xhtml">NECol2Im</a>. <a href="classarm__compute_1_1_n_e_col2_im.xhtml#details">More...</a><br /></td></tr>
1489<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1490<tr class="memitem:"><td 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>
1491<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>
1492<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1493<tr class="memitem:"><td 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>
1494<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>
1495<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1496<tr class="memitem:"><td 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>
1497<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>
1498<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001499<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_concatenate_layer.xhtml">NEConcatenateLayer</a></td></tr>
1500<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along a given axis. <a href="classarm__compute_1_1_n_e_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
1501<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001502<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convert_fully_connected_weights.xhtml">NEConvertFullyConnectedWeights</a></td></tr>
1503<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_convert_fully_connected_weights_kernel.xhtml">NEConvertFullyConnectedWeightsKernel</a>. <a href="classarm__compute_1_1_n_e_convert_fully_connected_weights.xhtml#details">More...</a><br /></td></tr>
1504<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1505<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convert_fully_connected_weights_kernel.xhtml">NEConvertFullyConnectedWeightsKernel</a></td></tr>
1506<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to convert the 2D Fully Connected weights from NCHW to NHWC or vice versa. <a href="classarm__compute_1_1_n_e_convert_fully_connected_weights_kernel.xhtml#details">More...</a><br /></td></tr>
1507<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001508<tr class="memitem:"><td 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>
1509<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>
1510<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1511<tr class="memitem:"><td 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>
1512<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>
1513<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1514<tr class="memitem:"><td 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>
1515<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>
1516<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1517<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml">NEConvolutionLayerReshapeWeights</a></td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001518<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to reshape the weights. <a href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001519<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1520<tr class="memitem:"><td 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>
1521<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>
1522<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1523<tr class="memitem:"><td 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>
1524<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>
1525<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1526<tr class="memitem:"><td 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>
1527<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>
1528<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001529<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_copy.xhtml">NECopy</a></td></tr>
1530<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_copy_kernel.xhtml">NECopyKernel</a>. <a href="classarm__compute_1_1_n_e_copy.xhtml#details">More...</a><br /></td></tr>
1531<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1532<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_copy_kernel.xhtml">NECopyKernel</a></td></tr>
1533<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a copy between two tensors. <a href="classarm__compute_1_1_n_e_copy_kernel.xhtml#details">More...</a><br /></td></tr>
1534<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001535<tr class="memitem:"><td 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>
1536<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>
1537<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1538<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_deconvolution_layer.xhtml">NEDeconvolutionLayer</a></td></tr>
1539<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to run the deconvolution layer. <a href="classarm__compute_1_1_n_e_deconvolution_layer.xhtml#details">More...</a><br /></td></tr>
1540<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001541<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate_layer.xhtml">NEDepthConcatenateLayer</a></td></tr>
1542<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_n_e_depth_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
1543<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1544<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate_layer_kernel.xhtml">NEDepthConcatenateLayerKernel</a></td></tr>
1545<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_n_e_depth_concatenate_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1546<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1547<tr class="memitem:"><td 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_layer.xhtml">NEDepthConvertLayer</a></td></tr>
1548<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_layer_kernel.xhtml">NEDepthConvertLayerKernel</a>. <a href="classarm__compute_1_1_n_e_depth_convert_layer.xhtml#details">More...</a><br /></td></tr>
1549<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1550<tr class="memitem:"><td 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_layer_kernel.xhtml">NEDepthConvertLayerKernel</a></td></tr>
1551<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Depth conversion kernel. <a href="classarm__compute_1_1_n_e_depth_convert_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1552<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1553<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_convolution_layer.xhtml">NEDepthwiseConvolutionLayer</a></td></tr>
1554<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute a generic depthwise convolution. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer.xhtml#details">More...</a><br /></td></tr>
1555<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1556<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3.xhtml">NEDepthwiseConvolutionLayer3x3</a></td></tr>
1557<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute a depthwise convolution for kernel size 3x3xC. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3.xhtml#details">More...</a><br /></td></tr>
1558<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1559<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3_kernel.xhtml">NEDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
1560<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3_kernel.xhtml#details">More...</a><br /></td></tr>
1561<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1562<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_im2_col_kernel.xhtml">NEDepthwiseIm2ColKernel</a></td></tr>
1563<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depthwise im2col reshape kernel. <a href="classarm__compute_1_1_n_e_depthwise_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
1564<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1565<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_separable_convolution_layer.xhtml">NEDepthwiseSeparableConvolutionLayer</a></td></tr>
1566<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute depthwise convolution. <a href="classarm__compute_1_1_n_e_depthwise_separable_convolution_layer.xhtml#details">More...</a><br /></td></tr>
1567<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1568<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_vector_to_tensor_kernel.xhtml">NEDepthwiseVectorToTensorKernel</a></td></tr>
1569<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depthwise vector to tensor kernel. <a href="classarm__compute_1_1_n_e_depthwise_vector_to_tensor_kernel.xhtml#details">More...</a><br /></td></tr>
1570<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1571<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_weights_reshape_kernel.xhtml">NEDepthwiseWeightsReshapeKernel</a></td></tr>
1572<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the depthwise weights reshape kernel. <a href="classarm__compute_1_1_n_e_depthwise_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
1573<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1574<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer.xhtml">NEDequantizationLayer</a></td></tr>
1575<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a dequantization layer. <a href="classarm__compute_1_1_n_e_dequantization_layer.xhtml#details">More...</a><br /></td></tr>
1576<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1577<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml">NEDequantizationLayerKernel</a></td></tr>
1578<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the dequantization layer kernel. <a href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1579<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1580<tr class="memitem:"><td 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>
1581<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>
1582<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1583<tr class="memitem:"><td 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>
1584<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>
1585<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1586<tr class="memitem:"><td 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>
1587<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>
1588<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1589<tr class="memitem:"><td 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>
1590<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>
1591<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1592<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer.xhtml">NEDirectConvolutionLayer</a></td></tr>
1593<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to run the direct convolution. <a href="classarm__compute_1_1_n_e_direct_convolution_layer.xhtml#details">More...</a><br /></td></tr>
1594<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001595<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml">NEDirectConvolutionLayerKernel</a></td></tr>
1596<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON interface for Direct Convolution Layer kernel. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1597<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00001598<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_output_stage_kernel.xhtml">NEDirectConvolutionLayerOutputStageKernel</a></td></tr>
1599<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to accumulate the biases, if provided, or downscale in case of quantized input. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_output_stage_kernel.xhtml#details">More...</a><br /></td></tr>
1600<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001601<tr class="memitem:"><td 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>
1602<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>
1603<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1604<tr class="memitem:"><td 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>
1605<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>
1606<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1607<tr class="memitem:"><td 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>
1608<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>
1609<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1610<tr class="memitem:"><td 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>
1611<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>
1612<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1613<tr class="memitem:"><td 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>
1614<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>
1615<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1616<tr class="memitem:"><td 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>
1617<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>
1618<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1619<tr class="memitem:"><td 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>
1620<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>
1621<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1622<tr class="memitem:"><td 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>
1623<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>
1624<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1625<tr class="memitem:"><td 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>
1626<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>
1627<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1628<tr class="memitem:"><td 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>
1629<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>
1630<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1631<tr class="memitem:"><td 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>
1632<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>
1633<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1634<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_flatten_layer.xhtml">NEFlattenLayer</a></td></tr>
1635<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute flatten. <a href="classarm__compute_1_1_n_e_flatten_layer.xhtml#details">More...</a><br /></td></tr>
1636<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1637<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor.xhtml">NEFloor</a></td></tr>
1638<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a>. <a href="classarm__compute_1_1_n_e_floor.xhtml#details">More...</a><br /></td></tr>
1639<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1640<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a></td></tr>
1641<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a floor operation. <a href="classarm__compute_1_1_n_e_floor_kernel.xhtml#details">More...</a><br /></td></tr>
1642<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1643<tr class="memitem:"><td 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>
1644<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>
1645<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1646<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer_reshape_weights.xhtml">NEFullyConnectedLayerReshapeWeights</a></td></tr>
1647<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with NEON. <a href="classarm__compute_1_1_n_e_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
1648<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1649<tr class="memitem:"><td 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>
1650<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>
1651<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1652<tr class="memitem:"><td 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>
1653<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>
1654<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1655<tr class="memitem:"><td 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>
1656<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>
1657<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1658<tr class="memitem:"><td 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>
1659<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>
1660<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1661<tr class="memitem:"><td 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>
1662<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>
1663<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1664<tr class="memitem:"><td 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>
1665<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>
1666<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1667<tr class="memitem:"><td 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>
1668<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>
1669<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1670<tr class="memitem:"><td 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>
1671<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>
1672<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1673<tr class="memitem:"><td 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>
1674<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>
1675<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1676<tr class="memitem:"><td 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>
1677<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>
1678<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1679<tr class="memitem:"><td 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>
1680<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>
1681<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001682<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml">NEGEMMAssemblyBaseKernel</a></td></tr>
1683<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for GEMM NEON kernels implemented in Assembly. <a href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml#details">More...</a><br /></td></tr>
1684<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001685<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_assembly_dispatch.xhtml">NEGEMMAssemblyDispatch</a></td></tr>
1686<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assembly kernel glue. <a href="classarm__compute_1_1_n_e_g_e_m_m_assembly_dispatch.xhtml#details">More...</a><br /></td></tr>
1687<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001688<tr class="memitem:"><td 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_convolution_layer.xhtml">NEGEMMConvolutionLayer</a></td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001689<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute the convolution layer. <a href="classarm__compute_1_1_n_e_g_e_m_m_convolution_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001690<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001691<tr class="memitem:"><td 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>
1692<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>
1693<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1694<tr class="memitem:"><td 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>
1695<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>
1696<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001697<tr class="memitem:"><td 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_interleaved_wrapper.xhtml">NEGEMMInterleavedWrapper</a></td></tr>
1698<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equivalent to arm_gemm::GemmInterleaved but using Compute Library types. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleaved_wrapper.xhtml#details">More...</a><br /></td></tr>
1699<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001700<tr class="memitem:"><td 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_assembly_matrix_multiply_core.xhtml">NEGEMMLowpAssemblyMatrixMultiplyCore</a></td></tr>
1701<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute matrix multiply assembly kernels. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_assembly_matrix_multiply_core.xhtml#details">More...</a><br /></td></tr>
1702<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1703<tr class="memitem:"><td 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_a_reduction_kernel.xhtml">NEGEMMLowpMatrixAReductionKernel</a></td></tr>
1704<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel used to compute the row-vectors of sums of all the entries in each row of Matrix A. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_a_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
1705<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1706<tr class="memitem:"><td 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_b_reduction_kernel.xhtml">NEGEMMLowpMatrixBReductionKernel</a></td></tr>
1707<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel used to compute the row-vectors of sums of all the entries in each column of Matrix B. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_b_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
1708<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1709<tr class="memitem:"><td 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_core.xhtml">NEGEMMLowpMatrixMultiplyCore</a></td></tr>
1710<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute GEMMLowpMatrixMultiplyCore on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_core.xhtml#details">More...</a><br /></td></tr>
1711<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1712<tr class="memitem:"><td 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>
1713<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>
1714<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1715<tr class="memitem:"><td 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_offset_contribution_kernel.xhtml">NEGEMMLowpOffsetContributionKernel</a></td></tr>
1716<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel used to add the offset contribution after <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_offset_contribution_kernel.xhtml#details">More...</a><br /></td></tr>
1717<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1718<tr class="memitem:"><td 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_quantize_down_int32_to_uint8_scale.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8Scale</a></td></tr>
1719<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_lowp_quantize_down_int32_to_uint8_scale.xhtml" title="Basic function to execute NEGEMMLowpQuantizeDownInt32ToUint8Scale on NEON. ">NEGEMMLowpQuantizeDownInt32ToUint8Scale</a> on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml#details">More...</a><br /></td></tr>
1720<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1721<tr class="memitem:"><td 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_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a></td></tr>
1722<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_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml" title="Basic function to execute NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint on NEON. ">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a> on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml#details">More...</a><br /></td></tr>
1723<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1724<tr class="memitem:"><td 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_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel</a></td></tr>
1725<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml#details">More...</a><br /></td></tr>
1726<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1727<tr class="memitem:"><td 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_quantize_down_int32_to_uint8_scale_kernel.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel</a></td></tr>
1728<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel.xhtml#details">More...</a><br /></td></tr>
1729<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1730<tr class="memitem:"><td 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>
1731<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>
1732<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1733<tr class="memitem:"><td 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>
1734<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>
1735<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1736<tr class="memitem:"><td 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>
1737<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>
1738<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1739<tr class="memitem:"><td 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_vector_multiply_kernel.xhtml">NEGEMMMatrixVectorMultiplyKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01001740<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the GEMM matrix vector multiply kernel. <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_vector_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001741<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1742<tr class="memitem:"><td 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>
1743<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml" title="NEON kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / ele...">NEGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br /></td></tr>
1744<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1745<tr class="memitem:"><td 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>
1746<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br /></td></tr>
1747<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1748<tr class="memitem:"><td 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>
1749<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>
1750<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1751<tr class="memitem:"><td 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>
1752<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>
1753<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1754<tr class="memitem:"><td 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>
1755<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>
1756<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001757<tr class="memitem:"><td 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>
1758<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>
1759<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1760<tr class="memitem:"><td 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>
1761<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>
1762<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1763<tr class="memitem:"><td 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>
1764<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>
1765<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1766<tr class="memitem:"><td 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>
1767<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>
1768<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1769<tr class="memitem:"><td 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>
1770<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>
1771<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1772<tr class="memitem:"><td 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>
1773<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>
1774<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1775<tr class="memitem:"><td 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>
1776<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>
1777<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1778<tr class="memitem:"><td 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>
1779<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>
1780<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1781<tr class="memitem:"><td 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>
1782<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>
1783<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1784<tr class="memitem:"><td 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.xhtml">NEIm2Col</a></td></tr>
1785<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_im2_col_kernel.xhtml">NEIm2ColKernel</a>. <a href="classarm__compute_1_1_n_e_im2_col.xhtml#details">More...</a><br /></td></tr>
1786<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1787<tr class="memitem:"><td 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>
1788<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>
1789<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1790<tr class="memitem:"><td 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>
1791<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>
1792<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1793<tr class="memitem:"><td 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>
1794<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>
1795<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1796<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l2_normalize_layer.xhtml">NEL2NormalizeLayer</a></td></tr>
1797<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to perform a L2 normalization on a given axis. <a href="classarm__compute_1_1_n_e_l2_normalize_layer.xhtml#details">More...</a><br /></td></tr>
1798<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1799<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l2_normalize_layer_kernel.xhtml">NEL2NormalizeLayerKernel</a></td></tr>
1800<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for performing a L2 normalize on a given axis given the square sum of it in this axis. <a href="classarm__compute_1_1_n_e_l2_normalize_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1801<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1802<tr class="memitem:"><td 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>
1803<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>
1804<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1805<tr class="memitem:"><td 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>
1806<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>
1807<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1808<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>
1809<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>
1810<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1811<tr class="memitem:"><td 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>
1812<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>
1813<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1814<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_locally_connected_layer.xhtml">NELocallyConnectedLayer</a></td></tr>
1815<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute the locally connected layer. <a href="classarm__compute_1_1_n_e_locally_connected_layer.xhtml#details">More...</a><br /></td></tr>
1816<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1817<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml">NELocallyConnectedMatrixMultiplyKernel</a></td></tr>
1818<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to multiply each row of first tensor with low 2 dimensions of second tensor. <a href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
1819<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1820<tr class="memitem:"><td 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>
1821<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>
1822<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001823<tr class="memitem:"><td 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_softmax_kernel.xhtml">NELogits1DSoftmaxKernel</a></td></tr>
1824<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for softmax computation for QASYMM8 with pre-computed max. <a href="classarm__compute_1_1_n_e_logits1_d_softmax_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001825<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1826<tr class="memitem:"><td 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>
1827<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>
1828<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1829<tr class="memitem:"><td 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>
1830<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>
1831<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1832<tr class="memitem:"><td 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>
1833<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>
1834<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1835<tr class="memitem:"><td 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>
1836<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>
1837<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1838<tr class="memitem:"><td 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>
1839<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>
1840<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1841<tr class="memitem:"><td 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>
1842<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>
1843<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1844<tr class="memitem:"><td 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>
1845<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>
1846<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1847<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_layer_kernel.xhtml">NEMinMaxLayerKernel</a></td></tr>
1848<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform min max search on a 3D tensor. <a href="classarm__compute_1_1_n_e_min_max_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1849<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1850<tr class="memitem:"><td 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>
1851<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>
1852<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1853<tr class="memitem:"><td 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>
1854<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>
1855<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1856<tr class="memitem:"><td 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>
1857<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>
1858<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1859<tr class="memitem:"><td 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>
1860<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>
1861<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1862<tr class="memitem:"><td 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>
1863<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>
1864<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1865<tr class="memitem:"><td 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>
1866<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>
1867<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1868<tr class="memitem:"><td 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>
1869<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to compute a normalization layer. <a href="classarm__compute_1_1_n_e_normalization_layer.xhtml#details">More...</a><br /></td></tr>
1870<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1871<tr class="memitem:"><td 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>
1872<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>
1873<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1874<tr class="memitem:"><td 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>
1875<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>
1876<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00001877<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_permute.xhtml">NEPermute</a></td></tr>
1878<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_permute_kernel.xhtml">NEPermuteKernel</a>. <a href="classarm__compute_1_1_n_e_permute.xhtml#details">More...</a><br /></td></tr>
1879<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1880<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_permute_kernel.xhtml">NEPermuteKernel</a></td></tr>
1881<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform tensor permutation. <a href="classarm__compute_1_1_n_e_permute_kernel.xhtml#details">More...</a><br /></td></tr>
1882<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001883<tr class="memitem:"><td 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>
1884<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>
1885<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1886<tr class="memitem:"><td 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>
1887<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>
1888<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1889<tr class="memitem:"><td 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>
1890<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>
1891<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1892<tr class="memitem:"><td 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>
1893<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>
1894<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1895<tr class="memitem:"><td 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>
1896<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>
1897<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1898<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_quantization_layer.xhtml">NEQuantizationLayer</a></td></tr>
1899<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a quantization layer. <a href="classarm__compute_1_1_n_e_quantization_layer.xhtml#details">More...</a><br /></td></tr>
1900<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1901<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_quantization_layer_kernel.xhtml">NEQuantizationLayerKernel</a></td></tr>
1902<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the quantization layer kernel. <a href="classarm__compute_1_1_n_e_quantization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1903<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1904<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation.xhtml">NEReductionOperation</a></td></tr>
1905<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to simulate a reduction operation. <a href="classarm__compute_1_1_n_e_reduction_operation.xhtml#details">More...</a><br /></td></tr>
1906<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1907<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation_kernel.xhtml">NEReductionOperationKernel</a></td></tr>
1908<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a reduction operation. <a href="classarm__compute_1_1_n_e_reduction_operation_kernel.xhtml#details">More...</a><br /></td></tr>
1909<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1910<tr class="memitem:"><td 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>
1911<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>
1912<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1913<tr class="memitem:"><td 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>
1914<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>
1915<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1916<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer.xhtml">NEReshapeLayer</a></td></tr>
1917<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a>. <a href="classarm__compute_1_1_n_e_reshape_layer.xhtml#details">More...</a><br /></td></tr>
1918<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1919<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a></td></tr>
1920<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel to perform tensor reshaping. <a href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1921<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001922<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_n_n_layer.xhtml">NERNNLayer</a></td></tr>
1923<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_r_n_n_layer.xhtml">NERNNLayer</a>. <a href="classarm__compute_1_1_n_e_r_n_n_layer.xhtml#details">More...</a><br /></td></tr>
1924<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001925<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml">NEROIPoolingLayer</a></td></tr>
1926<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a>. <a href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml#details">More...</a><br /></td></tr>
1927<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1928<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a></td></tr>
1929<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the <a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> pooling layer kernel. <a href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
1930<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1931<tr class="memitem:"><td 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>
1932<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>
1933<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1934<tr class="memitem:"><td 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>
1935<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>
1936<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1937<tr class="memitem:"><td 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>
1938<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>
1939<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1940<tr class="memitem:"><td 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>
1941<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>
1942<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1943<tr class="memitem:"><td 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>
1944<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>
1945<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1946<tr class="memitem:"><td 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>
1947<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>
1948<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00001949<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_simple_assembly_function.xhtml">NESimpleAssemblyFunction</a></td></tr>
1950<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic interface for functions which have a single NEON GEMM wrapper kernel to run. <a href="classarm__compute_1_1_n_e_simple_assembly_function.xhtml#details">More...</a><br /></td></tr>
1951<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00001952<tr class="memitem:"><td 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>
1953<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>
1954<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1955<tr class="memitem:"><td 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>
1956<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>
1957<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1958<tr class="memitem:"><td 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>
1959<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>
1960<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1961<tr class="memitem:"><td 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>
1962<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>
1963<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1964<tr class="memitem:"><td 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>
1965<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>
1966<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1967<tr class="memitem:"><td 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>
1968<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>
1969<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1970<tr class="memitem:"><td 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>
1971<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>
1972<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1973<tr class="memitem:"><td 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>
1974<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>
1975<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1976<tr class="memitem:"><td 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>
1977<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>
1978<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1979<tr class="memitem:"><td 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>
1980<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>
1981<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1982<tr class="memitem:"><td 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>
1983<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>
1984<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1985<tr class="memitem:"><td 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>
1986<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>
1987<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1988<tr class="memitem:"><td 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>
1989<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>
1990<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1991<tr class="memitem:"><td 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>
1992<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>
1993<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1994<tr class="memitem:"><td 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>
1995<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>
1996<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
1997<tr class="memitem:"><td 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>
1998<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>
1999<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2000<tr class="memitem:"><td 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>
2001<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>
2002<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2003<tr class="memitem:"><td 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>
2004<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>
2005<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2006<tr class="memitem:"><td 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>
2007<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>
2008<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2009<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml">NEWeightsReshapeKernel</a></td></tr>
2010<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform reshaping on the weights used by convolution and locally connected layer. <a href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
2011<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002012<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_width_concatenate_layer.xhtml">NEWidthConcatenateLayer</a></td></tr>
2013<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to execute concatenate tensors along x axis. <a href="classarm__compute_1_1_n_e_width_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
2014<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2015<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_width_concatenate_layer_kernel.xhtml">NEWidthConcatenateLayerKernel</a></td></tr>
2016<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the width concatenate kernel. <a href="classarm__compute_1_1_n_e_width_concatenate_layer_kernel.xhtml#details">More...</a><br /></td></tr>
2017<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002018<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_convolution_layer.xhtml">NEWinogradConvolutionLayer</a></td></tr>
2019<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_winograd_convolution_layer.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002020<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002021<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_configuration.xhtml">NEWinogradLayerConfiguration</a></td></tr>
2022<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Winograd. <a href="classarm__compute_1_1_n_e_winograd_layer_configuration.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00002023<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2024<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_transform_input_kernel.xhtml">NEWinogradLayerTransformInputKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002025<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Winograd input transform. <a href="classarm__compute_1_1_n_e_winograd_layer_transform_input_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00002026<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2027<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_transform_output_kernel.xhtml">NEWinogradLayerTransformOutputKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002028<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Winograd output transform. <a href="classarm__compute_1_1_n_e_winograd_layer_transform_output_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00002029<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2030<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_transform_weights_kernel.xhtml">NEWinogradLayerTransformWeightsKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002031<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Winograd weights transform. <a href="classarm__compute_1_1_n_e_winograd_layer_transform_weights_kernel.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002032<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2033<tr class="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>
2034<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>
2035<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2036<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_offset_lifetime_manager.xhtml">OffsetLifetimeManager</a></td></tr>
2037<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concrete class that tracks the lifetime of registered tensors and calculates the systems memory requirements in terms of a single blob and a list of offsets. <a href="classarm__compute_1_1_offset_lifetime_manager.xhtml#details">More...</a><br /></td></tr>
2038<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2039<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_offset_memory_pool.xhtml">OffsetMemoryPool</a></td></tr>
2040<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Offset based memory pool. <a href="classarm__compute_1_1_offset_memory_pool.xhtml#details">More...</a><br /></td></tr>
2041<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2042<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_o_m_p_scheduler.xhtml">OMPScheduler</a></td></tr>
2043<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_o_m_p_scheduler.xhtml#details">More...</a><br /></td></tr>
2044<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002045<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_optical_flow_parameters.xhtml">OpticalFlowParameters</a></td></tr>
2046<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of Optical Flow algorithm. <a href="structarm__compute_1_1_optical_flow_parameters.xhtml#details">More...</a><br /></td></tr>
2047<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002048<tr class="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>
2049<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>
2050<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2051<tr class="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>
2052<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>
2053<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2054<tr class="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>
2055<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>
2056<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2057<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pool_manager.xhtml">PoolManager</a></td></tr>
2058<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> pool manager. <a href="classarm__compute_1_1_pool_manager.xhtml#details">More...</a><br /></td></tr>
2059<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2060<tr class="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>
2061<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>
2062<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2063<tr class="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>
2064<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>
2065<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2066<tr class="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>
2067<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>
2068<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2069<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_quantization_info.xhtml">QuantizationInfo</a></td></tr>
2070<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Quantization settings (used for QASYMM8 data type) <a href="structarm__compute_1_1_quantization_info.xhtml#details">More...</a><br /></td></tr>
2071<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2072<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>
2073<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>
2074<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2075<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a></td></tr>
2076<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Region of interest. <a href="structarm__compute_1_1_r_o_i.xhtml#details">More...</a><br /></td></tr>
2077<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2078<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a></td></tr>
2079<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> Pooling Layer Information class. <a href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml#details">More...</a><br /></td></tr>
2080<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2081<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td></tr>
2082<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configurable scheduler which supports multiple multithreading APIs and choosing between different schedulers at runtime. <a href="classarm__compute_1_1_scheduler.xhtml#details">More...</a><br /></td></tr>
2083<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002084<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_semaphore.xhtml">Semaphore</a></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002085<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semamphore class. <a href="classarm__compute_1_1_semaphore.xhtml#details">More...</a><br /></td></tr>
2086<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2087<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_single_thread_scheduler.xhtml">SingleThreadScheduler</a></td></tr>
2088<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_single_thread_scheduler.xhtml#details">More...</a><br /></td></tr>
2089<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2090<tr class="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>
2091<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>
2092<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2093<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a></td></tr>
2094<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> class. <a href="classarm__compute_1_1_status.xhtml#details">More...</a><br /></td></tr>
2095<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2096<tr class="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>
2097<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>
2098<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2099<tr class="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>
2100<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>
2101<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2102<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_sub_tensor.xhtml">SubTensor</a></td></tr>
2103<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic implementation of the sub-tensor interface. <a href="classarm__compute_1_1_sub_tensor.xhtml#details">More...</a><br /></td></tr>
2104<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2105<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_sub_tensor_info.xhtml">SubTensorInfo</a></td></tr>
2106<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the sub tensor's metadata. <a href="classarm__compute_1_1_sub_tensor_info.xhtml#details">More...</a><br /></td></tr>
2107<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2108<tr class="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>
2109<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>
2110<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002111<tr class="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_accessor.xhtml">TensorAccessor</a></td></tr>
2112<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> accessors to make it easier to interface with arm_gemm. <a href="classarm__compute_1_1_tensor_accessor.xhtml#details">More...</a><br /></td></tr>
2113<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002114<tr class="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>
2115<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>
2116<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2117<tr class="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>
2118<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>
2119<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2120<tr class="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>
2121<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>
2122<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2123<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_thread_info.xhtml">ThreadInfo</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002124<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about executing thread and CPU. <a href="structarm__compute_1_1_thread_info.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002125<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2126<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002127<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Container for valid region of a window. <a href="structarm__compute_1_1_valid_region.xhtml#details">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002128<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2129<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a></td></tr>
2130<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convolution Layer Weights Information class. <a href="classarm__compute_1_1_weights_info.xhtml#details">More...</a><br /></td></tr>
2131<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2132<tr class="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>
2133<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>
2134<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002135<tr class="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_iterator.xhtml">WindowIterator</a></td></tr>
2136<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate over a portion of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a>. <a href="classarm__compute_1_1_window_iterator.xhtml#details">More...</a><br /></td></tr>
2137<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002138<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_winograd_info.xhtml">WinogradInfo</a></td></tr>
2139<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Winograd information. <a href="structarm__compute_1_1_winograd_info.xhtml#details">More...</a><br /></td></tr>
2140<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002141</table><table class="memberdecls">
2142<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
2143Typedefs</h2></td></tr>
2144<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002145<tr class="memdesc:adb969f0e554bf563f2fa671399d59280"><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> of Key Points. <a href="#adb969f0e554bf563f2fa671399d59280">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002146<tr class="separator:adb969f0e554bf563f2fa671399d59280"><td class="memSeparator" colspan="2">&#160;</td></tr>
2147<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002148<tr class="memdesc:adf4063963bf3a4b07a5d0cc840da9ee2"><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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#adf4063963bf3a4b07a5d0cc840da9ee2">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002149<tr class="separator:adf4063963bf3a4b07a5d0cc840da9ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2150<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002151<tr class="memdesc:a4cc908807b0a45ccc6ce7ba340ae2259"><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> of Detection Windows. <a href="#a4cc908807b0a45ccc6ce7ba340ae2259">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002152<tr class="separator:a4cc908807b0a45ccc6ce7ba340ae2259"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002153<tr class="memitem:a64e11fcdd0f4a3f7d832495b7053fbe9"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a64e11fcdd0f4a3f7d832495b7053fbe9">ICLROIArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt; <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002154<tr class="memdesc:a64e11fcdd0f4a3f7d832495b7053fbe9"><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> of ROIs. <a href="#a64e11fcdd0f4a3f7d832495b7053fbe9">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002155<tr class="separator:a64e11fcdd0f4a3f7d832495b7053fbe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002156<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002157<tr class="memdesc:a68396eee600b3d23bf7f95a802e65dff"><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> of 2D Sizes. <a href="#a68396eee600b3d23bf7f95a802e65dff">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002158<tr class="separator:a68396eee600b3d23bf7f95a802e65dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
2159<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002160<tr class="memdesc:a72251c7a73b3c057ffca9f32ee3e19ea"><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> of uint8s. <a href="#a72251c7a73b3c057ffca9f32ee3e19ea">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002161<tr class="separator:a72251c7a73b3c057ffca9f32ee3e19ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
2162<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002163<tr class="memdesc:aed5c7222c31a34327f00de37d8c4f4fc"><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> of uint16s. <a href="#aed5c7222c31a34327f00de37d8c4f4fc">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002164<tr class="separator:aed5c7222c31a34327f00de37d8c4f4fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2165<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002166<tr class="memdesc:a6b5f839e8d27c6351e8d58812dd46c97"><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> of uint32s. <a href="#a6b5f839e8d27c6351e8d58812dd46c97">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002167<tr class="separator:a6b5f839e8d27c6351e8d58812dd46c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
2168<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002169<tr class="memdesc:a67328fa21e30aecd0c27d6d2e63a2b9c"><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> of int16s. <a href="#a67328fa21e30aecd0c27d6d2e63a2b9c">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002170<tr class="separator:a67328fa21e30aecd0c27d6d2e63a2b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2171<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002172<tr class="memdesc:ab95380ecf1c0253f6c785c0f59194066"><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> of int32s. <a href="#ab95380ecf1c0253f6c785c0f59194066">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002173<tr class="separator:ab95380ecf1c0253f6c785c0f59194066"><td class="memSeparator" colspan="2">&#160;</td></tr>
2174<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002175<tr class="memdesc:a631bac7c033a0d341c631870f9755217"><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> of floats. <a href="#a631bac7c033a0d341c631870f9755217">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002176<tr class="separator:a631bac7c033a0d341c631870f9755217"><td class="memSeparator" colspan="2">&#160;</td></tr>
2177<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002178<tr class="memdesc:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for OpenCL images. <a href="#aa80145f30ddae0c2ccbcaa910e3e71dd">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002179<tr class="separator:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
2180<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002181<tr class="memdesc:a4751499f1c526c7285e7e946c2e84541"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 3x3 convolution to a tensor. <a href="#a4751499f1c526c7285e7e946c2e84541">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002182<tr class="separator:a4751499f1c526c7285e7e946c2e84541"><td class="memSeparator" colspan="2">&#160;</td></tr>
2183<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002184<tr class="memdesc:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 5x5 convolution to a tensor. <a href="#ac4cfbdf439d7bf5d420546298bd5ca0d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002185<tr class="separator:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2186<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002187<tr class="memdesc:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 7x7 convolution to a tensor. <a href="#a99a54c937a254c96cd1a29a96ffa7dcf">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002188<tr class="separator:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
2189<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002190<tr class="memdesc:a908439cd5cf8253865d5c70a413fd607"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a 9x9 convolution to a tensor. <a href="#a908439cd5cf8253865d5c70a413fd607">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002191<tr class="separator:a908439cd5cf8253865d5c70a413fd607"><td class="memSeparator" colspan="2">&#160;</td></tr>
2192<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002193<tr class="memdesc:ac72d613f7270604dbcad2553c278b16c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. <a href="#ac72d613f7270604dbcad2553c278b16c">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002194<tr class="separator:ac72d613f7270604dbcad2553c278b16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2195<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002196<tr class="memdesc:aab26624bf4b326f8145b2909a5042004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. <a href="#aab26624bf4b326f8145b2909a5042004">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002197<tr class="separator:aab26624bf4b326f8145b2909a5042004"><td class="memSeparator" colspan="2">&#160;</td></tr>
2198<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002199<tr class="memdesc:a9f34ccad344bc43d25e8be2b828853aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. <a href="#a9f34ccad344bc43d25e8be2b828853aa">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002200<tr class="separator:a9f34ccad344bc43d25e8be2b828853aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2201<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002202<tr class="memdesc:ac7295b0d8d71be75033238ad7fbba38c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. <a href="#ac7295b0d8d71be75033238ad7fbba38c">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002203<tr class="separator:ac7295b0d8d71be75033238ad7fbba38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2204<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002205<tr class="memdesc:a0ffdf01e236016ce8d366a69875d1375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. <a href="#a0ffdf01e236016ce8d366a69875d1375">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002206<tr class="separator:a0ffdf01e236016ce8d366a69875d1375"><td class="memSeparator" colspan="2">&#160;</td></tr>
2207<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002208<tr class="memdesc:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. <a href="#a6d08e1e881bf611c1e1b9e2bb8810d19">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002209<tr class="separator:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
2210<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002211<tr class="memdesc:a569a32a7a853d4708fd4f4840c88a157"><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> of Internal Key Points. <a href="#a569a32a7a853d4708fd4f4840c88a157">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002212<tr class="separator:a569a32a7a853d4708fd4f4840c88a157"><td class="memSeparator" colspan="2">&#160;</td></tr>
2213<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002214<tr class="memdesc:a05d88c40a53babe38cb2cb5841c4a0ad"><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> of Coefficient Tables. <a href="#a05d88c40a53babe38cb2cb5841c4a0ad">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002215<tr class="separator:a05d88c40a53babe38cb2cb5841c4a0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
2216<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002217<tr class="memdesc:a0339a19c93dde6754834a7d4ec7dab73"><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> of Old Values. <a href="#a0339a19c93dde6754834a7d4ec7dab73">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002218<tr class="separator:a0339a19c93dde6754834a7d4ec7dab73"><td class="memSeparator" colspan="2">&#160;</td></tr>
2219<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002220<tr class="memdesc:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for CPP Images. <a href="#ac20902ac1ef01783c8a8d71a9bdf1100">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002221<tr class="separator:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002222<tr class="memitem:a39070701484fa98eaa18cfcdb6aeb175"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a39070701484fa98eaa18cfcdb6aeb175">IGCImage</a> = <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002223<tr class="memdesc:a39070701484fa98eaa18cfcdb6aeb175"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for GLES Compute image. <a href="#a39070701484fa98eaa18cfcdb6aeb175">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002224<tr class="separator:a39070701484fa98eaa18cfcdb6aeb175"><td class="memSeparator" colspan="2">&#160;</td></tr>
2225<tr class="memitem:a10f3af894ca8b0479a5e6bc296083314"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a10f3af894ca8b0479a5e6bc296083314">GCDirectConvolutionLayer1x1Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>&lt; 1 &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002226<tr class="memdesc:a10f3af894ca8b0479a5e6bc296083314"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the 1x1 direct convolution kernel. <a href="#a10f3af894ca8b0479a5e6bc296083314">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002227<tr class="separator:a10f3af894ca8b0479a5e6bc296083314"><td class="memSeparator" colspan="2">&#160;</td></tr>
2228<tr class="memitem:a35ccf8834da8b67bfb9c61fbc5e5f1e6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35ccf8834da8b67bfb9c61fbc5e5f1e6">GCDirectConvolutionLayer3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>&lt; 3 &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002229<tr class="memdesc:a35ccf8834da8b67bfb9c61fbc5e5f1e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the 3x3 direct convolution kernel. <a href="#a35ccf8834da8b67bfb9c61fbc5e5f1e6">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002230<tr class="separator:a35ccf8834da8b67bfb9c61fbc5e5f1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2231<tr class="memitem:a227e525a4d0a4da25040cfdf8a3cf06b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a227e525a4d0a4da25040cfdf8a3cf06b">GCDirectConvolutionLayer5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>&lt; 5 &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002232<tr class="memdesc:a227e525a4d0a4da25040cfdf8a3cf06b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the 5x5 direct convolution kernel. <a href="#a227e525a4d0a4da25040cfdf8a3cf06b">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002233<tr class="separator:a227e525a4d0a4da25040cfdf8a3cf06b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002234<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002235<tr class="memdesc:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 Key Points. <a href="#ab56a557a5fdf97819f23c35c24f0b0d2">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002236<tr class="separator:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
2237<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002238<tr class="memdesc:aac9efd49d3bbbd53779713e5fb37de62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#aac9efd49d3bbbd53779713e5fb37de62">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002239<tr class="separator:aac9efd49d3bbbd53779713e5fb37de62"><td class="memSeparator" colspan="2">&#160;</td></tr>
2240<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002241<tr class="memdesc:a52b3b9de6092ae37321159c4c2f1bf40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 Detection Windows. <a href="#a52b3b9de6092ae37321159c4c2f1bf40">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002242<tr class="separator:a52b3b9de6092ae37321159c4c2f1bf40"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002243<tr class="memitem:ae273be451a4d6de5fa255cb8fb09a64b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae273be451a4d6de5fa255cb8fb09a64b">IROIArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt; <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> &gt;</td></tr>
2244<tr class="memdesc:ae273be451a4d6de5fa255cb8fb09a64b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 ROIs. <a href="#ae273be451a4d6de5fa255cb8fb09a64b">More...</a><br /></td></tr>
2245<tr class="separator:ae273be451a4d6de5fa255cb8fb09a64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002246<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002247<tr class="memdesc:a32e4b9083329486a06960006af89a84c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 2D Sizes. <a href="#a32e4b9083329486a06960006af89a84c">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002248<tr class="separator:a32e4b9083329486a06960006af89a84c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2249<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002250<tr class="memdesc:a276401fd5651e75431d3e1cc90601caa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 uint8s. <a href="#a276401fd5651e75431d3e1cc90601caa">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002251<tr class="separator:a276401fd5651e75431d3e1cc90601caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2252<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002253<tr class="memdesc:a1ffe8af91a934c926d102938db8d3ce1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 uint16s. <a href="#a1ffe8af91a934c926d102938db8d3ce1">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002254<tr class="separator:a1ffe8af91a934c926d102938db8d3ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2255<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002256<tr class="memdesc:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 uint32s. <a href="#ac9b2a6fa6e146437bfc8c0bee96e4760">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002257<tr class="separator:ac9b2a6fa6e146437bfc8c0bee96e4760"><td class="memSeparator" colspan="2">&#160;</td></tr>
2258<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002259<tr class="memdesc:a1dd5e04cea002eae658fa2a899848ad7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 int16s. <a href="#a1dd5e04cea002eae658fa2a899848ad7">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002260<tr class="separator:a1dd5e04cea002eae658fa2a899848ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2261<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002262<tr class="memdesc:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 int32s. <a href="#a51fdf34dfc5c60b6f4f455f0a9cac457">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002263<tr class="separator:a51fdf34dfc5c60b6f4f455f0a9cac457"><td class="memSeparator" colspan="2">&#160;</td></tr>
2264<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002265<tr class="memdesc:a8a82a1928159e86b0778c3c14e8842be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for <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 floats. <a href="#a8a82a1928159e86b0778c3c14e8842be">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002266<tr class="separator:a8a82a1928159e86b0778c3c14e8842be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2267<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002268<tr class="memdesc:a9f3ed96e009111cfbe53d3f77c712390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all kernels implemented in NEON. <a href="#a9f3ed96e009111cfbe53d3f77c712390">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002269<tr class="separator:a9f3ed96e009111cfbe53d3f77c712390"><td class="memSeparator" colspan="2">&#160;</td></tr>
2270<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002271<tr class="memdesc:a4aad0c49ce3d7cf4693830398f190250"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for simple NEON kernels having 1 tensor input and 1 tensor output. <a href="#a4aad0c49ce3d7cf4693830398f190250">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002272<tr class="separator:a4aad0c49ce3d7cf4693830398f190250"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002273<tr class="memitem:aff99c045b07329b332b1cb97a2dd1518"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aff99c045b07329b332b1cb97a2dd1518">NEAccumulateWeightedFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002274<tr class="memdesc:aff99c045b07329b332b1cb97a2dd1518"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate weighted kernel using F16. <a href="#aff99c045b07329b332b1cb97a2dd1518">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002275<tr class="separator:aff99c045b07329b332b1cb97a2dd1518"><td class="memSeparator" colspan="2">&#160;</td></tr>
2276<tr class="memitem:a96f7f6f98dc47e0dc3b928bf87397ebf"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a96f7f6f98dc47e0dc3b928bf87397ebf">NEBox3x3FP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002277<tr class="memdesc:a96f7f6f98dc47e0dc3b928bf87397ebf"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform a Box 3x3 filter for FP16 datatype. <a href="#a96f7f6f98dc47e0dc3b928bf87397ebf">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002278<tr class="separator:a96f7f6f98dc47e0dc3b928bf87397ebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
2279<tr class="memitem:a593fd1da692f305db6ca306cb8e0158e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a593fd1da692f305db6ca306cb8e0158e">NEGradientFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002280<tr class="memdesc:a593fd1da692f305db6ca306cb8e0158e"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Gradient computation for FP16 datatype. <a href="#a593fd1da692f305db6ca306cb8e0158e">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002281<tr class="separator:a593fd1da692f305db6ca306cb8e0158e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002282<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002283<tr class="memdesc:acf81639b3d33b5da654ef088e4d10520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 3x3 convolution to a tensor. <a href="#acf81639b3d33b5da654ef088e4d10520">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002284<tr class="separator:acf81639b3d33b5da654ef088e4d10520"><td class="memSeparator" colspan="2">&#160;</td></tr>
2285<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002286<tr class="memdesc:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 5x5 convolution to a tensor. <a href="#a21898b2d2e31ab9af8933c66ff82c8c6">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002287<tr class="separator:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2288<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002289<tr class="memdesc:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 7x7 convolution to a tensor. <a href="#ae46cbbe03d31c6c8e7eba7b58999842d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002290<tr class="separator:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2291<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002292<tr class="memdesc:a1025306f820a9e76df7e5891caacff7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 9x9 convolution to a tensor. <a href="#a1025306f820a9e76df7e5891caacff7b">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002293<tr class="separator:a1025306f820a9e76df7e5891caacff7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2294<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002295<tr class="memdesc:ac78a7593874c21cff86478c1ba6df27b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. <a href="#ac78a7593874c21cff86478c1ba6df27b">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002296<tr class="separator:ac78a7593874c21cff86478c1ba6df27b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2297<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002298<tr class="memdesc:aca4adbcd292c26b0e392c59875c1e926"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. <a href="#aca4adbcd292c26b0e392c59875c1e926">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002299<tr class="separator:aca4adbcd292c26b0e392c59875c1e926"><td class="memSeparator" colspan="2">&#160;</td></tr>
2300<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002301<tr class="memdesc:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. <a href="#a4ba5f6b7cd6b70b75e42149f3bc08f38">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002302<tr class="separator:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
2303<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002304<tr class="memdesc:ae4152320657df499674ed64b16c28a7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 1x5 vertical convolution to a tensor. <a href="#ae4152320657df499674ed64b16c28a7b">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002305<tr class="separator:ae4152320657df499674ed64b16c28a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2306<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002307<tr class="memdesc:a0f952bd0821b506e18514a3f4dbc6c39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 1x7 vertical convolution to a tensor. <a href="#a0f952bd0821b506e18514a3f4dbc6c39">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002308<tr class="separator:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
2309<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002310<tr class="memdesc:a6310d21f215fface41df4cde725a62b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the kernel which applied a 1x9 vertical convolution to a tensor. <a href="#a6310d21f215fface41df4cde725a62b9">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002311<tr class="separator:a6310d21f215fface41df4cde725a62b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002312<tr class="memitem:a0b6679b5d5c7f7dc527258181b04cf35"><td class="memTemplParams" colspan="2">template&lt;int32_t block_size&gt; </td></tr>
2313<tr class="memitem:a0b6679b5d5c7f7dc527258181b04cf35"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b6679b5d5c7f7dc527258181b04cf35">NEHarrisScoreFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a>&lt; block_size &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002314<tr class="memdesc:a0b6679b5d5c7f7dc527258181b04cf35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the accumulate Weighted kernel using FP16. <a href="#a0b6679b5d5c7f7dc527258181b04cf35">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002315<tr class="separator:a0b6679b5d5c7f7dc527258181b04cf35"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002316<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002317<tr class="memdesc:a19699533eb1b662e46a10715f6086487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for NEON <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 Internal Key Points. <a href="#a19699533eb1b662e46a10715f6086487">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002318<tr class="separator:a19699533eb1b662e46a10715f6086487"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002319<tr class="memitem:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a38cad49e6beaef76bc1ec5064c9e9dba">NENonMaximaSuppression3x3FP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002320<tr class="memdesc:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in FP16 if the input data type is FP32. <a href="#a38cad49e6beaef76bc1ec5064c9e9dba">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002321<tr class="separator:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
2322<tr class="memitem:a70ecc99f2f6b646579b58463dc026671"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70ecc99f2f6b646579b58463dc026671">qasymm8x8_t</a> = uint8x8_t</td></tr>
2323<tr class="memdesc:a70ecc99f2f6b646579b58463dc026671"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit quantized asymmetric vector with 8 elements <a href="#a70ecc99f2f6b646579b58463dc026671">More...</a><br /></td></tr>
2324<tr class="separator:a70ecc99f2f6b646579b58463dc026671"><td class="memSeparator" colspan="2">&#160;</td></tr>
2325<tr class="memitem:a805d740633d70a5f0b019d72c517e67d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a805d740633d70a5f0b019d72c517e67d">qasymm8x8x2_t</a> = uint8x8x2_t</td></tr>
2326<tr class="memdesc:a805d740633d70a5f0b019d72c517e67d"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit quantized asymmetric vector with 16 elements <a href="#a805d740633d70a5f0b019d72c517e67d">More...</a><br /></td></tr>
2327<tr class="separator:a805d740633d70a5f0b019d72c517e67d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2328<tr class="memitem:a0c6e16826765130b480af53eda3635be"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c6e16826765130b480af53eda3635be">qasymm8x8x3_t</a> = uint8x8x3_t</td></tr>
2329<tr class="memdesc:a0c6e16826765130b480af53eda3635be"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit quantized asymmetric vector with 24 elements <a href="#a0c6e16826765130b480af53eda3635be">More...</a><br /></td></tr>
2330<tr class="separator:a0c6e16826765130b480af53eda3635be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2331<tr class="memitem:a41d3460ff424e2e21c629b3f27386a8b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41d3460ff424e2e21c629b3f27386a8b">qasymm8x8x4_t</a> = uint8x8x4_t</td></tr>
2332<tr class="memdesc:a41d3460ff424e2e21c629b3f27386a8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit quantized asymmetric vector with 32 elements <a href="#a41d3460ff424e2e21c629b3f27386a8b">More...</a><br /></td></tr>
2333<tr class="separator:a41d3460ff424e2e21c629b3f27386a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2334<tr class="memitem:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> = uint8x16_t</td></tr>
2335<tr class="memdesc:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit quantized asymmetric vector with 16 elements <a href="#ac7e1832b8c58f07a98fc8d390b16ac27">More...</a><br /></td></tr>
2336<tr class="separator:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002337<tr class="memitem:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> = uint8_t</td></tr>
2338<tr class="memdesc:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit quantized asymmetric scalar value <a href="#ab8938bcb3ec0f5f8d93285eb3a28b701">More...</a><br /></td></tr>
2339<tr class="separator:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002340<tr class="memitem:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> = half_float::half</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002341<tr class="memdesc:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">16-bit floating point type <a href="#a73e2825fd61d349c5ca2f5313e3c8ea1">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002342<tr class="separator:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002343<tr class="memitem:a33e65be485104e2e9e69fca551d6f492"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> = <a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td></tr>
2344<tr class="memdesc:a33e65be485104e2e9e69fca551d6f492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutation vector. <a href="#a33e65be485104e2e9e69fca551d6f492">More...</a><br /></td></tr>
2345<tr class="separator:a33e65be485104e2e9e69fca551d6f492"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002346<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002347<tr class="memdesc:a4467b302fc9ec312c40580336ab783da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Container for 2D padding size. <a href="#a4467b302fc9ec312c40580336ab783da">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002348<tr class="separator:a4467b302fc9ec312c40580336ab783da"><td class="memSeparator" colspan="2">&#160;</td></tr>
2349<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002350<tr class="memdesc:a2ab89a5d0959531aac270879cdd3ed78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal key point. <a href="#a2ab89a5d0959531aac270879cdd3ed78">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002351<tr class="separator:a2ab89a5d0959531aac270879cdd3ed78"><td class="memSeparator" colspan="2">&#160;</td></tr>
2352<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002353<tr class="memdesc:a8856eca9a83e16bb0cb5880e9c6c9fe7"><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 Key Points. <a href="#a8856eca9a83e16bb0cb5880e9c6c9fe7">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002354<tr class="separator:a8856eca9a83e16bb0cb5880e9c6c9fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2355<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002356<tr class="memdesc:a327abccf7b43aa32d6a24319b986f3ab"><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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#a327abccf7b43aa32d6a24319b986f3ab">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002357<tr class="separator:a327abccf7b43aa32d6a24319b986f3ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
2358<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002359<tr class="memdesc:a5fe01ab895629edd84a511b56657d79e"><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 Detection Windows. <a href="#a5fe01ab895629edd84a511b56657d79e">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002360<tr class="separator:a5fe01ab895629edd84a511b56657d79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002361<tr class="memitem:a35ae0858a604c4c0672ce857e8080ae4"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35ae0858a604c4c0672ce857e8080ae4">ROIArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt; <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> &gt;</td></tr>
2362<tr class="memdesc:a35ae0858a604c4c0672ce857e8080ae4"><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 ROIs. <a href="#a35ae0858a604c4c0672ce857e8080ae4">More...</a><br /></td></tr>
2363<tr class="separator:a35ae0858a604c4c0672ce857e8080ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002364<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002365<tr class="memdesc:abd445adaaca7913c9344c90dc8c76358"><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 2D Sizes. <a href="#abd445adaaca7913c9344c90dc8c76358">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002366<tr class="separator:abd445adaaca7913c9344c90dc8c76358"><td class="memSeparator" colspan="2">&#160;</td></tr>
2367<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002368<tr class="memdesc:a9dbb5e00a3f397691eb782f03f65375c"><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 uint8s. <a href="#a9dbb5e00a3f397691eb782f03f65375c">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002369<tr class="separator:a9dbb5e00a3f397691eb782f03f65375c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2370<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002371<tr class="memdesc:ab91cb2269b2e58ed2cb6bd2ca831d434"><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 uint16s. <a href="#ab91cb2269b2e58ed2cb6bd2ca831d434">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002372<tr class="separator:ab91cb2269b2e58ed2cb6bd2ca831d434"><td class="memSeparator" colspan="2">&#160;</td></tr>
2373<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002374<tr class="memdesc:acd6eb2619ccd5eee4963de3195785359"><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 uint32s. <a href="#acd6eb2619ccd5eee4963de3195785359">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002375<tr class="separator:acd6eb2619ccd5eee4963de3195785359"><td class="memSeparator" colspan="2">&#160;</td></tr>
2376<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002377<tr class="memdesc:a69c19b38cbee8fa6680513f6ff76bbb3"><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 int16s. <a href="#a69c19b38cbee8fa6680513f6ff76bbb3">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002378<tr class="separator:a69c19b38cbee8fa6680513f6ff76bbb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2379<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002380<tr class="memdesc:a6af9862834629c287a81b16837b51e44"><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 int32s. <a href="#a6af9862834629c287a81b16837b51e44">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002381<tr class="separator:a6af9862834629c287a81b16837b51e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
2382<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002383<tr class="memdesc:a6e06029aa1b68c0cdeb80656cc9353fe"><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 floats. <a href="#a6e06029aa1b68c0cdeb80656cc9353fe">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002384<tr class="separator:a6e06029aa1b68c0cdeb80656cc9353fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
2385<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002386<tr class="memdesc:a55e1c5ed17b7ee3762198a38eb50650a"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of Key Points. <a href="#a55e1c5ed17b7ee3762198a38eb50650a">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002387<tr class="separator:a55e1c5ed17b7ee3762198a38eb50650a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2388<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002389<tr class="memdesc:a0fd5f0310a26faad00b905bac3792726"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#a0fd5f0310a26faad00b905bac3792726">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002390<tr class="separator:a0fd5f0310a26faad00b905bac3792726"><td class="memSeparator" colspan="2">&#160;</td></tr>
2391<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002392<tr class="memdesc:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of Detection Windows. <a href="#ab8d2c7efb7643ce8f9e5446dbe1da0b4">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002393<tr class="separator:ab8d2c7efb7643ce8f9e5446dbe1da0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002394<tr class="memitem:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7d756aef16b9c22456bb7aca8fbb4f4c">CLROIArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt; <a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a> &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002395<tr class="memdesc:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of ROIs. <a href="#a7d756aef16b9c22456bb7aca8fbb4f4c">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002396<tr class="separator:a7d756aef16b9c22456bb7aca8fbb4f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002397<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002398<tr class="memdesc:a3f9ab729931f4e4fa36ff1683186d988"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of 2D Sizes. <a href="#a3f9ab729931f4e4fa36ff1683186d988">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002399<tr class="separator:a3f9ab729931f4e4fa36ff1683186d988"><td class="memSeparator" colspan="2">&#160;</td></tr>
2400<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002401<tr class="memdesc:aa031694bb03711e09e25546ad2b643cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of uint8s. <a href="#aa031694bb03711e09e25546ad2b643cc">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002402<tr class="separator:aa031694bb03711e09e25546ad2b643cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
2403<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002404<tr class="memdesc:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of uint16s. <a href="#a7b4c4a79c73a3f85ba89aff03fddefa7">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002405<tr class="separator:a7b4c4a79c73a3f85ba89aff03fddefa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2406<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002407<tr class="memdesc:a1d7d89b7e990055dc95ed37dfb24da48"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of uint32s. <a href="#a1d7d89b7e990055dc95ed37dfb24da48">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002408<tr class="separator:a1d7d89b7e990055dc95ed37dfb24da48"><td class="memSeparator" colspan="2">&#160;</td></tr>
2409<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002410<tr class="memdesc:a5fb8cb339705102066c915d18f0701ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of int16s. <a href="#a5fb8cb339705102066c915d18f0701ac">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002411<tr class="separator:a5fb8cb339705102066c915d18f0701ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
2412<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002413<tr class="memdesc:a8a401a071524761c661a75969c951cf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of int32s. <a href="#a8a401a071524761c661a75969c951cf5">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002414<tr class="separator:a8a401a071524761c661a75969c951cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2415<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002416<tr class="memdesc:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of floats. <a href="#a193a4859b365f3ef4e0d73a1e6b12c85">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002417<tr class="separator:a193a4859b365f3ef4e0d73a1e6b12c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002418<tr class="memitem:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac87d48489667d7ff7fc4cc7d0d12c52e">CLMemoryGroup</a> = <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a> &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002419<tr class="memdesc:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group in OpenCL. <a href="#ac87d48489667d7ff7fc4cc7d0d12c52e">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002420<tr class="separator:ac87d48489667d7ff7fc4cc7d0d12c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002421<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002422<tr class="memdesc:aae712f442eae2d56d17529ca6cb9cb77"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. <a href="#aae712f442eae2d56d17529ca6cb9cb77">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002423<tr class="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2">&#160;</td></tr>
2424<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002425<tr class="memdesc:a843447b81f09d837e90d44e6e6bd236d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#a843447b81f09d837e90d44e6e6bd236d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002426<tr class="separator:a843447b81f09d837e90d44e6e6bd236d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2427<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002428<tr class="memdesc:a1992a8362b7074e709394a5219d16e62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#a1992a8362b7074e709394a5219d16e62">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002429<tr class="separator:a1992a8362b7074e709394a5219d16e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
2430<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002431<tr class="memdesc:a587dee5d7f05d5e9c3b8704ae8927101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#a587dee5d7f05d5e9c3b8704ae8927101">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002432<tr class="separator:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002433<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002434<tr class="memdesc:a70997613219641045213b0c12948fb74"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of Internal Keypoints. <a href="#a70997613219641045213b0c12948fb74">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002435<tr class="separator:a70997613219641045213b0c12948fb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
2436<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002437<tr class="memdesc:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of Coefficient Tables. <a href="#afcef84cf3b7d147b2b6ab0bd884afc16">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002438<tr class="separator:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
2439<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002440<tr class="memdesc:a4ec6965f606c588137f7a48d84c1d6f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">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> of Old Values. <a href="#a4ec6965f606c588137f7a48d84c1d6f0">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002441<tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002442<tr class="memitem:abb079bea3cd2a65a7018eab99392747e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abb079bea3cd2a65a7018eab99392747e">GCMemoryGroup</a> = <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml">GCTensor</a> &gt;</td></tr>
2443<tr class="separator:abb079bea3cd2a65a7018eab99392747e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002444<tr class="memitem:a0b1d72d612fb6f33393ea6cd6cbcf523"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b1d72d612fb6f33393ea6cd6cbcf523">GCImage</a> = <a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml">GCTensor</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002445<tr class="memdesc:a0b1d72d612fb6f33393ea6cd6cbcf523"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenGL ES <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. <a href="#a0b1d72d612fb6f33393ea6cd6cbcf523">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002446<tr class="separator:a0b1d72d612fb6f33393ea6cd6cbcf523"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002447<tr class="memitem:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> = <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &gt;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002448<tr class="memdesc:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group. <a href="#a0e7a03e2e133cb1fbb12517a3f646a09">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002449<tr class="separator:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002450<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002451<tr class="memdesc:adbc7771d367ba8f51da1450d3602e5c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#adbc7771d367ba8f51da1450d3602e5c0">More...</a><br /></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002452<tr class="separator:adbc7771d367ba8f51da1450d3602e5c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2453<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002454<tr class="memdesc:aeb2682fbeb2766df26b4be1971c9757d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#aeb2682fbeb2766df26b4be1971c9757d">More...</a><br /></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002455<tr class="separator:aeb2682fbeb2766df26b4be1971c9757d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2456<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002457<tr class="memdesc:ae5a088552f26a1afafd0cbf821d256fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#ae5a088552f26a1afafd0cbf821d256fb">More...</a><br /></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002458<tr class="separator:ae5a088552f26a1afafd0cbf821d256fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002459<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002460<tr class="memdesc:a681c120e2188371794ec3a59768c64ab"><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 LK Internel Keypoints. <a href="#a681c120e2188371794ec3a59768c64ab">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002461<tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002462<tr class="memitem:a0604c803e41880a4a16408efc4e6a69b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0604c803e41880a4a16408efc4e6a69b">NEScheduler</a> = <a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002463<tr class="memdesc:a0604c803e41880a4a16408efc4e6a69b"><td class="mdescLeft">&#160;</td><td class="mdescRight">NEON <a class="el" href="classarm__compute_1_1_scheduler.xhtml" title="Configurable scheduler which supports multiple multithreading APIs and choosing between different sch...">Scheduler</a>. <a href="#a0604c803e41880a4a16408efc4e6a69b">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002464<tr class="separator:a0604c803e41880a4a16408efc4e6a69b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002465<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002466<tr class="memdesc:a7fb6a368d181ef193475f725c713430a"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. <a href="#a7fb6a368d181ef193475f725c713430a">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002467<tr class="separator:a7fb6a368d181ef193475f725c713430a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002468<tr class="memitem:a762c7da7319adcc433b3ac7a67e18ed5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> = std::map&lt; void **, size_t &gt;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002469<tr class="memdesc:a762c7da7319adcc433b3ac7a67e18ed5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A map of (handle, index/offset), where handle is the memory handle of the object to provide the memory for and index/offset is the buffer/offset from the pool that should be used. <a href="#a762c7da7319adcc433b3ac7a67e18ed5">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002470<tr class="separator:a762c7da7319adcc433b3ac7a67e18ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2471<tr class="memitem:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad2398d0f2ce77c10bbebf1f85317dde5">GroupMappings</a> = std::map&lt; size_t, <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> &gt;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002472<tr class="memdesc:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A map of the groups and memory mappings. <a href="#ad2398d0f2ce77c10bbebf1f85317dde5">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002473<tr class="separator:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memSeparator" colspan="2">&#160;</td></tr>
2474<tr class="memitem:acded863dbfdd730829d4188d67eefcf0"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> = std::mutex</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002475<tr class="memdesc:acded863dbfdd730829d4188d67eefcf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper of Mutex data-object. <a href="#acded863dbfdd730829d4188d67eefcf0">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002476<tr class="separator:acded863dbfdd730829d4188d67eefcf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002477</table><table class="memberdecls">
2478<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
2479Enumerations</h2></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002480<tr class="memitem:a3a440b3893fa10608d4428958be1c52e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> { <br />
Kaizen8938bd32017-09-28 14:38:23 +01002481&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>,
2482<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>,
2483<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>,
2484<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002485<br />
Kaizen8938bd32017-09-28 14:38:23 +01002486&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002487<br />
Jenkinsb3a371b2018-05-23 11:36:53 +01002488 }<tr class="memdesc:a3a440b3893fa10608d4428958be1c52e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available OpenCL Version. <a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002489</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002490<tr class="separator:a3a440b3893fa10608d4428958be1c52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002491<tr class="memitem:aa41d7415a5386798147cccae2333d5d4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> { <br />
2492&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>,
2493<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>,
2494<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>,
Jenkinsb3a371b2018-05-23 11:36:53 +01002495<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>,
Jenkins52ba29e2018-08-29 15:32:11 +00002496<br />
2497&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>,
Jenkinsb3a371b2018-05-23 11:36:53 +01002498<a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>
Jenkins52ba29e2018-08-29 15:32:11 +00002499<br />
Jenkinsb3a371b2018-05-23 11:36:53 +01002500 }<tr class="memdesc:aa41d7415a5386798147cccae2333d5d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU models - we only need to detect CPUs we have microarchitecture-specific code for. <a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">More...</a><br /></td></tr>
2501</td></tr>
2502<tr class="separator:aa41d7415a5386798147cccae2333d5d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002503<tr class="memitem:a59e56af19e754a6aa26a612ebf91d05f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> { <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">OK</a>,
Jenkins52ba29e2018-08-29 15:32:11 +00002504<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>,
2505<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>
Jenkinsb3a371b2018-05-23 11:36:53 +01002506 }<tr class="memdesc:a59e56af19e754a6aa26a612ebf91d05f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available error codes. <a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">More...</a><br /></td></tr>
2507</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002508<tr class="separator:a59e56af19e754a6aa26a612ebf91d05f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002509<tr class="memitem:a735ac6c2a02e320969625308810444f3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> { <br />
2510&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> = 0x101,
2511<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,
2512<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,
2513<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,
2514<br />
2515&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,
2516<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,
2517<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,
2518<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a> = 0x210,
2519<br />
2520&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a> = 0x220,
2521<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a> = 0x230,
2522<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a> = 0x231,
2523<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a> = 0x232,
2524<br />
Jenkins52ba29e2018-08-29 15:32:11 +00002525&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a> = 0x240,
Jenkinsb3a371b2018-05-23 11:36:53 +01002526<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a> = 0x250,
2527<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a> = 0x260
2528<br />
2529 }<tr class="memdesc:a735ac6c2a02e320969625308810444f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available GPU Targets. <a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">More...</a><br /></td></tr>
2530</td></tr>
2531<tr class="separator:a735ac6c2a02e320969625308810444f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002532<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>,
2533<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>,
2534<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>
2535 }<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>
2536</td></tr>
2537<tr class="separator:add6426cbf2e057a195846d4ba09a50be"><td class="memSeparator" colspan="2">&#160;</td></tr>
2538<tr class="memitem:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> { <br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002539&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2540<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
2541<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,
2542<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002543<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002544&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
2545<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
2546<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
2547<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002548<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002549&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>,
2550<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>,
2551<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>,
2552<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002553<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002554&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>,
2555<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>,
2556<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>,
2557<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002558<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002559&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002560<br />
2561 }<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>
2562</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002563<tr class="separator:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002564<tr class="memitem:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> { <br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002565&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2566<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
2567<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,
Jenkins52ba29e2018-08-29 15:32:11 +00002568<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002569<br />
Jenkins52ba29e2018-08-29 15:32:11 +00002570&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
Anthony Barbierdbdab852017-06-23 15:42:00 +01002571<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
Jenkins52ba29e2018-08-29 15:32:11 +00002572<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002573<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002574<br />
Jenkins52ba29e2018-08-29 15:32:11 +00002575&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,
2576<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002577<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002578<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002579<br />
Jenkins52ba29e2018-08-29 15:32:11 +00002580&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
2581<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002582<br />
2583 }<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>
2584</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002585<tr class="separator:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002586<tr class="memitem:a16a59381d4d74d17d86d69eb4d286d7b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>,
2587<a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>
2588 }<tr class="memdesc:a16a59381d4d74d17d86d69eb4d286d7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available Sampling Policies. <a href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">More...</a><br /></td></tr>
2589</td></tr>
2590<tr class="separator:a16a59381d4d74d17d86d69eb4d286d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002591<tr class="memitem:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> { <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2592<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>,
Anthony Barbier06ea0482018-02-22 15:45:35 +00002593<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>
2594 }<tr class="memdesc:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported tensor data layouts. <a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">More...</a><br /></td></tr>
2595</td></tr>
2596<tr class="separator:ad1d5cce2d9e9a5d61c243e5c989112e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002597<tr class="memitem:a74ce3f7420453d3446218ff3b7453e02"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a> { <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>,
2598<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>,
2599<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>,
2600<a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>
2601 }<tr class="memdesc:a74ce3f7420453d3446218ff3b7453e02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported tensor data layout dimensions. <a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">More...</a><br /></td></tr>
2602</td></tr>
2603<tr class="separator:a74ce3f7420453d3446218ff3b7453e02"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002604<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>,
2605<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,
2606<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002607 }<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>
2608</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002609<tr class="separator:a15a05537a472ee742404821851529327"><td class="memSeparator" colspan="2">&#160;</td></tr>
2610<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>,
2611<a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002612 }<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>
2613</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002614<tr class="separator:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2615<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>,
2616<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,
2617<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002618 }<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>
2619</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002620<tr class="separator:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2621<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>,
2622<a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002623 }<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>
2624</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002625<tr class="separator:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memSeparator" colspan="2">&#160;</td></tr>
2626<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>,
2627<a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002628 }<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>
2629</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002630<tr class="separator:a3e6b23e675649b83240691abbc42a649"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002631<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>,
2632<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,
2633<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002634 }<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>
2635</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002636<tr class="separator:a08c1503414e23f5dd10ff83492685453"><td class="memSeparator" colspan="2">&#160;</td></tr>
2637<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>,
2638<a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002639 }<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>
2640</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002641<tr class="separator:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2642<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>,
2643<a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002644 }<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>
2645</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002646<tr class="separator:af00a42ecad444bbda75cde1b64bd7e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002647<tr class="memitem:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> { <br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002648&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
2649<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,
2650<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,
2651<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002652<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002653&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,
2654<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,
2655<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,
2656<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002657<br />
Anthony Barbier871448e2017-03-24 14:54:29 +00002658&#160;&#160;<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,
2659<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,
2660<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,
2661<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002662<br />
2663 }<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>
2664</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002665<tr class="separator:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2666<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>,
2667<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>,
2668<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,
2669<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002670 }<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>
2671</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002672<tr class="separator:afdda916edc7502967bbec17ea3c06c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
2673<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,
2674<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1,
2675<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002676 }<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>
2677</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002678<tr class="separator:adf2ced65e536375a1c96425d9fced858"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002679<tr class="memitem:a5827eb9cb394e74af87f74bd354fb45b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> { <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>,
2680<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002681 }<tr class="memdesc:a5827eb9cb394e74af87f74bd354fb45b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available reduction operations. <a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">More...</a><br /></td></tr>
2682</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002683<tr class="separator:a5827eb9cb394e74af87f74bd354fb45b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002684<tr class="memitem:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> { <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>,
2685<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>,
Anthony Barbier871448e2017-03-24 14:54:29 +00002686<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002687 }<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>
2688</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002689<tr class="separator:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002690<tr class="memitem:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> { <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1,
2691<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2,
2692<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002693 }<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>
2694</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002695<tr class="separator:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
2696<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>,
2697<a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002698 }<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>
2699</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002700<tr class="separator:a1fece1bd804e64f39f602d1c3969849a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2701<tr class="memitem:a9172da722f0a434e5cc07c0a3c115d93"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> { <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5">MAX</a>,
Kaizen8938bd32017-09-28 14:38:23 +01002702<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>,
2703<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002704 }<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>
2705</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002706<tr class="separator:a9172da722f0a434e5cc07c0a3c115d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00002707<tr class="memitem:a683661ae75dcb7aef16b9c9bde31517d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> { <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>,
2708<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>,
2709<a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>
2710 }<tr class="memdesc:a683661ae75dcb7aef16b9c9bde31517d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available ConvolutionMethod. <a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">More...</a><br /></td></tr>
2711</td></tr>
2712<tr class="separator:a683661ae75dcb7aef16b9c9bde31517d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002713<tr class="memitem:af0a4d6be70322c742c12da1edccbb74d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">MappingType</a> { <a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>,
2714<a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002715 }<tr class="memdesc:af0a4d6be70322c742c12da1edccbb74d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mapping type. <a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">More...</a><br /></td></tr>
2716</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002717<tr class="separator:af0a4d6be70322c742c12da1edccbb74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002718<tr class="memitem:ae46abc5ecac309cbece5c06cb80daaf7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> { <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>
2719 }<tr class="memdesc:ae46abc5ecac309cbece5c06cb80daaf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gradient dimension type. <a href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">More...</a><br /></td></tr>
2720</td></tr>
2721<tr class="separator:ae46abc5ecac309cbece5c06cb80daaf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002722</table><table class="memberdecls">
2723<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
2724Functions</h2></td></tr>
2725<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002726<tr class="memdesc:ab04905b0c6c0e4091160561eae870101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="#ab04905b0c6c0e4091160561eae870101">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002727<tr class="separator:ab04905b0c6c0e4091160561eae870101"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002728<tr class="memitem:ae5f4dd9f672832f7dce02fc14487f544"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae5f4dd9f672832f7dce02fc14487f544">get_data_size_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002729<tr class="memdesc:ae5f4dd9f672832f7dce02fc14487f544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of a data type in number of bits. <a href="#ae5f4dd9f672832f7dce02fc14487f544">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002730<tr class="separator:ae5f4dd9f672832f7dce02fc14487f544"><td class="memSeparator" colspan="2">&#160;</td></tr>
2731<tr class="memitem:afc95473636a442507fda7ad48f3414c0"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc95473636a442507fda7ad48f3414c0">get_underlying_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;dt)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002732<tr class="memdesc:afc95473636a442507fda7ad48f3414c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates fixed point tensor data type to the underlying OpenCL type. <a href="#afc95473636a442507fda7ad48f3414c0">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002733<tr class="separator:afc95473636a442507fda7ad48f3414c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002734<tr class="memitem:a22bd4d0de8eb9d2989a9fe61b1003e70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22bd4d0de8eb9d2989a9fe61b1003e70">get_target_from_device</a> (const cl::Device &amp;device)</td></tr>
2735<tr class="memdesc:a22bd4d0de8eb9d2989a9fe61b1003e70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from CL device. <a href="#a22bd4d0de8eb9d2989a9fe61b1003e70">More...</a><br /></td></tr>
2736<tr class="separator:a22bd4d0de8eb9d2989a9fe61b1003e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002737<tr class="memitem:a54c9b94a266f8065b64f001c47815b68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a54c9b94a266f8065b64f001c47815b68">get_cl_version</a> (const cl::Device &amp;device)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002738<tr class="memdesc:a54c9b94a266f8065b64f001c47815b68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the highest OpenCL version supported. <a href="#a54c9b94a266f8065b64f001c47815b68">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002739<tr class="separator:a54c9b94a266f8065b64f001c47815b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002740<tr class="memitem:a94de99589574c0072be98be1ba806cad"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a94de99589574c0072be98be1ba806cad">device_supports_extension</a> (const cl::Device &amp;device, const char *extension_name)</td></tr>
2741<tr class="memdesc:a94de99589574c0072be98be1ba806cad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether a given extension is supported. <a href="#a94de99589574c0072be98be1ba806cad">More...</a><br /></td></tr>
2742<tr class="separator:a94de99589574c0072be98be1ba806cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
2743<tr class="memitem:aa5e9f3429ae4136235c87f98ecb46c9d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa5e9f3429ae4136235c87f98ecb46c9d">fp16_supported</a> (const cl::Device &amp;device)</td></tr>
2744<tr class="memdesc:aa5e9f3429ae4136235c87f98ecb46c9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_khr_fp16 extension is supported. <a href="#aa5e9f3429ae4136235c87f98ecb46c9d">More...</a><br /></td></tr>
2745<tr class="separator:aa5e9f3429ae4136235c87f98ecb46c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2746<tr class="memitem:a1faf3c8249d988fd152ab2dd16b029dc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1faf3c8249d988fd152ab2dd16b029dc">arm_non_uniform_workgroup_supported</a> (const cl::Device &amp;device)</td></tr>
2747<tr class="memdesc:a1faf3c8249d988fd152ab2dd16b029dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the arm_non_uniform_work_group_size extension is supported. <a href="#a1faf3c8249d988fd152ab2dd16b029dc">More...</a><br /></td></tr>
2748<tr class="separator:a1faf3c8249d988fd152ab2dd16b029dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002749<tr class="memitem:a3e1a11146f191cc0dc152e1be09b9339"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e1a11146f191cc0dc152e1be09b9339">dot8_supported</a> (const cl::Device &amp;device)</td></tr>
2750<tr class="memdesc:a3e1a11146f191cc0dc152e1be09b9339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_arm_integer_dot_product_int8 extension is supported. <a href="#a3e1a11146f191cc0dc152e1be09b9339">More...</a><br /></td></tr>
2751<tr class="separator:a3e1a11146f191cc0dc152e1be09b9339"><td class="memSeparator" colspan="2">&#160;</td></tr>
2752<tr class="memitem:a5b3ca013e6190e8a57de25064bf7caad"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b3ca013e6190e8a57de25064bf7caad">dot8_acc_supported</a> (const cl::Device &amp;device)</td></tr>
2753<tr class="memdesc:a5b3ca013e6190e8a57de25064bf7caad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_arm_integer_dot_product_accumulate_int8 extension is supported. <a href="#a5b3ca013e6190e8a57de25064bf7caad">More...</a><br /></td></tr>
2754<tr class="separator:a5b3ca013e6190e8a57de25064bf7caad"><td class="memSeparator" colspan="2">&#160;</td></tr>
2755<tr class="memitem:afd16b14c21838b5e9858f41d80bdcce7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afd16b14c21838b5e9858f41d80bdcce7">cl_winograd_convolution_layer_supported</a> (const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;output_tile, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;kernel_size, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout)</td></tr>
2756<tr class="memdesc:afd16b14c21838b5e9858f41d80bdcce7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks if the Winograd configuration (defined through the output tile, kernel size and the data layout) is supported on OpenCL. <a href="#afd16b14c21838b5e9858f41d80bdcce7">More...</a><br /></td></tr>
2757<tr class="separator:afd16b14c21838b5e9858f41d80bdcce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2758<tr class="memitem:a5c8dc3902d1a2de5b20aa249fb483eea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5c8dc3902d1a2de5b20aa249fb483eea">error_on_unsupported_int64_base_atomics</a> (const char *function, const char *file, const int line)</td></tr>
2759<tr class="memdesc:a5c8dc3902d1a2de5b20aa249fb483eea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if int64_base_atomics extension is not supported by the device. <a href="#a5c8dc3902d1a2de5b20aa249fb483eea">More...</a><br /></td></tr>
2760<tr class="separator:a5c8dc3902d1a2de5b20aa249fb483eea"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002761<tr class="memitem:a0f68015f649819f1102aa73d7b88b29e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0f68015f649819f1102aa73d7b88b29e">enqueue</a> (cl::CommandQueue &amp;queue, <a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &amp;kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const cl::NDRange &amp;lws_hint=<a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get</a>().default_ndrange())</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002762<tr class="memdesc:a0f68015f649819f1102aa73d7b88b29e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a0f68015f649819f1102aa73d7b88b29e">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002763<tr class="separator:a0f68015f649819f1102aa73d7b88b29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002764<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002765<tr class="memdesc:aa4f4d7a58287017588fc338965873f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if OpenCL is available. <a href="#aa4f4d7a58287017588fc338965873f14">More...</a><br /></td></tr>
Anthony Barbier46d59272017-05-04 09:15:15 +01002766<tr class="separator:aa4f4d7a58287017588fc338965873f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002767<tr class="memitem:a8e79316e933e15539e39cace39ba0e35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8e79316e933e15539e39cace39ba0e35">error_on_unsupported_cpu_fp16</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info)</td></tr>
2768<tr class="memdesc:a8e79316e933e15539e39cace39ba0e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor info is FP16 and FP16 support is not compiled in. <a href="#a8e79316e933e15539e39cace39ba0e35">More...</a><br /></td></tr>
2769<tr class="separator:a8e79316e933e15539e39cace39ba0e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
2770<tr class="memitem:af2619085e2d6192b99df91fd805d8d30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af2619085e2d6192b99df91fd805d8d30">error_on_unsupported_cpu_fp16</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>
2771<tr class="memdesc:af2619085e2d6192b99df91fd805d8d30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor is FP16 and FP16 support is not compiled in. <a href="#af2619085e2d6192b99df91fd805d8d30">More...</a><br /></td></tr>
2772<tr class="separator:af2619085e2d6192b99df91fd805d8d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002773<tr class="memitem:a096590f2456b9e9bcb8db98175720b60"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2774<tr class="memitem:a096590f2456b9e9bcb8db98175720b60"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a096590f2456b9e9bcb8db98175720b60">operator==</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;lhs, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;rhs)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002775<tr class="memdesc:a096590f2456b9e9bcb8db98175720b60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check that given dimensions are equal. <a href="#a096590f2456b9e9bcb8db98175720b60">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002776<tr class="separator:a096590f2456b9e9bcb8db98175720b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
2777<tr class="memitem:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2778<tr class="memitem:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e3ff85e1f6c648dfbe264f54c147451">operator!=</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;lhs, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;rhs)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002779<tr class="memdesc:a4e3ff85e1f6c648dfbe264f54c147451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check that given dimensions are not equal. <a href="#a4e3ff85e1f6c648dfbe264f54c147451">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002780<tr class="separator:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002781<tr class="memitem:a053a24bb37402fa4b4d8d5963976ba17"><td class="memTemplParams" colspan="2">template&lt;typename... T&gt; </td></tr>
2782<tr class="memitem:a053a24bb37402fa4b4d8d5963976ba17"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a053a24bb37402fa4b4d8d5963976ba17">ignore_unused</a> (T &amp;&amp;...)</td></tr>
2783<tr class="memdesc:a053a24bb37402fa4b4d8d5963976ba17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ignores unused arguments. <a href="#a053a24bb37402fa4b4d8d5963976ba17">More...</a><br /></td></tr>
2784<tr class="separator:a053a24bb37402fa4b4d8d5963976ba17"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002785<tr class="memitem:a2edb6ec8bea5c26d7d802d21caf64d02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2edb6ec8bea5c26d7d802d21caf64d02">create_error_va_list</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</td></tr>
2786<tr class="memdesc:a2edb6ec8bea5c26d7d802d21caf64d02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an error containing the error message from variable argument list. <a href="#a2edb6ec8bea5c26d7d802d21caf64d02">More...</a><br /></td></tr>
2787<tr class="separator:a2edb6ec8bea5c26d7d802d21caf64d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
2788<tr class="memitem:a3eee3c80d78ee4574a5eed0af5af919d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3eee3c80d78ee4574a5eed0af5af919d">create_error</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, const char *function, const char *file, const int line, const char *msg,...)</td></tr>
2789<tr class="memdesc:a3eee3c80d78ee4574a5eed0af5af919d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an error containing the error message. <a href="#a3eee3c80d78ee4574a5eed0af5af919d">More...</a><br /></td></tr>
2790<tr class="separator:a3eee3c80d78ee4574a5eed0af5af919d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002791<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002792<tr class="memdesc:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a568b0fbfa3d903099d9c9f7b6acf188d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002793<tr class="separator:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002794<tr class="memitem:ac2b27a559f3ff7deecfcd13e1e24194b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac2b27a559f3ff7deecfcd13e1e24194b">get_target_from_device</a> ()</td></tr>
2795<tr class="memdesc:ac2b27a559f3ff7deecfcd13e1e24194b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from GLES using GL_RENDERER enum. <a href="#ac2b27a559f3ff7deecfcd13e1e24194b">More...</a><br /></td></tr>
2796<tr class="separator:ac2b27a559f3ff7deecfcd13e1e24194b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002797<tr class="memitem:ab36bc98bdbf6c4d7bee0cb099513c806"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab36bc98bdbf6c4d7bee0cb099513c806">enqueue</a> (<a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a> &amp;kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const <a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> &amp;lws=<a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a>(1U, 1U, 1U))</td></tr>
2798<tr class="memdesc:ab36bc98bdbf6c4d7bee0cb099513c806"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#ab36bc98bdbf6c4d7bee0cb099513c806">More...</a><br /></td></tr>
2799<tr class="separator:ab36bc98bdbf6c4d7bee0cb099513c806"><td class="memSeparator" colspan="2">&#160;</td></tr>
2800<tr class="memitem:a19c7b9bc5f36935ba40314907ffe54ce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19c7b9bc5f36935ba40314907ffe54ce">opengles31_is_available</a> ()</td></tr>
2801<tr class="memdesc:a19c7b9bc5f36935ba40314907ffe54ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the OpenGL ES 3.1 API is available at runtime. <a href="#a19c7b9bc5f36935ba40314907ffe54ce">More...</a><br /></td></tr>
2802<tr class="separator:a19c7b9bc5f36935ba40314907ffe54ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002803<tr class="memitem:afab814721e78cbfc34e7e7fe2874fa56"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afab814721e78cbfc34e7e7fe2874fa56">string_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
2804<tr class="memdesc:afab814721e78cbfc34e7e7fe2874fa56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given gpu device target to string. <a href="#afab814721e78cbfc34e7e7fe2874fa56">More...</a><br /></td></tr>
2805<tr class="separator:afab814721e78cbfc34e7e7fe2874fa56"><td class="memSeparator" colspan="2">&#160;</td></tr>
2806<tr class="memitem:ade888194135e9dcce690e9e71a40620a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade888194135e9dcce690e9e71a40620a">get_target_from_name</a> (const std::string &amp;device_name)</td></tr>
2807<tr class="memdesc:ade888194135e9dcce690e9e71a40620a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from a device name. <a href="#ade888194135e9dcce690e9e71a40620a">More...</a><br /></td></tr>
2808<tr class="separator:ade888194135e9dcce690e9e71a40620a"><td class="memSeparator" colspan="2">&#160;</td></tr>
2809<tr class="memitem:a4a351d5c39dec88af98a671da1c43fd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4a351d5c39dec88af98a671da1c43fd6">get_arch_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
2810<tr class="memdesc:a4a351d5c39dec88af98a671da1c43fd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU arch. <a href="#a4a351d5c39dec88af98a671da1c43fd6">More...</a><br /></td></tr>
2811<tr class="separator:a4a351d5c39dec88af98a671da1c43fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2812<tr class="memitem:a0e3b0d9b90f6c97d5fe97b7d17c7ee25"><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
2813<tr class="memitem:a0e3b0d9b90f6c97d5fe97b7d17c7ee25"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e3b0d9b90f6c97d5fe97b7d17c7ee25">gpu_target_is_in</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target_to_check, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target, Args...targets)</td></tr>
2814<tr class="memdesc:a0e3b0d9b90f6c97d5fe97b7d17c7ee25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether a gpu target is equal to the provided targets. <a href="#a0e3b0d9b90f6c97d5fe97b7d17c7ee25">More...</a><br /></td></tr>
2815<tr class="separator:a0e3b0d9b90f6c97d5fe97b7d17c7ee25"><td class="memSeparator" colspan="2">&#160;</td></tr>
2816<tr class="memitem:aab39ce9a593f7e12a4bf4cb47272b917"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab39ce9a593f7e12a4bf4cb47272b917">gpu_target_is_in</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target_to_check, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
2817<tr class="memdesc:aab39ce9a593f7e12a4bf4cb47272b917"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variant of gpu_target_is_in for comparing two targets. <a href="#aab39ce9a593f7e12a4bf4cb47272b917">More...</a><br /></td></tr>
2818<tr class="separator:aab39ce9a593f7e12a4bf4cb47272b917"><td class="memSeparator" colspan="2">&#160;</td></tr>
2819<tr class="memitem:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memTemplParams" colspan="2">template&lt;typename Kernel , typename... T&gt; </td></tr>
2820<tr class="memitem:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35fb9d1dde1b976f4b7d361aabcc7c0d">create_configure_kernel</a> (T &amp;&amp;...args)</td></tr>
2821<tr class="memdesc:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to create and return a unique_ptr pointed to a CL/GLES kernel object It also calls the kernel's configuration. <a href="#a35fb9d1dde1b976f4b7d361aabcc7c0d">More...</a><br /></td></tr>
2822<tr class="separator:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2823<tr class="memitem:abc72c95941485d8a068fa38372308574"><td class="memTemplParams" colspan="2">template&lt;typename Kernel &gt; </td></tr>
2824<tr class="memitem:abc72c95941485d8a068fa38372308574"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abc72c95941485d8a068fa38372308574">create_kernel</a> ()</td></tr>
2825<tr class="memdesc:abc72c95941485d8a068fa38372308574"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to create and return a unique_ptr pointed to a CL/GLES kernel object. <a href="#abc72c95941485d8a068fa38372308574">More...</a><br /></td></tr>
2826<tr class="separator:abc72c95941485d8a068fa38372308574"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002827<tr class="memitem:ad656a27ce8a507e31096ca45683ba9a5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2828<tr class="memitem:ad656a27ce8a507e31096ca45683ba9a5"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a> (const T *pixel_ptr, size_t stride, float dx, float dy)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002829<tr class="memdesc:ad656a27ce8a507e31096ca45683ba9a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. <a href="#ad656a27ce8a507e31096ca45683ba9a5">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002830<tr class="separator:ad656a27ce8a507e31096ca45683ba9a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002831<tr class="memitem:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2832<tr class="memitem:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad5fa8bacf824e9538014bfb0dcdaab52">delta_linear_c1_y</a> (const T *pixel_ptr, size_t stride, float dy)</td></tr>
2833<tr class="memdesc:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes linear interpolation using the pointer to the top pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. <a href="#ad5fa8bacf824e9538014bfb0dcdaab52">More...</a><br /></td></tr>
2834<tr class="separator:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memSeparator" colspan="2">&#160;</td></tr>
2835<tr class="memitem:a6174495b626531de015ae2b810859287"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2836<tr class="memitem:a6174495b626531de015ae2b810859287"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6174495b626531de015ae2b810859287">delta_linear_c1_x</a> (const T *pixel_ptr, float dx)</td></tr>
2837<tr class="memdesc:a6174495b626531de015ae2b810859287"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes linear interpolation using the pointer to the left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. <a href="#a6174495b626531de015ae2b810859287">More...</a><br /></td></tr>
2838<tr class="separator:a6174495b626531de015ae2b810859287"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002839<tr class="memitem:a1c8d639ec2b3086a9506e72605a32333"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2840<tr class="memitem:a1c8d639ec2b3086a9506e72605a32333"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c8d639ec2b3086a9506e72605a32333">pixel_bilinear_c1</a> (const T *first_pixel_ptr, size_t stride, float x, float y)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002841<tr class="memdesc:a1c8d639ec2b3086a9506e72605a32333"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pixel at (x,y) using bilinear interpolation. <a href="#a1c8d639ec2b3086a9506e72605a32333">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002842<tr class="separator:a1c8d639ec2b3086a9506e72605a32333"><td class="memSeparator" colspan="2">&#160;</td></tr>
2843<tr class="memitem:afa55519774605e5b840fb031fdd7b196"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2844<tr class="memitem:afa55519774605e5b840fb031fdd7b196"><td class="memTemplItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa55519774605e5b840fb031fdd7b196">pixel_bilinear_c1_clamp</a> (const T *first_pixel_ptr, size_t stride, size_t width, size_t height, float x, float y)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002845<tr class="memdesc:afa55519774605e5b840fb031fdd7b196"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pixel at (x,y) using bilinear interpolation by clamping when out of borders. <a href="#afa55519774605e5b840fb031fdd7b196">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002846<tr class="separator:afa55519774605e5b840fb031fdd7b196"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002847<tr class="memitem:ab7b3af731907e85fcaf72555c446176b"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab7b3af731907e85fcaf72555c446176b">pixel_area_c1u8_clamp</a> (const uint8_t *first_pixel_ptr, size_t stride, size_t width, size_t height, float wr, float hr, int x, int y)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002848<tr class="memdesc:ab7b3af731907e85fcaf72555c446176b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pixel at (x,y) using area interpolation by clamping when out of borders. <a href="#ab7b3af731907e85fcaf72555c446176b">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002849<tr class="separator:ab7b3af731907e85fcaf72555c446176b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002850<tr class="memitem:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memTemplParams" colspan="2">template&lt;typename L , typename... Ts&gt; </td></tr>
2851<tr class="memitem:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002852<tr class="memdesc:a6c0dcc38187027dcb89cd9724bc5a823"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. <a href="#a6c0dcc38187027dcb89cd9724bc5a823">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002853<tr class="separator:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002854<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2855<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002856<tr class="memdesc:ac2a92cae51d2734a65676052adb33c22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update window and padding size for each of the access patterns. <a href="#ac2a92cae51d2734a65676052adb33c22">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002857<tr class="separator:ac2a92cae51d2734a65676052adb33c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00002858<tr class="memitem:a1c28e5916fd54b778da115bfe646f588"><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#a1c28e5916fd54b778da115bfe646f588">calculate_max_window</a> (const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region, 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>
2859<tr class="memdesc:a1c28e5916fd54b778da115bfe646f588"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#a1c28e5916fd54b778da115bfe646f588">More...</a><br /></td></tr>
2860<tr class="separator:a1c28e5916fd54b778da115bfe646f588"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002861<tr class="memitem:aa2117aef4381edbdf81e17ec088df7f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">calculate_max_window</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002862<tr class="memdesc:aa2117aef4381edbdf81e17ec088df7f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#aa2117aef4381edbdf81e17ec088df7f1">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002863<tr class="separator:aa2117aef4381edbdf81e17ec088df7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00002864<tr class="memitem:a252e257c58bfccbb272c0a5bf81d42cb"><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#a252e257c58bfccbb272c0a5bf81d42cb">calculate_max_window_horizontal</a> (const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region, 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>
2865<tr class="memdesc:a252e257c58bfccbb272c0a5bf81d42cb"><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="#a252e257c58bfccbb272c0a5bf81d42cb">More...</a><br /></td></tr>
2866<tr class="separator:a252e257c58bfccbb272c0a5bf81d42cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002867<tr class="memitem:a47456b4d520aee1cba80bf6e20f6685a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">calculate_max_window_horizontal</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002868<tr class="memdesc:a47456b4d520aee1cba80bf6e20f6685a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. <a href="#a47456b4d520aee1cba80bf6e20f6685a">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002869<tr class="separator:a47456b4d520aee1cba80bf6e20f6685a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00002870<tr class="memitem:a2bbb5d1cdb27c0e8c517cb7c544226c6"><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#a2bbb5d1cdb27c0e8c517cb7c544226c6">calculate_max_enlarged_window</a> (const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
2871<tr class="memdesc:a2bbb5d1cdb27c0e8c517cb7c544226c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#a2bbb5d1cdb27c0e8c517cb7c544226c6">More...</a><br /></td></tr>
2872<tr class="separator:a2bbb5d1cdb27c0e8c517cb7c544226c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002873<tr class="memitem:afcdda83b6a85d5798f08d92c0e235e2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afcdda83b6a85d5798f08d92c0e235e2e">calculate_max_enlarged_window</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002874<tr class="memdesc:afcdda83b6a85d5798f08d92c0e235e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#afcdda83b6a85d5798f08d92c0e235e2e">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002875<tr class="separator:afcdda83b6a85d5798f08d92c0e235e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00002876<tr class="memitem:a133621090cfb0f151340c6e04bd7bcc8"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2877<tr class="memitem:a133621090cfb0f151340c6e04bd7bcc8"><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#a133621090cfb0f151340c6e04bd7bcc8">intersect_valid_regions</a> (const Ts &amp;...regions)</td></tr>
2878<tr class="memdesc:a133621090cfb0f151340c6e04bd7bcc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intersect multiple valid regions. <a href="#a133621090cfb0f151340c6e04bd7bcc8">More...</a><br /></td></tr>
2879<tr class="separator:a133621090cfb0f151340c6e04bd7bcc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002880<tr class="memitem:a35178800b82e07a49da5a81cdeda9a0c"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
2881<tr class="memitem:a35178800b82e07a49da5a81cdeda9a0c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35178800b82e07a49da5a81cdeda9a0c">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, T stride_x, Ts &amp;&amp;...fixed_strides)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002882<tr class="memdesc:a35178800b82e07a49da5a81cdeda9a0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a strides object based on the provided strides and the tensor dimensions. <a href="#a35178800b82e07a49da5a81cdeda9a0c">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002883<tr class="separator:a35178800b82e07a49da5a81cdeda9a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
2884<tr class="memitem:a8c35748731709927597cb5a2c227e682"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
2885<tr class="memitem:a8c35748731709927597cb5a2c227e682"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002886<tr class="memdesc:a8c35748731709927597cb5a2c227e682"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a strides object based on the tensor dimensions. <a href="#a8c35748731709927597cb5a2c227e682">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002887<tr class="separator:a8c35748731709927597cb5a2c227e682"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002888<tr class="memitem:a21c3e11887f3acf9284ca763372c7da0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
2889<tr class="memitem:a21c3e11887f3acf9284ca763372c7da0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21c3e11887f3acf9284ca763372c7da0">permute</a> (<a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dimensions, const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &amp;perm)</td></tr>
2890<tr class="memdesc:a21c3e11887f3acf9284ca763372c7da0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutes given <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> according to a permutation vector. <a href="#a21c3e11887f3acf9284ca763372c7da0">More...</a><br /></td></tr>
2891<tr class="separator:a21c3e11887f3acf9284ca763372c7da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00002892<tr class="memitem:a5045aaec85553032a782c44ab8d26341"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5045aaec85553032a782c44ab8d26341">permute</a> (<a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &amp;perm)</td></tr>
2893<tr class="memdesc:a5045aaec85553032a782c44ab8d26341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutes given <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> according to a permutation vector. <a href="#a5045aaec85553032a782c44ab8d26341">More...</a><br /></td></tr>
2894<tr class="separator:a5045aaec85553032a782c44ab8d26341"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002895<tr class="memitem:a47be6fa38308d0003c25b60b7dbc45ce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a47be6fa38308d0003c25b60b7dbc45ce">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, int num_channels, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> quantization_info=<a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>())</td></tr>
2896<tr class="memdesc:a47be6fa38308d0003c25b60b7dbc45ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto initialize the tensor info (shape, number of channels and data type) if the current assignment is empty. <a href="#a47be6fa38308d0003c25b60b7dbc45ce">More...</a><br /></td></tr>
2897<tr class="separator:a47be6fa38308d0003c25b60b7dbc45ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002898<tr class="memitem:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5844c8e025388ddd8c3afc5c3f7a3256">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info_sink, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info_source)</td></tr>
2899<tr class="memdesc:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto initialize the tensor info using another tensor info. <a href="#a5844c8e025388ddd8c3afc5c3f7a3256">More...</a><br /></td></tr>
2900<tr class="separator:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002901<tr class="memitem:a9d1a839c51134b2ae171a2264c541b6f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d1a839c51134b2ae171a2264c541b6f">set_shape_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002902<tr class="memdesc:a9d1a839c51134b2ae171a2264c541b6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the shape to the specified value if the current assignment is empty. <a href="#a9d1a839c51134b2ae171a2264c541b6f">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002903<tr class="separator:a9d1a839c51134b2ae171a2264c541b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2904<tr class="memitem:a8076ba239b6681067b6cfea7f773a39f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8076ba239b6681067b6cfea7f773a39f">set_format_if_unknown</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002905<tr class="memdesc:a8076ba239b6681067b6cfea7f773a39f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the format, data type and number of channels to the specified value if the current data type is unknown. <a href="#a8076ba239b6681067b6cfea7f773a39f">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002906<tr class="separator:a8076ba239b6681067b6cfea7f773a39f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2907<tr class="memitem:ad19446be52c2c162fa678b9ae236f445"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad19446be52c2c162fa678b9ae236f445">set_data_type_if_unknown</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002908<tr class="memdesc:ad19446be52c2c162fa678b9ae236f445"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data type and number of channels to the specified value if the current data type is unknown. <a href="#ad19446be52c2c162fa678b9ae236f445">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01002909<tr class="separator:ad19446be52c2c162fa678b9ae236f445"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002910<tr class="memitem:aafd98bfd4651f36d691ddd2631a6e5a0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aafd98bfd4651f36d691ddd2631a6e5a0">set_data_layout_if_unknown</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout)</td></tr>
2911<tr class="memdesc:aafd98bfd4651f36d691ddd2631a6e5a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data layout to the specified value if the current data layout is unknown. <a href="#aafd98bfd4651f36d691ddd2631a6e5a0">More...</a><br /></td></tr>
2912<tr class="separator:aafd98bfd4651f36d691ddd2631a6e5a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002913<tr class="memitem:a75509469ec2689ec143f4a37bbcb4437"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a75509469ec2689ec143f4a37bbcb4437">set_quantization_info_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;info, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> quantization_info)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002914<tr class="memdesc:a75509469ec2689ec143f4a37bbcb4437"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the quantization info to the specified value if the current quantization info is empty and the data type of asymmetric quantized type. <a href="#a75509469ec2689ec143f4a37bbcb4437">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002915<tr class="separator:a75509469ec2689ec143f4a37bbcb4437"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002916<tr class="memitem:a4f83578a33b502bf6419ead091249423"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4f83578a33b502bf6419ead091249423">calculate_valid_region_scale</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;src_info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;dst_shape, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> interpolate_policy, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> sampling_policy, bool border_undefined)</td></tr>
2917<tr class="memdesc:a4f83578a33b502bf6419ead091249423"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to calculate the Valid Region for Scale. <a href="#a4f83578a33b502bf6419ead091249423">More...</a><br /></td></tr>
2918<tr class="separator:a4f83578a33b502bf6419ead091249423"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002919<tr class="memitem:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad34f2150f1c9f8a3ecb7298162124e5d">index2coords</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, int index)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002920<tr class="memdesc:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a linear index into n-dimensional coordinates. <a href="#ad34f2150f1c9f8a3ecb7298162124e5d">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002921<tr class="separator:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2922<tr class="memitem:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad95e1c14c3007ca18950bf8f4c5a5c93">coords2index</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;coord)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002923<tr class="memdesc:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert n-dimensional coordinates into a linear index. <a href="#ad95e1c14c3007ca18950bf8f4c5a5c93">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01002924<tr class="separator:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01002925<tr class="memitem:a46e938020a3ac8c926d0590b7fe957db"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a> (const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout, const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a> data_layout_dimension)</td></tr>
2926<tr class="memdesc:a46e938020a3ac8c926d0590b7fe957db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the index of the given dimension. <a href="#a46e938020a3ac8c926d0590b7fe957db">More...</a><br /></td></tr>
2927<tr class="separator:a46e938020a3ac8c926d0590b7fe957db"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00002928<tr class="memitem:ae76431f34048289454a9cb6dc66d7c6b"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae76431f34048289454a9cb6dc66d7c6b">get_normalization_dimension_index</a> (<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> layout, const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> &amp;info)</td></tr>
2929<tr class="memdesc:ae76431f34048289454a9cb6dc66d7c6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the normalization dimension index for a given normalization type. <a href="#ae76431f34048289454a9cb6dc66d7c6b">More...</a><br /></td></tr>
2930<tr class="separator:ae76431f34048289454a9cb6dc66d7c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2931<tr class="memitem:a3b0c016b53e97663b39c2f3875f46c24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3b0c016b53e97663b39c2f3875f46c24">compute_winograd_convolution_tiles</a> (const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;in_dims, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;kernel_size, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;output_tile_size, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;conv_info)</td></tr>
2932<tr class="memdesc:a3b0c016b53e97663b39c2f3875f46c24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the number of output tiles required by Winograd Convolution layer. <a href="#a3b0c016b53e97663b39c2f3875f46c24">More...</a><br /></td></tr>
2933<tr class="separator:a3b0c016b53e97663b39c2f3875f46c24"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002934<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002935<tr class="memdesc:a41c1523098580451b378f76b8c37a0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. <a href="#a41c1523098580451b378f76b8c37a0f0">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002936<tr class="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
2937<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002938<tr class="memdesc:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. <a href="#ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002939<tr class="separator:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00002940<tr class="memitem:a5e28a3911204ac952601f512c82b48f1"><td class="memItemLeft" align="right" valign="top">int32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a> (int32x4_t x, int exponent)</td></tr>
2941<tr class="memdesc:a5e28a3911204ac952601f512c82b48f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Round to the nearest division by a power-of-two using exponent. <a href="#a5e28a3911204ac952601f512c82b48f1">More...</a><br /></td></tr>
2942<tr class="separator:a5e28a3911204ac952601f512c82b48f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
2943<tr class="memitem:aba8de9eaa10a7cb45c5aa603585d0e4c"><td class="memItemLeft" align="right" valign="top">uint8x16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba8de9eaa10a7cb45c5aa603585d0e4c">vmlaq_qasymm8</a> (<a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> vd, float32x4_t vs, float32x4_t vo)</td></tr>
2944<tr class="memdesc:aba8de9eaa10a7cb45c5aa603585d0e4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a multiply-accumulate on all 16 components of a QASYMM8 vector. <a href="#aba8de9eaa10a7cb45c5aa603585d0e4c">More...</a><br /></td></tr>
2945<tr class="separator:aba8de9eaa10a7cb45c5aa603585d0e4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00002946<tr class="memitem:a695a8105065167f7e4596d31f23a3573"><td class="memTemplParams" colspan="2">template&lt;bool is_bounded_relu&gt; </td></tr>
2947<tr class="memitem:a695a8105065167f7e4596d31f23a3573"><td class="memTemplItemLeft" align="right" valign="top">uint8x16_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a695a8105065167f7e4596d31f23a3573">finalize_quantization</a> (int32x4x4_t &amp;in_s32, int result_fixedpoint_multiplier, int32_t result_shift, int32x4_t result_offset_after_shift_s32, uint8x16_t min_u8, uint8x16_t max_u8)</td></tr>
2948<tr class="memdesc:a695a8105065167f7e4596d31f23a3573"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs final quantization step on 16 elements. <a href="#a695a8105065167f7e4596d31f23a3573">More...</a><br /></td></tr>
2949<tr class="separator:a695a8105065167f7e4596d31f23a3573"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002950<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002951<tr class="memdesc:a93cc303c8ae098d264f07d37890412de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert RGB to RGBX. <a href="#a93cc303c8ae098d264f07d37890412de">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002952<tr class="separator:a93cc303c8ae098d264f07d37890412de"><td class="memSeparator" colspan="2">&#160;</td></tr>
2953<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002954<tr class="memdesc:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert RGBX to RGB. <a href="#acf7451c0d0f8a4b1cfbb60d7531a43aa">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002955<tr class="separator:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
2956<tr class="memitem:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memTemplParams" colspan="2">template&lt;bool yuyv, bool alpha&gt; </td></tr>
2957<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002958<tr class="memdesc:a3c22c0d3494660b72b4fc04fec76f92d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert YUYV to RGB. <a href="#a3c22c0d3494660b72b4fc04fec76f92d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002959<tr class="separator:a3c22c0d3494660b72b4fc04fec76f92d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2960<tr class="memitem:ae6a44e412bccc0705a720708b0692218"><td class="memTemplParams" colspan="2">template&lt;bool uv, bool alpha&gt; </td></tr>
2961<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002962<tr class="memdesc:ae6a44e412bccc0705a720708b0692218"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert NV12 to RGB. <a href="#ae6a44e412bccc0705a720708b0692218">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002963<tr class="separator:ae6a44e412bccc0705a720708b0692218"><td class="memSeparator" colspan="2">&#160;</td></tr>
2964<tr class="memitem:a6e42fac1baa264b033ac430b63ebd145"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2965<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002966<tr class="memdesc:a6e42fac1baa264b033ac430b63ebd145"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert IYUV to RGB. <a href="#a6e42fac1baa264b033ac430b63ebd145">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002967<tr class="separator:a6e42fac1baa264b033ac430b63ebd145"><td class="memSeparator" colspan="2">&#160;</td></tr>
2968<tr class="memitem:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
2969<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002970<tr class="memdesc:a8ee13904a3f5ba84b28cb53d956021d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert YUYV to NV12. <a href="#a8ee13904a3f5ba84b28cb53d956021d7">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002971<tr class="separator:a8ee13904a3f5ba84b28cb53d956021d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
2972<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002973<tr class="memdesc:af2be1325decaa34a8a1199af177148c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert IYUV to NV12. <a href="#af2be1325decaa34a8a1199af177148c6">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002974<tr class="separator:af2be1325decaa34a8a1199af177148c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
2975<tr class="memitem:a199d36780fbb4a70168f290480673650"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
2976<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002977<tr class="memdesc:a199d36780fbb4a70168f290480673650"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert NV12 to IYUV. <a href="#a199d36780fbb4a70168f290480673650">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002978<tr class="separator:a199d36780fbb4a70168f290480673650"><td class="memSeparator" colspan="2">&#160;</td></tr>
2979<tr class="memitem:ae43e8f0463c0289169025c3041688d36"><td class="memTemplParams" colspan="2">template&lt;bool yuyv&gt; </td></tr>
2980<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002981<tr class="memdesc:ae43e8f0463c0289169025c3041688d36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert YUYV to IYUV. <a href="#ae43e8f0463c0289169025c3041688d36">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002982<tr class="separator:ae43e8f0463c0289169025c3041688d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
2983<tr class="memitem:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memTemplParams" colspan="2">template&lt;bool uv&gt; </td></tr>
2984<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002985<tr class="memdesc:a587a54c85dcc72838b8f4b5575ebafe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert NV12 to YUV4. <a href="#a587a54c85dcc72838b8f4b5575ebafe4">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002986<tr class="separator:a587a54c85dcc72838b8f4b5575ebafe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
2987<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002988<tr class="memdesc:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert IYUV to YUV4. <a href="#a08e9d88293a5cef787bb324c2dc0a6bf">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002989<tr class="separator:a08e9d88293a5cef787bb324c2dc0a6bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
2990<tr class="memitem:a14fd899b732509e245976b9967b8931d"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2991<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002992<tr class="memdesc:a14fd899b732509e245976b9967b8931d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert RGB to NV12. <a href="#a14fd899b732509e245976b9967b8931d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002993<tr class="separator:a14fd899b732509e245976b9967b8931d"><td class="memSeparator" colspan="2">&#160;</td></tr>
2994<tr class="memitem:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2995<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01002996<tr class="memdesc:a49b7a8e217ba7aad821fdeaab86bad53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert RGB to IYUV. <a href="#a49b7a8e217ba7aad821fdeaab86bad53">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00002997<tr class="separator:a49b7a8e217ba7aad821fdeaab86bad53"><td class="memSeparator" colspan="2">&#160;</td></tr>
2998<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplParams" colspan="2">template&lt;bool alpha&gt; </td></tr>
2999<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01003000<tr class="memdesc:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert RGB to YUV4. <a href="#ad304c0b0a72ed3f65c24fa69ab3cd53e">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003001<tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003002<tr class="memitem:ace593813d742d127296b09fa8ab3f85e"><td class="memItemLeft" align="right" valign="top">float32x4x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ace593813d742d127296b09fa8ab3f85e">vmax2q_f32</a> (float32x4x2_t a, float32x4x2_t b)</td></tr>
3003<tr class="memdesc:ace593813d742d127296b09fa8ab3f85e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. <a href="#ace593813d742d127296b09fa8ab3f85e">More...</a><br /></td></tr>
3004<tr class="separator:ace593813d742d127296b09fa8ab3f85e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3005<tr class="memitem:af7a0f3e622aa4bc8c6077d2262a04e2e"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af7a0f3e622aa4bc8c6077d2262a04e2e">vfloorq_f32</a> (float32x4_t val)</td></tr>
3006<tr class="memdesc:af7a0f3e622aa4bc8c6077d2262a04e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate floor of a vector. <a href="#af7a0f3e622aa4bc8c6077d2262a04e2e">More...</a><br /></td></tr>
3007<tr class="separator:af7a0f3e622aa4bc8c6077d2262a04e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3008<tr class="memitem:afc415e7fc5e633a0b85b08b2bba5b5cf"><td class="memItemLeft" align="right" valign="top">float32x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc415e7fc5e633a0b85b08b2bba5b5cf">vinvsqrt_f32</a> (float32x2_t x)</td></tr>
3009<tr class="memdesc:afc415e7fc5e633a0b85b08b2bba5b5cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#afc415e7fc5e633a0b85b08b2bba5b5cf">More...</a><br /></td></tr>
3010<tr class="separator:afc415e7fc5e633a0b85b08b2bba5b5cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3011<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>
3012<tr class="memdesc:ab8970d7aed07d8649f5e3088455948b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse square root. <a href="#ab8970d7aed07d8649f5e3088455948b8">More...</a><br /></td></tr>
3013<tr class="separator:ab8970d7aed07d8649f5e3088455948b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3014<tr class="memitem:acc6fd1bcd12ef1141e15401a04d31187"><td class="memItemLeft" align="right" valign="top">float32x2_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acc6fd1bcd12ef1141e15401a04d31187">vinv_f32</a> (float32x2_t x)</td></tr>
3015<tr class="memdesc:acc6fd1bcd12ef1141e15401a04d31187"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#acc6fd1bcd12ef1141e15401a04d31187">More...</a><br /></td></tr>
3016<tr class="separator:acc6fd1bcd12ef1141e15401a04d31187"><td class="memSeparator" colspan="2">&#160;</td></tr>
3017<tr class="memitem:a2e0f2412b4d1302272d1aeb85d21ab25"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2e0f2412b4d1302272d1aeb85d21ab25">vinvq_f32</a> (float32x4_t x)</td></tr>
3018<tr class="memdesc:a2e0f2412b4d1302272d1aeb85d21ab25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate reciprocal. <a href="#a2e0f2412b4d1302272d1aeb85d21ab25">More...</a><br /></td></tr>
3019<tr class="separator:a2e0f2412b4d1302272d1aeb85d21ab25"><td class="memSeparator" colspan="2">&#160;</td></tr>
3020<tr class="memitem:a0c10bb00a86edd8d0cd4c33b494f6cd4"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c10bb00a86edd8d0cd4c33b494f6cd4">vtaylor_polyq_f32</a> (float32x4_t x, const std::array&lt; float32x4_t, 8 &gt; &amp;coeffs)</td></tr>
3021<tr class="memdesc:a0c10bb00a86edd8d0cd4c33b494f6cd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a 7th degree polynomial approximation using Estrin's method. <a href="#a0c10bb00a86edd8d0cd4c33b494f6cd4">More...</a><br /></td></tr>
3022<tr class="separator:a0c10bb00a86edd8d0cd4c33b494f6cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3023<tr class="memitem:ab55486f1153a4c5f507d4923b59fc6a0"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab55486f1153a4c5f507d4923b59fc6a0">vexpq_f32</a> (float32x4_t x)</td></tr>
3024<tr class="memdesc:ab55486f1153a4c5f507d4923b59fc6a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate exponential. <a href="#ab55486f1153a4c5f507d4923b59fc6a0">More...</a><br /></td></tr>
3025<tr class="separator:ab55486f1153a4c5f507d4923b59fc6a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3026<tr class="memitem:a1d090b80b655e7f8fd8977bb93808b04"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1d090b80b655e7f8fd8977bb93808b04">vlogq_f32</a> (float32x4_t x)</td></tr>
3027<tr class="memdesc:a1d090b80b655e7f8fd8977bb93808b04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate logarithm. <a href="#a1d090b80b655e7f8fd8977bb93808b04">More...</a><br /></td></tr>
3028<tr class="separator:a1d090b80b655e7f8fd8977bb93808b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
3029<tr class="memitem:a3e59419da344d02daca9c5b274a1da45"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e59419da344d02daca9c5b274a1da45">vtanhq_f32</a> (float32x4_t val)</td></tr>
3030<tr class="memdesc:a3e59419da344d02daca9c5b274a1da45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a3e59419da344d02daca9c5b274a1da45">More...</a><br /></td></tr>
3031<tr class="separator:a3e59419da344d02daca9c5b274a1da45"><td class="memSeparator" colspan="2">&#160;</td></tr>
3032<tr class="memitem:aa6465367a67af2bae4ca46750231dae0"><td class="memItemLeft" align="right" valign="top">float32x4_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa6465367a67af2bae4ca46750231dae0">vpowq_f32</a> (float32x4_t val, float32x4_t n)</td></tr>
3033<tr class="memdesc:aa6465367a67af2bae4ca46750231dae0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate n power of a number. <a href="#aa6465367a67af2bae4ca46750231dae0">More...</a><br /></td></tr>
3034<tr class="separator:aa6465367a67af2bae4ca46750231dae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003035<tr class="memitem:a6452ac376d4adb94d93a93d678bb6757"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6452ac376d4adb94d93a93d678bb6757">round</a> (float x, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy)</td></tr>
3036<tr class="memdesc:a6452ac376d4adb94d93a93d678bb6757"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a rounded value of x. <a href="#a6452ac376d4adb94d93a93d678bb6757">More...</a><br /></td></tr>
3037<tr class="separator:a6452ac376d4adb94d93a93d678bb6757"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003038<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
3039<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>
3040<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>
3041<tr class="separator:a12705a88669cb9fb90451ebe0db53c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003042<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003043<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003044<tr class="memdesc:adf0c6059174045f80af46a0f1fb57bc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the smallest number larger or equal to value that is a multiple of divisor. <a href="#adf0c6059174045f80af46a0f1fb57bc6">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003045<tr class="separator:adf0c6059174045f80af46a0f1fb57bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3046<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplParams" colspan="2">template&lt;typename S , typename T &gt; </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003047<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003048<tr class="memdesc:a6959e681668a37a9242d2aae4e8b4375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the largest number smaller or equal to value that is a multiple of divisor. <a href="#a6959e681668a37a9242d2aae4e8b4375">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003049<tr class="separator:a6959e681668a37a9242d2aae4e8b4375"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003050<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003051<tr class="memdesc:a64c17a5a42d2499a1626222ff9753b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="namespacearm__compute.xhtml" title="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information. <a href="#a64c17a5a42d2499a1626222ff9753b4d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003052<tr class="separator:a64c17a5a42d2499a1626222ff9753b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3053<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003054<tr class="memdesc:aefa4a4d3136d77b85cccfce344f9f37f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load an entire file in memory. <a href="#aefa4a4d3136d77b85cccfce344f9f37f">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003055<tr class="separator:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003056<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003057<tr class="memdesc:abb7e0f23a4f2e63f39433f158dad47ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the data type. <a href="#abb7e0f23a4f2e63f39433f158dad47ab">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003058<tr class="separator:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
3059<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003060<tr class="memdesc:a4823543d67a2520c98669e2a5608ef6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the pixel format. <a href="#a4823543d67a2520c98669e2a5608ef6a">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003061<tr class="separator:a4823543d67a2520c98669e2a5608ef6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3062<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003063<tr class="memdesc:a34b06c0cd94808a77b697e79880b84b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the data type. <a href="#a34b06c0cd94808a77b697e79880b84b0">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003064<tr class="separator:a34b06c0cd94808a77b697e79880b84b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3065<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003066<tr class="memdesc:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the data type used by a given single-planar pixel format. <a href="#a59846ef5ca75cd81cdb7e8a1ce08f9db">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003067<tr class="separator:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
3068<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003069<tr class="memdesc:a4f6fe18760340bcec02d095b7099e923"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the plane index of a given channel given an input format. <a href="#a4f6fe18760340bcec02d095b7099e923">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003070<tr class="separator:a4f6fe18760340bcec02d095b7099e923"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003071<tr class="memitem:afab149f8d8b0f6405303ee8056fa77d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afab149f8d8b0f6405303ee8056fa77d3">channel_idx_from_format</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>
3072<tr class="memdesc:afab149f8d8b0f6405303ee8056fa77d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the channel index of a given channel given an input format. <a href="#afab149f8d8b0f6405303ee8056fa77d3">More...</a><br /></td></tr>
3073<tr class="separator:afab149f8d8b0f6405303ee8056fa77d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003074<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003075<tr class="memdesc:a2a71659def659c8b1c164023a99a25a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of planes for a given format. <a href="#a2a71659def659c8b1c164023a99a25a9">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003076<tr class="separator:a2a71659def659c8b1c164023a99a25a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3077<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003078<tr class="memdesc:ab14153fb809c18823af3c9c8bc4286cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of channels for a given single-planar pixel format. <a href="#ab14153fb809c18823af3c9c8bc4286cb">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003079<tr class="separator:ab14153fb809c18823af3c9c8bc4286cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003080<tr class="memitem:a5e4254e9c71fffafb79b99d972df8f81"><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#a5e4254e9c71fffafb79b99d972df8f81">get_promoted_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
3081<tr class="memdesc:a5e4254e9c71fffafb79b99d972df8f81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the promoted data type of a given data type. <a href="#a5e4254e9c71fffafb79b99d972df8f81">More...</a><br /></td></tr>
3082<tr class="separator:a5e4254e9c71fffafb79b99d972df8f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003083<tr class="memitem:aa2f22cc01532e0236e438324310fdb94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">has_format_horizontal_subsampling</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
3084<tr class="memdesc:aa2f22cc01532e0236e438324310fdb94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if the given format has horizontal subsampling. <a href="#aa2f22cc01532e0236e438324310fdb94">More...</a><br /></td></tr>
3085<tr class="separator:aa2f22cc01532e0236e438324310fdb94"><td class="memSeparator" colspan="2">&#160;</td></tr>
3086<tr class="memitem:a95358b677c5c17f5cc1e369e4a27e2c2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">has_format_vertical_subsampling</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
3087<tr class="memdesc:a95358b677c5c17f5cc1e369e4a27e2c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if the given format has vertical subsampling. <a href="#a95358b677c5c17f5cc1e369e4a27e2c2">More...</a><br /></td></tr>
3088<tr class="separator:a95358b677c5c17f5cc1e369e4a27e2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003089<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003090<tr class="memdesc:a18ec57dffc5c26864be77318111dfb2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Separate a 2D convolution into two 1D convolutions. <a href="#a18ec57dffc5c26864be77318111dfb2a">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003091<tr class="separator:a18ec57dffc5c26864be77318111dfb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3092<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003093<tr class="memdesc:a0101a40c4a6acc2af3b55afa7632f16a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the scale of the given square matrix. <a href="#a0101a40c4a6acc2af3b55afa7632f16a">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003094<tr class="separator:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003095<tr class="memitem:add7f7487c235331a6518dd16ad1e3b38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">adjust_odd_shape</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
3096<tr class="memdesc:add7f7487c235331a6518dd16ad1e3b38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjust tensor shape size if width or height are odd for a given multi-planar format. <a href="#add7f7487c235331a6518dd16ad1e3b38">More...</a><br /></td></tr>
3097<tr class="separator:add7f7487c235331a6518dd16ad1e3b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
3098<tr class="memitem:a9d714e1b7d9d7818309138b7d830ebcb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d714e1b7d9d7818309138b7d830ebcb">calculate_subsampled_shape</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel=<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">Channel::UNKNOWN</a>)</td></tr>
3099<tr class="memdesc:a9d714e1b7d9d7818309138b7d830ebcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate subsampled shape for a given format and channel. <a href="#a9d714e1b7d9d7818309138b7d830ebcb">More...</a><br /></td></tr>
3100<tr class="separator:a9d714e1b7d9d7818309138b7d830ebcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003101<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003102<tr class="memdesc:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate accurary required by the horizontal and vertical convolution computations. <a href="#a01adc12d8e07c06cdb0f03c56a455bf3">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003103<tr class="separator:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003104<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003105<tr class="memdesc:a3992df9e8723140a53e49dc194d89ef5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the accuracy required by the squared convolution calculation. <a href="#a3992df9e8723140a53e49dc194d89ef5">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003106<tr class="separator:a3992df9e8723140a53e49dc194d89ef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003107<tr class="memitem:afa7962c747457714d0944af80cb07058"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa7962c747457714d0944af80cb07058">calculate_same_pad</a> (<a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> input_shape, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> weights_shape, <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> conv_info)</td></tr>
3108<tr class="memdesc:afa7962c747457714d0944af80cb07058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate padding requirements in case of SAME padding. <a href="#afa7962c747457714d0944af80cb07058">More...</a><br /></td></tr>
3109<tr class="separator:afa7962c747457714d0944af80cb07058"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003110<tr class="memitem:a7d57332eb91a8735f173556b3caf6236"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7d57332eb91a8735f173556b3caf6236">deconvolution_output_shape</a> (const std::pair&lt; unsigned int, unsigned int &gt; &amp;out_dims, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> input, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> weights)</td></tr>
3111<tr class="memdesc:a7d57332eb91a8735f173556b3caf6236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected shape for the deconvolution output tensor. <a href="#a7d57332eb91a8735f173556b3caf6236">More...</a><br /></td></tr>
3112<tr class="separator:a7d57332eb91a8735f173556b3caf6236"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003113<tr class="memitem:a5c7b26988083a67a91cd3e7962f38521"><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#a5c7b26988083a67a91cd3e7962f38521">deconvolution_output_dimensions</a> (unsigned int in_width, unsigned int in_height, unsigned int kernel_width, unsigned int kernel_height, unsigned int padx, unsigned int pady, unsigned int inner_border_right, unsigned int inner_border_top, unsigned int stride_x, unsigned int stride_y)</td></tr>
3114<tr class="memdesc:a5c7b26988083a67a91cd3e7962f38521"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected width and height of the deconvolution's output tensor. <a href="#a5c7b26988083a67a91cd3e7962f38521">More...</a><br /></td></tr>
3115<tr class="separator:a5c7b26988083a67a91cd3e7962f38521"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003116<tr class="memitem:ac78192301777700de24d8c75667baf35"><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#ac78192301777700de24d8c75667baf35">scaled_dimensions</a> (unsigned int width, unsigned int height, unsigned int kernel_width, unsigned int kernel_height, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;pad_stride_info, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;dilation=<a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>(1U, 1U))</td></tr>
3117<tr class="memdesc:ac78192301777700de24d8c75667baf35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns expected width and height of output scaled tensor depending on dimensions rounding mode. <a href="#ac78192301777700de24d8c75667baf35">More...</a><br /></td></tr>
3118<tr class="separator:ac78192301777700de24d8c75667baf35"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003119<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003120<tr class="memdesc:a9c92c867fc64454545668d87b20979eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a tensor format into a string. <a href="#a9c92c867fc64454545668d87b20979eb">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003121<tr class="separator:a9c92c867fc64454545668d87b20979eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3122<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003123<tr class="memdesc:a106c203dd6af234d38452ea0ee7b2ddc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a channel identity into a string. <a href="#a106c203dd6af234d38452ea0ee7b2ddc">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003124<tr class="separator:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003125<tr class="memitem:aa7755f939796ad7076886813ff89ed77"><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#aa7755f939796ad7076886813ff89ed77">string_from_data_layout</a> (<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> dl)</td></tr>
3126<tr class="memdesc:aa7755f939796ad7076886813ff89ed77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a data layout identity into a string. <a href="#aa7755f939796ad7076886813ff89ed77">More...</a><br /></td></tr>
3127<tr class="separator:aa7755f939796ad7076886813ff89ed77"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003128<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003129<tr class="memdesc:aefa1d9648995e5eccc693c690e27aa88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a data type identity into a string. <a href="#aefa1d9648995e5eccc693c690e27aa88">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003130<tr class="separator:aefa1d9648995e5eccc693c690e27aa88"><td class="memSeparator" colspan="2">&#160;</td></tr>
3131<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003132<tr class="memdesc:a018795ab2489d17309e158ff5c060ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a matrix pattern into a string. <a href="#a018795ab2489d17309e158ff5c060ab1">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003133<tr class="separator:a018795ab2489d17309e158ff5c060ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3134<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003135<tr class="memdesc:ac955c978e18cc9bf6daea31f13076fba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given activation function to a string. <a href="#ac955c978e18cc9bf6daea31f13076fba">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003136<tr class="separator:ac955c978e18cc9bf6daea31f13076fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
3137<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003138<tr class="memdesc:a14831547f57ecf5f0deef888ad41ad30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given non linear function to a string. <a href="#a14831547f57ecf5f0deef888ad41ad30">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003139<tr class="separator:a14831547f57ecf5f0deef888ad41ad30"><td class="memSeparator" colspan="2">&#160;</td></tr>
3140<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003141<tr class="memdesc:ade34f5e72f050fd3665f3294dfb15850"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given interpolation policy to a string. <a href="#ade34f5e72f050fd3665f3294dfb15850">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003142<tr class="separator:ade34f5e72f050fd3665f3294dfb15850"><td class="memSeparator" colspan="2">&#160;</td></tr>
3143<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003144<tr class="memdesc:abd15add5c6c7de5c8205ce236875aadd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given border mode policy to a string. <a href="#abd15add5c6c7de5c8205ce236875aadd">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003145<tr class="separator:abd15add5c6c7de5c8205ce236875aadd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003146<tr class="memitem:afb5698af5404d5d11e3516c87b6e7041"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afb5698af5404d5d11e3516c87b6e7041">string_from_norm_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> type)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003147<tr class="memdesc:afb5698af5404d5d11e3516c87b6e7041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given normalization type to a string. <a href="#afb5698af5404d5d11e3516c87b6e7041">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003148<tr class="separator:afb5698af5404d5d11e3516c87b6e7041"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003149<tr class="memitem:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a84a03e85d2c40bf54ec8cdd5e3715c58">string_from_pooling_type</a> (<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> type)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003150<tr class="memdesc:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a given pooling type to a string. <a href="#a84a03e85d2c40bf54ec8cdd5e3715c58">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003151<tr class="separator:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003152<tr class="memitem:a532fb45c0261724a4c2e755cfd3a44e6"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a532fb45c0261724a4c2e755cfd3a44e6">lower_string</a> (const std::string &amp;val)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003153<tr class="memdesc:a532fb45c0261724a4c2e755cfd3a44e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower a given string. <a href="#a532fb45c0261724a4c2e755cfd3a44e6">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003154<tr class="separator:a532fb45c0261724a4c2e755cfd3a44e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003155<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003156<tr class="memdesc:af5982a092e9eb743fce2d6392bdd8897"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a given data type is of floating point type. <a href="#af5982a092e9eb743fce2d6392bdd8897">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003157<tr class="separator:af5982a092e9eb743fce2d6392bdd8897"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003158<tr class="memitem:a0bee325b210f81bb89fe1f9e15badf9c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0bee325b210f81bb89fe1f9e15badf9c">is_data_type_quantized</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
3159<tr class="memdesc:a0bee325b210f81bb89fe1f9e15badf9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a given data type is of quantized type. <a href="#a0bee325b210f81bb89fe1f9e15badf9c">More...</a><br /></td></tr>
3160<tr class="separator:a0bee325b210f81bb89fe1f9e15badf9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003161<tr class="memitem:a14f46283f316e7f0fad301d5c1507e9f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
3162<tr class="memdesc:a14f46283f316e7f0fad301d5c1507e9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a given data type is of asymmetric quantized type. <a href="#a14f46283f316e7f0fad301d5c1507e9f">More...</a><br /></td></tr>
3163<tr class="separator:a14f46283f316e7f0fad301d5c1507e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003164<tr class="memitem:a9cd394c15b73f79ca1d98f5328064be2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">float_to_string_with_full_precision</a> (float val)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003165<tr class="memdesc:a9cd394c15b73f79ca1d98f5328064be2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a string with the float in full precision. <a href="#a9cd394c15b73f79ca1d98f5328064be2">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003166<tr class="separator:a9cd394c15b73f79ca1d98f5328064be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003167<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3168<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003169<tr class="memdesc:aa3a28b8acd21301990e06377c64e1276"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#aa3a28b8acd21301990e06377c64e1276">More...</a><br /></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003170<tr class="separator:aa3a28b8acd21301990e06377c64e1276"><td class="memSeparator" colspan="2">&#160;</td></tr>
3171<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3172<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003173<tr class="memdesc:aaecee617b967dd96f27d2f36732fb68e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#aaecee617b967dd96f27d2f36732fb68e">More...</a><br /></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003174<tr class="separator:aaecee617b967dd96f27d2f36732fb68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3175<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003176<tr class="memdesc:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#a51a0d2ae440bc8cab3fbbe84bfea8b1d">More...</a><br /></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003177<tr class="separator:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3178<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003179<tr class="memdesc:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#ac3f2de3a35ff8d9a47b5b793637784e7">More...</a><br /></td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +01003180<tr class="separator:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003181<tr class="memitem:af4587cd36ddbf2e4dde217d1a1007940"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3182<tr class="memitem:af4587cd36ddbf2e4dde217d1a1007940"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">error_on_nullptr</a> (const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</td></tr>
3183<tr class="memdesc:af4587cd36ddbf2e4dde217d1a1007940"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an error if one of the pointers is a nullptr. <a href="#af4587cd36ddbf2e4dde217d1a1007940">More...</a><br /></td></tr>
3184<tr class="separator:af4587cd36ddbf2e4dde217d1a1007940"><td class="memSeparator" colspan="2">&#160;</td></tr>
3185<tr class="memitem:a75738bb24f735248ab9584cd24544234"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a75738bb24f735248ab9584cd24544234">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>
3186<tr class="memdesc:a75738bb24f735248ab9584cd24544234"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed window is invalid. <a href="#a75738bb24f735248ab9584cd24544234">More...</a><br /></td></tr>
3187<tr class="separator:a75738bb24f735248ab9584cd24544234"><td class="memSeparator" colspan="2">&#160;</td></tr>
3188<tr class="memitem:aceb8dd0f6a4e2539b39b5a69a1c345b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aceb8dd0f6a4e2539b39b5a69a1c345b4">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>
3189<tr class="memdesc:aceb8dd0f6a4e2539b39b5a69a1c345b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed subwindow is invalid. <a href="#aceb8dd0f6a4e2539b39b5a69a1c345b4">More...</a><br /></td></tr>
3190<tr class="separator:aceb8dd0f6a4e2539b39b5a69a1c345b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3191<tr class="memitem:a220627e9e23de1058191022aea58e1cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a220627e9e23de1058191022aea58e1cf">error_on_window_not_collapsable_at_dimension</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;window, const int dim)</td></tr>
3192<tr class="memdesc:a220627e9e23de1058191022aea58e1cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the window can't be collapsed at the given dimension. <a href="#a220627e9e23de1058191022aea58e1cf">More...</a><br /></td></tr>
3193<tr class="separator:a220627e9e23de1058191022aea58e1cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3194<tr class="memitem:a454f8112fcca60b99883f19ff43daf9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a454f8112fcca60b99883f19ff43daf9f">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>
3195<tr class="memdesc:a454f8112fcca60b99883f19ff43daf9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed coordinates have too many dimensions. <a href="#a454f8112fcca60b99883f19ff43daf9f">More...</a><br /></td></tr>
3196<tr class="separator:a454f8112fcca60b99883f19ff43daf9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3197<tr class="memitem:a1b1ebe735a15f66be7ebe8dccdbcee15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1b1ebe735a15f66be7ebe8dccdbcee15">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>
3198<tr class="memdesc:a1b1ebe735a15f66be7ebe8dccdbcee15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed window has too many dimensions. <a href="#a1b1ebe735a15f66be7ebe8dccdbcee15">More...</a><br /></td></tr>
3199<tr class="separator:a1b1ebe735a15f66be7ebe8dccdbcee15"><td class="memSeparator" colspan="2">&#160;</td></tr>
3200<tr class="memitem:ab3f385292b90327061e1276f3e3445c7"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3201<tr class="memitem:ab3f385292b90327061e1276f3e3445c7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab3f385292b90327061e1276f3e3445c7">error_on_mismatching_dimensions</a> (const char *function, const char *file, int line, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dim1, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dim2, Ts &amp;&amp;...dims)</td></tr>
3202<tr class="memdesc:ab3f385292b90327061e1276f3e3445c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed dimension objects differ. <a href="#ab3f385292b90327061e1276f3e3445c7">More...</a><br /></td></tr>
3203<tr class="separator:ab3f385292b90327061e1276f3e3445c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003204<tr class="memitem:a5bee409f8a6904df028626835b3a19be"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3205<tr class="memitem:a5bee409f8a6904df028626835b3a19be"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5bee409f8a6904df028626835b3a19be">error_on_tensors_not_even</a> (const char *function, const char *file, int line, const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;format, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor1, Ts...tensors)</td></tr>
3206<tr class="memdesc:a5bee409f8a6904df028626835b3a19be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor objects are not even. <a href="#a5bee409f8a6904df028626835b3a19be">More...</a><br /></td></tr>
3207<tr class="separator:a5bee409f8a6904df028626835b3a19be"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003208<tr class="memitem:ade35257cf58582ca7c3f6c7d1ceff5f2"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3209<tr class="memitem:ade35257cf58582ca7c3f6c7d1ceff5f2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade35257cf58582ca7c3f6c7d1ceff5f2">error_on_tensors_not_subsampled</a> (const char *function, const char *file, int line, const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;format, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor1, Ts...tensors)</td></tr>
3210<tr class="memdesc:ade35257cf58582ca7c3f6c7d1ceff5f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor objects are not sub-sampled. <a href="#ade35257cf58582ca7c3f6c7d1ceff5f2">More...</a><br /></td></tr>
3211<tr class="separator:ade35257cf58582ca7c3f6c7d1ceff5f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003212<tr class="memitem:aea117e0cebca5f4642ed3f269217a09e"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3213<tr class="memitem:aea117e0cebca5f4642ed3f269217a09e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">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_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
3214<tr class="memdesc:aea117e0cebca5f4642ed3f269217a09e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensor infos have different shapes from the given dimension. <a href="#aea117e0cebca5f4642ed3f269217a09e">More...</a><br /></td></tr>
3215<tr class="separator:aea117e0cebca5f4642ed3f269217a09e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3216<tr class="memitem:a41328dd4b943d34c1cc61410571fd6fa"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3217<tr class="memitem:a41328dd4b943d34c1cc61410571fd6fa"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41328dd4b943d34c1cc61410571fd6fa">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>
3218<tr class="memdesc:a41328dd4b943d34c1cc61410571fd6fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different shapes from the given dimension. <a href="#a41328dd4b943d34c1cc61410571fd6fa">More...</a><br /></td></tr>
3219<tr class="separator:a41328dd4b943d34c1cc61410571fd6fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
3220<tr class="memitem:aac6150cce1c9c666600e4b320a0066e9"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3221<tr class="memitem:aac6150cce1c9c666600e4b320a0066e9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aac6150cce1c9c666600e4b320a0066e9">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, unsigned int upper_dim, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
3222<tr class="memdesc:aac6150cce1c9c666600e4b320a0066e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different shapes from the given dimension. <a href="#aac6150cce1c9c666600e4b320a0066e9">More...</a><br /></td></tr>
3223<tr class="separator:aac6150cce1c9c666600e4b320a0066e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3224<tr class="memitem:afa04b5bdea84e0effab066e3b1324ec5"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3225<tr class="memitem:afa04b5bdea84e0effab066e3b1324ec5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, unsigned int upper_dim, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
3226<tr class="memdesc:afa04b5bdea84e0effab066e3b1324ec5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different shapes from the given dimension. <a href="#afa04b5bdea84e0effab066e3b1324ec5">More...</a><br /></td></tr>
3227<tr class="separator:afa04b5bdea84e0effab066e3b1324ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003228<tr class="memitem:adc72c7263d6751e6e1a71fd33c6f8955"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3229<tr class="memitem:adc72c7263d6751e6e1a71fd33c6f8955"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adc72c7263d6751e6e1a71fd33c6f8955">error_on_mismatching_data_layouts</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, Ts...tensor_infos)</td></tr>
3230<tr class="memdesc:adc72c7263d6751e6e1a71fd33c6f8955"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor infos have different data layouts. <a href="#adc72c7263d6751e6e1a71fd33c6f8955">More...</a><br /></td></tr>
3231<tr class="separator:adc72c7263d6751e6e1a71fd33c6f8955"><td class="memSeparator" colspan="2">&#160;</td></tr>
3232<tr class="memitem:a8571c7d34a35bcbddf5e4e2538ea0b10"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3233<tr class="memitem:a8571c7d34a35bcbddf5e4e2538ea0b10"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8571c7d34a35bcbddf5e4e2538ea0b10">error_on_mismatching_data_layouts</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, Ts...tensors)</td></tr>
3234<tr class="memdesc:a8571c7d34a35bcbddf5e4e2538ea0b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensors have different data layouts. <a href="#a8571c7d34a35bcbddf5e4e2538ea0b10">More...</a><br /></td></tr>
3235<tr class="separator:a8571c7d34a35bcbddf5e4e2538ea0b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003236<tr class="memitem:a00672eb7b5db5f6396b39b241eaf12f7"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3237<tr class="memitem:a00672eb7b5db5f6396b39b241eaf12f7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">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_info.xhtml">ITensorInfo</a> *tensor_info, Ts...tensor_infos)</td></tr>
3238<tr class="memdesc:a00672eb7b5db5f6396b39b241eaf12f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensor infos have different data types. <a href="#a00672eb7b5db5f6396b39b241eaf12f7">More...</a><br /></td></tr>
3239<tr class="separator:a00672eb7b5db5f6396b39b241eaf12f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3240<tr class="memitem:a709c2aef39aa212b840c6395fc20ce17"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3241<tr class="memitem:a709c2aef39aa212b840c6395fc20ce17"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a709c2aef39aa212b840c6395fc20ce17">error_on_mismatching_data_types</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, Ts...tensors)</td></tr>
3242<tr class="memdesc:a709c2aef39aa212b840c6395fc20ce17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed two tensors have different data types. <a href="#a709c2aef39aa212b840c6395fc20ce17">More...</a><br /></td></tr>
3243<tr class="separator:a709c2aef39aa212b840c6395fc20ce17"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003244<tr class="memitem:af4c3199d58278db542e1cdfb72a41901"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3245<tr class="memitem:af4c3199d58278db542e1cdfb72a41901"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">error_on_mismatching_quantization_info</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
3246<tr class="memdesc:af4c3199d58278db542e1cdfb72a41901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor infos have different asymmetric quantized data types or different quantization info. <a href="#af4c3199d58278db542e1cdfb72a41901">More...</a><br /></td></tr>
3247<tr class="separator:af4c3199d58278db542e1cdfb72a41901"><td class="memSeparator" colspan="2">&#160;</td></tr>
3248<tr class="memitem:a5be375b525bba68610a75da0a043df3a"><td class="memTemplParams" colspan="2">template&lt;typename... Ts&gt; </td></tr>
3249<tr class="memitem:a5be375b525bba68610a75da0a043df3a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5be375b525bba68610a75da0a043df3a">error_on_mismatching_quantization_info</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>
3250<tr class="memdesc:a5be375b525bba68610a75da0a043df3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the passed tensor have different asymmetric quantized data types or different quantization info. <a href="#a5be375b525bba68610a75da0a043df3a">More...</a><br /></td></tr>
3251<tr class="separator:a5be375b525bba68610a75da0a043df3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003252<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplParams" colspan="2">template&lt;typename T , typename F , typename... Fs&gt; </td></tr>
3253<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003254<tr class="memdesc:a0b360558b516e256f0af005a164c674e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. <a href="#a0b360558b516e256f0af005a164c674e">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003255<tr class="separator:a0b360558b516e256f0af005a164c674e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003256<tr class="memitem:a774ec1fdc7bd1e7973c866d13734bc21"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3257<tr class="memitem:a774ec1fdc7bd1e7973c866d13734bc21"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">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_info.xhtml">ITensorInfo</a> *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
3258<tr class="memdesc:a774ec1fdc7bd1e7973c866d13734bc21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor info does not match any of the data types provided. <a href="#a774ec1fdc7bd1e7973c866d13734bc21">More...</a><br /></td></tr>
3259<tr class="separator:a774ec1fdc7bd1e7973c866d13734bc21"><td class="memSeparator" colspan="2">&#160;</td></tr>
3260<tr class="memitem:a4ae0ca8176fce8caa48601dc8324ca97"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3261<tr class="memitem:a4ae0ca8176fce8caa48601dc8324ca97"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ae0ca8176fce8caa48601dc8324ca97">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>
3262<tr class="memdesc:a4ae0ca8176fce8caa48601dc8324ca97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor does not match any of the data types provided. <a href="#a4ae0ca8176fce8caa48601dc8324ca97">More...</a><br /></td></tr>
3263<tr class="separator:a4ae0ca8176fce8caa48601dc8324ca97"><td class="memSeparator" colspan="2">&#160;</td></tr>
3264<tr class="memitem:a499a45039b9bba66384504843d5823d4"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3265<tr class="memitem:a499a45039b9bba66384504843d5823d4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a499a45039b9bba66384504843d5823d4">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_info.xhtml">ITensorInfo</a> *tensor_info, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...dts)</td></tr>
3266<tr class="memdesc:a499a45039b9bba66384504843d5823d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type or the number of channels of the passed tensor info does not match any of the data types and number of channels provided. <a href="#a499a45039b9bba66384504843d5823d4">More...</a><br /></td></tr>
3267<tr class="separator:a499a45039b9bba66384504843d5823d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3268<tr class="memitem:ad3137e73dbd78133d25751abd84540d8"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3269<tr class="memitem:ad3137e73dbd78133d25751abd84540d8"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">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>
3270<tr class="memdesc:ad3137e73dbd78133d25751abd84540d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 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="#ad3137e73dbd78133d25751abd84540d8">More...</a><br /></td></tr>
3271<tr class="separator:ad3137e73dbd78133d25751abd84540d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003272<tr class="memitem:a76433394f276fbc92390850a15bd2cae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a76433394f276fbc92390850a15bd2cae">error_on_unsupported_fp16</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, bool is_fp16_supported)</td></tr>
3273<tr class="memdesc:a76433394f276fbc92390850a15bd2cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor info is FP16 and FP16 extension is not supported by the device. <a href="#a76433394f276fbc92390850a15bd2cae">More...</a><br /></td></tr>
3274<tr class="separator:a76433394f276fbc92390850a15bd2cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
3275<tr class="memitem:aea2b331c31943c1f726c9f552348c89c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aea2b331c31943c1f726c9f552348c89c">error_on_unsupported_fp16</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, bool is_fp16_supported)</td></tr>
3276<tr class="memdesc:aea2b331c31943c1f726c9f552348c89c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the data type of the passed tensor is FP16 and FP16 extension is not supported by the device. <a href="#aea2b331c31943c1f726c9f552348c89c">More...</a><br /></td></tr>
3277<tr class="separator:aea2b331c31943c1f726c9f552348c89c"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003278<tr class="memitem:a9f37a1ead28d12ce216e27209dae2a81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f37a1ead28d12ce216e27209dae2a81">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>
3279<tr class="memdesc:a9f37a1ead28d12ce216e27209dae2a81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the tensor is not 2D. <a href="#a9f37a1ead28d12ce216e27209dae2a81">More...</a><br /></td></tr>
3280<tr class="separator:a9f37a1ead28d12ce216e27209dae2a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003281<tr class="memitem:a6aca7957ee1166144ae3999c7cf42d29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6aca7957ee1166144ae3999c7cf42d29">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_info.xhtml">ITensorInfo</a> *tensor)</td></tr>
3282<tr class="memdesc:a6aca7957ee1166144ae3999c7cf42d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the tensor info is not 2D. <a href="#a6aca7957ee1166144ae3999c7cf42d29">More...</a><br /></td></tr>
3283<tr class="separator:a6aca7957ee1166144ae3999c7cf42d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003284<tr class="memitem:ae7fcde610527b8fa3d9acdf398187962"><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Ts&gt; </td></tr>
3285<tr class="memitem:ae7fcde610527b8fa3d9acdf398187962"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae7fcde610527b8fa3d9acdf398187962">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>
3286<tr class="memdesc:ae7fcde610527b8fa3d9acdf398187962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the channel is not in channels. <a href="#ae7fcde610527b8fa3d9acdf398187962">More...</a><br /></td></tr>
3287<tr class="separator:ae7fcde610527b8fa3d9acdf398187962"><td class="memSeparator" colspan="2">&#160;</td></tr>
3288<tr class="memitem:aa2af31a4685af1fb5ecef784c5e96da0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2af31a4685af1fb5ecef784c5e96da0">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>
3289<tr class="memdesc:aa2af31a4685af1fb5ecef784c5e96da0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the channel is not in format. <a href="#aa2af31a4685af1fb5ecef784c5e96da0">More...</a><br /></td></tr>
3290<tr class="separator:aa2af31a4685af1fb5ecef784c5e96da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3291<tr class="memitem:adf16abfe081654f8bb2b9a4fee09100e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf16abfe081654f8bb2b9a4fee09100e">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>
3292<tr class="memdesc:adf16abfe081654f8bb2b9a4fee09100e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 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="#adf16abfe081654f8bb2b9a4fee09100e">More...</a><br /></td></tr>
3293<tr class="separator:adf16abfe081654f8bb2b9a4fee09100e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3294<tr class="memitem:a33278ff3c7798e50c453599576f58bd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a33278ff3c7798e50c453599576f58bd8">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>
3295<tr class="memdesc:a33278ff3c7798e50c453599576f58bd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the kernel is not configured. <a href="#a33278ff3c7798e50c453599576f58bd8">More...</a><br /></td></tr>
3296<tr class="separator:a33278ff3c7798e50c453599576f58bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
3297<tr class="memitem:a7fdf77ab857ef3a644eef09389cc808d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7fdf77ab857ef3a644eef09389cc808d">error_on_invalid_subtensor</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;parent_shape, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;coords, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape)</td></tr>
3298<tr class="memdesc:a7fdf77ab857ef3a644eef09389cc808d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if if the coordinates and shape of the subtensor are within the parent tensor. <a href="#a7fdf77ab857ef3a644eef09389cc808d">More...</a><br /></td></tr>
3299<tr class="separator:a7fdf77ab857ef3a644eef09389cc808d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3300<tr class="memitem:a74dd77930a4d0ccf755c1cc648601c63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74dd77930a4d0ccf755c1cc648601c63">error_on_invalid_subtensor_valid_region</a> (const char *function, const char *file, const int line, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;parent_valid_region, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;valid_region)</td></tr>
3301<tr class="memdesc:a74dd77930a4d0ccf755c1cc648601c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an error if the valid region of a subtensor is not inside the valid region of the parent tensor. <a href="#a74dd77930a4d0ccf755c1cc648601c63">More...</a><br /></td></tr>
3302<tr class="separator:a74dd77930a4d0ccf755c1cc648601c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003303<tr class="memitem:afe3b7128bf77dd12c85eed944fe5b3d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afe3b7128bf77dd12c85eed944fe5b3d4">convert_window_coord_to_position</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;w, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;<a class="el" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>)</td></tr>
3304<tr class="memdesc:afe3b7128bf77dd12c85eed944fe5b3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an offset in window steps into absolute coordinates. <a href="#afe3b7128bf77dd12c85eed944fe5b3d4">More...</a><br /></td></tr>
3305<tr class="separator:afe3b7128bf77dd12c85eed944fe5b3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3306<tr class="memitem:aaf5f536bf7ec25ff83b912badcf61405"><td class="memTemplParams" colspan="2">template&lt;typename L &gt; </td></tr>
3307<tr class="memitem:aaf5f536bf7ec25ff83b912badcf61405"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window_iterator.xhtml">WindowIterator</a>&lt; L &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaf5f536bf7ec25ff83b912badcf61405">create_window_iterator</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;w, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;start, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;end, L &amp;&amp;lambda_function)</td></tr>
3308<tr class="memdesc:aaf5f536bf7ec25ff83b912badcf61405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window. ">WindowIterator</a> object. <a href="#aaf5f536bf7ec25ff83b912badcf61405">More...</a><br /></td></tr>
3309<tr class="separator:aaf5f536bf7ec25ff83b912badcf61405"><td class="memSeparator" colspan="2">&#160;</td></tr>
3310<tr class="memitem:ade65ba63cdf4becce903866f4a59815e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade65ba63cdf4becce903866f4a59815e">data_type_from_name</a> (const std::string &amp;name)</td></tr>
3311<tr class="memdesc:ade65ba63cdf4becce903866f4a59815e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. <a href="#ade65ba63cdf4becce903866f4a59815e">More...</a><br /></td></tr>
3312<tr class="separator:ade65ba63cdf4becce903866f4a59815e"><td class="memSeparator" colspan="2">&#160;</td></tr>
3313<tr class="memitem:a7cec6ed141f3eb1d6330533a90bba9e1"><td class="memItemLeft" align="right" valign="top">inline::std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7cec6ed141f3eb1d6330533a90bba9e1">operator&gt;&gt;</a> (::std::istream &amp;stream, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;data_type)</td></tr>
3314<tr class="memdesc:a7cec6ed141f3eb1d6330533a90bba9e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. <a href="#a7cec6ed141f3eb1d6330533a90bba9e1">More...</a><br /></td></tr>
3315<tr class="separator:a7cec6ed141f3eb1d6330533a90bba9e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
3316<tr class="memitem:a70c6f92f6b74982b31716cfd2fdf612a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">data_layout_from_name</a> (const std::string &amp;name)</td></tr>
3317<tr class="memdesc:a70c6f92f6b74982b31716cfd2fdf612a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. <a href="#a70c6f92f6b74982b31716cfd2fdf612a">More...</a><br /></td></tr>
3318<tr class="separator:a70c6f92f6b74982b31716cfd2fdf612a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3319<tr class="memitem:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="memItemLeft" align="right" valign="top">inline::std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c4a3d0e80938810dd7b22b16785f5c8">operator&gt;&gt;</a> (::std::istream &amp;stream, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;data_layout)</td></tr>
3320<tr class="memdesc:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. <a href="#a9c4a3d0e80938810dd7b22b16785f5c8">More...</a><br /></td></tr>
3321<tr class="separator:a9c4a3d0e80938810dd7b22b16785f5c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003322<tr class="memitem:aba90ba1790209a7ec569f3ce897be586"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba90ba1790209a7ec569f3ce897be586">get_cpu_configuration</a> (<a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a> &amp;cpuinfo)</td></tr>
3323<tr class="memdesc:aba90ba1790209a7ec569f3ce897be586"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will try to detect the CPU configuration on the system and will fill the cpuinfo object accordingly to reflect this. <a href="#aba90ba1790209a7ec569f3ce897be586">More...</a><br /></td></tr>
3324<tr class="separator:aba90ba1790209a7ec569f3ce897be586"><td class="memSeparator" colspan="2">&#160;</td></tr>
3325<tr class="memitem:a075f941d6e53f1513d8964043a3d809b"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a075f941d6e53f1513d8964043a3d809b">get_threads_hint</a> ()</td></tr>
3326<tr class="memdesc:a075f941d6e53f1513d8964043a3d809b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some systems have both big and small cores, this fuction computes the minimum number of cores that are exactly the same on the system. <a href="#a075f941d6e53f1513d8964043a3d809b">More...</a><br /></td></tr>
3327<tr class="separator:a075f941d6e53f1513d8964043a3d809b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003328<tr class="memitem:aa5191117dc677a74552769b87131b1b6"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa5191117dc677a74552769b87131b1b6">string_from_scheduler_type</a> (<a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> t)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003329<tr class="memdesc:aa5191117dc677a74552769b87131b1b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7" title="Scheduler type. ">Scheduler::Type</a> into a string. <a href="#aa5191117dc677a74552769b87131b1b6">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003330<tr class="separator:aa5191117dc677a74552769b87131b1b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003331<tr class="memitem:af3985189d478b45014e7dead9d002e2a"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af3985189d478b45014e7dead9d002e2a">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> &amp;dim)</td></tr>
3332<tr class="memdesc:af3985189d478b45014e7dead9d002e2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the GradientDimension type. <a href="#af3985189d478b45014e7dead9d002e2a">More...</a><br /></td></tr>
3333<tr class="separator:af3985189d478b45014e7dead9d002e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3334<tr class="memitem:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab75d8ff29ba9b398d5740b3efd156e71">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> &amp;type)</td></tr>
3335<tr class="memdesc:ab75d8ff29ba9b398d5740b3efd156e71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the GradientDimension type. <a href="#ab75d8ff29ba9b398d5740b3efd156e71">More...</a><br /></td></tr>
3336<tr class="separator:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003337<tr class="memitem:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memItemLeft" align="right" valign="top">inline::std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1379e5f8a8b4640d7a52d901f0539ccd">operator&gt;&gt;</a> (::std::istream &amp;is, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;mode)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003338<tr class="memdesc:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted input of the BorderMode type. <a href="#a1379e5f8a8b4640d7a52d901f0539ccd">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003339<tr class="separator:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003340<tr class="memitem:ad023d4ca1d3facf3975c941fd728a6f4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3341<tr class="memitem:ad023d4ca1d3facf3975c941fd728a6f4"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad023d4ca1d3facf3975c941fd728a6f4">to_string_if_not_null</a> (T *arg)</td></tr>
3342<tr class="memdesc:ad023d4ca1d3facf3975c941fd728a6f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output if arg is not null. <a href="#ad023d4ca1d3facf3975c941fd728a6f4">More...</a><br /></td></tr>
3343<tr class="separator:ad023d4ca1d3facf3975c941fd728a6f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003344<tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3345<tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18d43401e8f84ed020429b41ec4e99f5">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dimensions)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003346<tr class="memdesc:a18d43401e8f84ed020429b41ec4e99f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. <a href="#a18d43401e8f84ed020429b41ec4e99f5">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003347<tr class="separator:a18d43401e8f84ed020429b41ec4e99f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003348<tr class="memitem:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae8c2a3451bcf739a75aa7438e7a78d45">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;function)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003349<tr class="memdesc:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the NonLinearFilterFunction type. <a href="#ae8c2a3451bcf739a75aa7438e7a78d45">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003350<tr class="separator:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
3351<tr class="memitem:aabe16be22edb41656e66ed9eae3b69e6"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aabe16be22edb41656e66ed9eae3b69e6">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;function)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003352<tr class="memdesc:aabe16be22edb41656e66ed9eae3b69e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the NonLinearFilterFunction type. <a href="#aabe16be22edb41656e66ed9eae3b69e6">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003353<tr class="separator:aabe16be22edb41656e66ed9eae3b69e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
3354<tr class="memitem:acec416ec5af175a7aad47a518fefb770"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acec416ec5af175a7aad47a518fefb770">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;pattern)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003355<tr class="memdesc:acec416ec5af175a7aad47a518fefb770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the MatrixPattern type. <a href="#acec416ec5af175a7aad47a518fefb770">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003356<tr class="separator:acec416ec5af175a7aad47a518fefb770"><td class="memSeparator" colspan="2">&#160;</td></tr>
3357<tr class="memitem:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a27f0ebddef1b83e0ac31c7a7a23a8d36">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;pattern)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003358<tr class="memdesc:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the MatrixPattern type. <a href="#a27f0ebddef1b83e0ac31c7a7a23a8d36">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003359<tr class="separator:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003360<tr class="memitem:a295edc9f8caf95838db2c5e251153514"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a295edc9f8caf95838db2c5e251153514">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &amp;rounding_policy)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003361<tr class="memdesc:a295edc9f8caf95838db2c5e251153514"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the RoundingPolicy type. <a href="#a295edc9f8caf95838db2c5e251153514">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003362<tr class="separator:a295edc9f8caf95838db2c5e251153514"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003363<tr class="memitem:a5972c7131d378f567af9c2961f088a0b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5972c7131d378f567af9c2961f088a0b">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &amp;weights_info)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003364<tr class="memdesc:a5972c7131d378f567af9c2961f088a0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. <a href="#a5972c7131d378f567af9c2961f088a0b">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003365<tr class="separator:a5972c7131d378f567af9c2961f088a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3366<tr class="memitem:a352b805b77fde4f32f44af271580677b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a352b805b77fde4f32f44af271580677b">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a> &amp;pool_info)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003367<tr class="memdesc:a352b805b77fde4f32f44af271580677b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the ROIPoolingInfo type. <a href="#a352b805b77fde4f32f44af271580677b">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003368<tr class="separator:a352b805b77fde4f32f44af271580677b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003369<tr class="memitem:a32a5556a927543fe57c0d7b82c20e9b4"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a32a5556a927543fe57c0d7b82c20e9b4">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &amp;quantization_info)</td></tr>
3370<tr class="memdesc:a32a5556a927543fe57c0d7b82c20e9b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_quantization_info.xhtml" title="Quantization settings (used for QASYMM8 data type) ">QuantizationInfo</a> type. <a href="#a32a5556a927543fe57c0d7b82c20e9b4">More...</a><br /></td></tr>
3371<tr class="separator:a32a5556a927543fe57c0d7b82c20e9b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3372<tr class="memitem:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad9fd48b3c01116b217a684aaeaf8b24f">to_string</a> (const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &amp;quantization_info)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003373<tr class="memdesc:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_quantization_info.xhtml" title="Quantization settings (used for QASYMM8 data type) ">QuantizationInfo</a> type. <a href="#ad9fd48b3c01116b217a684aaeaf8b24f">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003374<tr class="separator:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003375<tr class="memitem:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d79efe2673aeb3f9a9160b6a78de50c">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> &amp;act_function)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003376<tr class="memdesc:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the activation function type. <a href="#a9d79efe2673aeb3f9a9160b6a78de50c">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003377<tr class="separator:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memSeparator" colspan="2">&#160;</td></tr>
3378<tr class="memitem:a72626d2cca3922127c41526e37e9e623"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a72626d2cca3922127c41526e37e9e623">to_string</a> (const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">arm_compute::ActivationLayerInfo</a> &amp;info)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003379<tr class="memdesc:a72626d2cca3922127c41526e37e9e623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the activation function info type. <a href="#a72626d2cca3922127c41526e37e9e623">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003380<tr class="separator:a72626d2cca3922127c41526e37e9e623"><td class="memSeparator" colspan="2">&#160;</td></tr>
3381<tr class="memitem:a8a18c453150ab547c1add44b3ed3bc56"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a18c453150ab547c1add44b3ed3bc56">to_string</a> (const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">arm_compute::ActivationLayerInfo::ActivationFunction</a> &amp;function)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003382<tr class="memdesc:a8a18c453150ab547c1add44b3ed3bc56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the activation function type. <a href="#a8a18c453150ab547c1add44b3ed3bc56">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003383<tr class="separator:a8a18c453150ab547c1add44b3ed3bc56"><td class="memSeparator" colspan="2">&#160;</td></tr>
3384<tr class="memitem:a2ab7370aab6e5698990c50c8871fa6fb"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ab7370aab6e5698990c50c8871fa6fb">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;norm_type)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003385<tr class="memdesc:a2ab7370aab6e5698990c50c8871fa6fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the NormType type. <a href="#a2ab7370aab6e5698990c50c8871fa6fb">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003386<tr class="separator:a2ab7370aab6e5698990c50c8871fa6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
3387<tr class="memitem:a45dd771bdecbafb975fd267c2ae320a7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45dd771bdecbafb975fd267c2ae320a7">to_string</a> (const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">arm_compute::NormalizationLayerInfo</a> &amp;info)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003388<tr class="memdesc:a45dd771bdecbafb975fd267c2ae320a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. <a href="#a45dd771bdecbafb975fd267c2ae320a7">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003389<tr class="separator:a45dd771bdecbafb975fd267c2ae320a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003390<tr class="memitem:a6e422c610c91f611590173cd595c94c5"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6e422c610c91f611590173cd595c94c5">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> &amp;info)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003391<tr class="memdesc:a6e422c610c91f611590173cd595c94c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. <a href="#a6e422c610c91f611590173cd595c94c5">More...</a><br /></td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003392<tr class="separator:a6e422c610c91f611590173cd595c94c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003393<tr class="memitem:a336cf1e870f467e44c184587a13feeec"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a336cf1e870f467e44c184587a13feeec">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;pool_type)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003394<tr class="memdesc:a336cf1e870f467e44c184587a13feeec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the PoolingType type. <a href="#a336cf1e870f467e44c184587a13feeec">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003395<tr class="separator:a336cf1e870f467e44c184587a13feeec"><td class="memSeparator" colspan="2">&#160;</td></tr>
3396<tr class="memitem:ae72a61a2ca5c962ab1d37065e5598060"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae72a61a2ca5c962ab1d37065e5598060">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> &amp;info)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003397<tr class="memdesc:ae72a61a2ca5c962ab1d37065e5598060"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a>. <a href="#ae72a61a2ca5c962ab1d37065e5598060">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003398<tr class="separator:ae72a61a2ca5c962ab1d37065e5598060"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003399<tr class="memitem:a25dac68b6321b9e53027e79222a0eb7f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a25dac68b6321b9e53027e79222a0eb7f">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &amp;rounding_policy)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003400<tr class="memdesc:a25dac68b6321b9e53027e79222a0eb7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a>. <a href="#a25dac68b6321b9e53027e79222a0eb7f">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003401<tr class="separator:a25dac68b6321b9e53027e79222a0eb7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003402<tr class="memitem:a1698cb24508a2bc45962bc887f18a8d0"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1698cb24508a2bc45962bc887f18a8d0">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &amp;data_layout)</td></tr>
3403<tr class="memdesc:a1698cb24508a2bc45962bc887f18a8d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataLayout type. <a href="#a1698cb24508a2bc45962bc887f18a8d0">More...</a><br /></td></tr>
3404<tr class="separator:a1698cb24508a2bc45962bc887f18a8d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
3405<tr class="memitem:ae1240e4698e8a901179e519102b5e033"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae1240e4698e8a901179e519102b5e033">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;data_layout)</td></tr>
3406<tr class="memdesc:ae1240e4698e8a901179e519102b5e033"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataLayout type. <a href="#ae1240e4698e8a901179e519102b5e033">More...</a><br /></td></tr>
3407<tr class="separator:ae1240e4698e8a901179e519102b5e033"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003408<tr class="memitem:adec19acb64bfca26fa53ef76f03b79ef"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adec19acb64bfca26fa53ef76f03b79ef">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a> &amp;data_layout_dim)</td></tr>
3409<tr class="memdesc:adec19acb64bfca26fa53ef76f03b79ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataLayoutDimension type. <a href="#adec19acb64bfca26fa53ef76f03b79ef">More...</a><br /></td></tr>
3410<tr class="separator:adec19acb64bfca26fa53ef76f03b79ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003411<tr class="memitem:a685af15532d70b8682bcc52f06f034f9"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a685af15532d70b8682bcc52f06f034f9">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;data_type)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003412<tr class="memdesc:a685af15532d70b8682bcc52f06f034f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataType type. <a href="#a685af15532d70b8682bcc52f06f034f9">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003413<tr class="separator:a685af15532d70b8682bcc52f06f034f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003414<tr class="memitem:a96b47511b549b48d2ead05b5c757ccc9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a96b47511b549b48d2ead05b5c757ccc9">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;data_type)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003415<tr class="memdesc:a96b47511b549b48d2ead05b5c757ccc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the DataType type. <a href="#a96b47511b549b48d2ead05b5c757ccc9">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003416<tr class="separator:a96b47511b549b48d2ead05b5c757ccc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003417<tr class="memitem:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3b22e54b0ac0204c3b89aebcd695fa03">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;format)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003418<tr class="memdesc:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Format type. <a href="#a3b22e54b0ac0204c3b89aebcd695fa03">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003419<tr class="separator:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003420<tr class="memitem:ab0e6381843dc9901bb59285ec846dc5d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab0e6381843dc9901bb59285ec846dc5d">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;format)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003421<tr class="memdesc:ab0e6381843dc9901bb59285ec846dc5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Format type. <a href="#ab0e6381843dc9901bb59285ec846dc5d">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003422<tr class="separator:ab0e6381843dc9901bb59285ec846dc5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003423<tr class="memitem:aa66be15c012986ebd4c1934b97e08a36"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa66be15c012986ebd4c1934b97e08a36">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &amp;channel)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003424<tr class="memdesc:aa66be15c012986ebd4c1934b97e08a36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Channel type. <a href="#aa66be15c012986ebd4c1934b97e08a36">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003425<tr class="separator:aa66be15c012986ebd4c1934b97e08a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003426<tr class="memitem:a813e71cd70c2bbcbf0743fa83a3608b9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a813e71cd70c2bbcbf0743fa83a3608b9">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &amp;channel)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003427<tr class="memdesc:a813e71cd70c2bbcbf0743fa83a3608b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Channel type. <a href="#a813e71cd70c2bbcbf0743fa83a3608b9">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003428<tr class="separator:a813e71cd70c2bbcbf0743fa83a3608b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003429<tr class="memitem:a7929032d41d5f23cd1778a70508d0219"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7929032d41d5f23cd1778a70508d0219">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;mode)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003430<tr class="memdesc:a7929032d41d5f23cd1778a70508d0219"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the BorderMode type. <a href="#a7929032d41d5f23cd1778a70508d0219">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003431<tr class="separator:a7929032d41d5f23cd1778a70508d0219"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003432<tr class="memitem:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af32c4c5cdd0efde09774eb803bc8a0bd">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> &amp;border)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003433<tr class="memdesc:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_border_size.xhtml" title="Container for 2D border size. ">BorderSize</a> type. <a href="#af32c4c5cdd0efde09774eb803bc8a0bd">More...</a><br /></td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01003434<tr class="separator:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003435<tr class="memitem:a509047aefc691398f1bb60b1f967a98b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a509047aefc691398f1bb60b1f967a98b">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;policy)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003436<tr class="memdesc:a509047aefc691398f1bb60b1f967a98b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the InterpolationPolicy type. <a href="#a509047aefc691398f1bb60b1f967a98b">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003437<tr class="separator:a509047aefc691398f1bb60b1f967a98b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003438<tr class="memitem:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab8eb6dc1ba89bb8a69f1c3845988a2b">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &amp;policy)</td></tr>
3439<tr class="memdesc:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the SamplingPolicy type. <a href="#aab8eb6dc1ba89bb8a69f1c3845988a2b">More...</a><br /></td></tr>
3440<tr class="separator:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003441<tr class="memitem:ab398837465010958bfccff032ad1ee51"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab398837465010958bfccff032ad1ee51">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;info)</td></tr>
3442<tr class="memdesc:ab398837465010958bfccff032ad1ee51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_info.xhtml" title="Store the tensor&#39;s metadata. ">TensorInfo</a> type. <a href="#ab398837465010958bfccff032ad1ee51">More...</a><br /></td></tr>
3443<tr class="separator:ab398837465010958bfccff032ad1ee51"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003444<tr class="memitem:a48fd5e28bdb4975c141841f0b96f8707"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a48fd5e28bdb4975c141841f0b96f8707">to_string</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;info)</td></tr>
3445<tr class="memdesc:a48fd5e28bdb4975c141841f0b96f8707"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_info.xhtml" title="Store the tensor&#39;s metadata. ">TensorInfo</a> type. <a href="#a48fd5e28bdb4975c141841f0b96f8707">More...</a><br /></td></tr>
3446<tr class="separator:a48fd5e28bdb4975c141841f0b96f8707"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003447<tr class="memitem:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3448<tr class="memitem:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa32488ee1dd78e0464ed23e8cc2b6e49">to_string</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;dimensions)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003449<tr class="memdesc:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. <a href="#aa32488ee1dd78e0464ed23e8cc2b6e49">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003450<tr class="separator:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003451<tr class="memitem:a1c4486f45128be7156e38e6dea345a16"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c4486f45128be7156e38e6dea345a16">to_string</a> (const <a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> &amp;stride)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003452<tr class="memdesc:a1c4486f45128be7156e38e6dea345a16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> type. <a href="#a1c4486f45128be7156e38e6dea345a16">More...</a><br /></td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003453<tr class="separator:a1c4486f45128be7156e38e6dea345a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003454<tr class="memitem:a9d9b56d1b106b79fc5c5411372222d0f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d9b56d1b106b79fc5c5411372222d0f">to_string</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;shape)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003455<tr class="memdesc:a9d9b56d1b106b79fc5c5411372222d0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> type. <a href="#a9d9b56d1b106b79fc5c5411372222d0f">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003456<tr class="separator:a9d9b56d1b106b79fc5c5411372222d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003457<tr class="memitem:a805a74997e303d29108845956a674387"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a805a74997e303d29108845956a674387">to_string</a> (const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;coord)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003458<tr class="memdesc:a805a74997e303d29108845956a674387"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> type. <a href="#a805a74997e303d29108845956a674387">More...</a><br /></td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003459<tr class="separator:a805a74997e303d29108845956a674387"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003460<tr class="memitem:a0fc75dce8064a37effa5e71344b6a5d2"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0fc75dce8064a37effa5e71344b6a5d2">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;info)</td></tr>
3461<tr class="memdesc:a0fc75dce8064a37effa5e71344b6a5d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. <a href="#a0fc75dce8064a37effa5e71344b6a5d2">More...</a><br /></td></tr>
3462<tr class="separator:a0fc75dce8064a37effa5e71344b6a5d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3463<tr class="memitem:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5fdae5de2d2cf2e7957f0299d17ce5ec">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;info)</td></tr>
3464<tr class="memdesc:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. <a href="#a5fdae5de2d2cf2e7957f0299d17ce5ec">More...</a><br /></td></tr>
3465<tr class="separator:a5fdae5de2d2cf2e7957f0299d17ce5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
3466<tr class="memitem:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6ed8dc0f587448d14a1a33cbd5fc4f70">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;dim)</td></tr>
3467<tr class="memdesc:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image&#39;s dimensions with a start, end and step. ">Window::Dimension</a> type. <a href="#a6ed8dc0f587448d14a1a33cbd5fc4f70">More...</a><br /></td></tr>
3468<tr class="separator:a6ed8dc0f587448d14a1a33cbd5fc4f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
3469<tr class="memitem:afc6e49991e36423027a467eab1e405b2"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc6e49991e36423027a467eab1e405b2">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
3470<tr class="memdesc:afc6e49991e36423027a467eab1e405b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. <a href="#afc6e49991e36423027a467eab1e405b2">More...</a><br /></td></tr>
3471<tr class="separator:afc6e49991e36423027a467eab1e405b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3472<tr class="memitem:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a26a595cd5522bae4fa1c4f2fb9b8f4d5">to_string</a> (const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &amp;info)</td></tr>
3473<tr class="memdesc:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. <a href="#a26a595cd5522bae4fa1c4f2fb9b8f4d5">More...</a><br /></td></tr>
3474<tr class="separator:a26a595cd5522bae4fa1c4f2fb9b8f4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3475<tr class="memitem:adac3c1908846c6361e664a353ad1c3cf"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adac3c1908846c6361e664a353ad1c3cf">to_string</a> (const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;info)</td></tr>
3476<tr class="memdesc:adac3c1908846c6361e664a353ad1c3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. <a href="#adac3c1908846c6361e664a353ad1c3cf">More...</a><br /></td></tr>
3477<tr class="separator:adac3c1908846c6361e664a353ad1c3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3478<tr class="memitem:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8ac2dfdfad6db71a5cf2ecee6b70f722">to_string</a> (const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;info)</td></tr>
3479<tr class="memdesc:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. <a href="#a8ac2dfdfad6db71a5cf2ecee6b70f722">More...</a><br /></td></tr>
3480<tr class="separator:a8ac2dfdfad6db71a5cf2ecee6b70f722"><td class="memSeparator" colspan="2">&#160;</td></tr>
3481<tr class="memitem:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6ea50ec0a98c2180e6530cfcb5eb366">to_string</a> (const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;dim)</td></tr>
3482<tr class="memdesc:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image&#39;s dimensions with a start, end and step. ">Window::Dimension</a> type. <a href="#ab6ea50ec0a98c2180e6530cfcb5eb366">More...</a><br /></td></tr>
3483<tr class="separator:ab6ea50ec0a98c2180e6530cfcb5eb366"><td class="memSeparator" colspan="2">&#160;</td></tr>
3484<tr class="memitem:a99aba2774f142d36c6a286cbfe027772"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99aba2774f142d36c6a286cbfe027772">to_string</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;win)</td></tr>
3485<tr class="memdesc:a99aba2774f142d36c6a286cbfe027772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. <a href="#a99aba2774f142d36c6a286cbfe027772">More...</a><br /></td></tr>
3486<tr class="separator:a99aba2774f142d36c6a286cbfe027772"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003487<tr class="memitem:a17881750c427aedd95deba46a4366ace"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a17881750c427aedd95deba46a4366ace">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a> &amp;rect)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003488<tr class="memdesc:a17881750c427aedd95deba46a4366ace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. <a href="#a17881750c427aedd95deba46a4366ace">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003489<tr class="separator:a17881750c427aedd95deba46a4366ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
3490<tr class="memitem:a8af36ae3a3613112c3a95e57f606359a"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8af36ae3a3613112c3a95e57f606359a">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;pad_stride_info)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003491<tr class="memdesc:a8af36ae3a3613112c3a95e57f606359a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> type. <a href="#a8af36ae3a3613112c3a95e57f606359a">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003492<tr class="separator:a8af36ae3a3613112c3a95e57f606359a"><td class="memSeparator" colspan="2">&#160;</td></tr>
3493<tr class="memitem:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2c0e6c1c4cf10da25e7a7362ba151ba2">to_string</a> (const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;pad_stride_info)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003494<tr class="memdesc:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> type. <a href="#a2c0e6c1c4cf10da25e7a7362ba151ba2">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003495<tr class="separator:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3496<tr class="memitem:a0604106dd269acd58152a81ba87cc265"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0604106dd269acd58152a81ba87cc265">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;mode)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003497<tr class="memdesc:a0604106dd269acd58152a81ba87cc265"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the BorderMode type. <a href="#a0604106dd269acd58152a81ba87cc265">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003498<tr class="separator:a0604106dd269acd58152a81ba87cc265"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003499<tr class="memitem:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5c9cde9144eaeceaf086377b9bc5a5be">to_string</a> (const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> &amp;border)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003500<tr class="memdesc:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_border_size.xhtml" title="Container for 2D border size. ">BorderSize</a> type. <a href="#a5c9cde9144eaeceaf086377b9bc5a5be">More...</a><br /></td></tr>
Kaizenbf8b01d2017-10-12 14:26:51 +01003501<tr class="separator:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003502<tr class="memitem:a94bd78942b683c05cba85048537d3ee7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a94bd78942b683c05cba85048537d3ee7">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;policy)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003503<tr class="memdesc:a94bd78942b683c05cba85048537d3ee7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the InterpolationPolicy type. <a href="#a94bd78942b683c05cba85048537d3ee7">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003504<tr class="separator:a94bd78942b683c05cba85048537d3ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003505<tr class="memitem:a5b8e815072ae54278cb1c91e254be4d3"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b8e815072ae54278cb1c91e254be4d3">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &amp;policy)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003506<tr class="memdesc:a5b8e815072ae54278cb1c91e254be4d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the SamplingPolicy type. <a href="#a5b8e815072ae54278cb1c91e254be4d3">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003507<tr class="separator:a5b8e815072ae54278cb1c91e254be4d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003508<tr class="memitem:a4287c6842a60e5f6bf309e55f8813527"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4287c6842a60e5f6bf309e55f8813527">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;policy)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003509<tr class="memdesc:a4287c6842a60e5f6bf309e55f8813527"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the ConvertPolicy type. <a href="#a4287c6842a60e5f6bf309e55f8813527">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003510<tr class="separator:a4287c6842a60e5f6bf309e55f8813527"><td class="memSeparator" colspan="2">&#160;</td></tr>
3511<tr class="memitem:adcc7e107e7dbd2ffac02189089c33e4f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adcc7e107e7dbd2ffac02189089c33e4f">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;policy)</td></tr>
3512<tr class="separator:adcc7e107e7dbd2ffac02189089c33e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3513<tr class="memitem:a292505a0ec686541cfe0dcfd1d651ec5"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a292505a0ec686541cfe0dcfd1d651ec5">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;op)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003514<tr class="memdesc:a292505a0ec686541cfe0dcfd1d651ec5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Reduction Operations. <a href="#a292505a0ec686541cfe0dcfd1d651ec5">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003515<tr class="separator:a292505a0ec686541cfe0dcfd1d651ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
3516<tr class="memitem:aae534105c7ea67999ccbb34a0ed567cd"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aae534105c7ea67999ccbb34a0ed567cd">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;op)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003517<tr class="memdesc:aae534105c7ea67999ccbb34a0ed567cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Reduction Operations. <a href="#aae534105c7ea67999ccbb34a0ed567cd">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003518<tr class="separator:aae534105c7ea67999ccbb34a0ed567cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3519<tr class="memitem:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8b676c38d9b8d9d9bde7caec5720bd9">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;type)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003520<tr class="memdesc:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Norm Type. <a href="#ad8b676c38d9b8d9d9bde7caec5720bd9">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003521<tr class="separator:ad8b676c38d9b8d9d9bde7caec5720bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3522<tr class="memitem:a2872d19dd10dc3117813d291c08e0383"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2872d19dd10dc3117813d291c08e0383">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;type)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003523<tr class="memdesc:a2872d19dd10dc3117813d291c08e0383"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Pooling Type. <a href="#a2872d19dd10dc3117813d291c08e0383">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003524<tr class="separator:a2872d19dd10dc3117813d291c08e0383"><td class="memSeparator" colspan="2">&#160;</td></tr>
3525<tr class="memitem:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acef515348c5f7f73c89aa4b8a47a02bc">to_string</a> (const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> &amp;info)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003526<tr class="memdesc:acef515348c5f7f73c89aa4b8a47a02bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Pooling Layer Info. <a href="#acef515348c5f7f73c89aa4b8a47a02bc">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003527<tr class="separator:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
3528<tr class="memitem:a9a2e48a508dc85b7280f955876bb4462"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9a2e48a508dc85b7280f955876bb4462">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &amp;point)</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003529<tr class="memdesc:a9a2e48a508dc85b7280f955876bb4462"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type. ">KeyPoint</a> type. <a href="#a9a2e48a508dc85b7280f955876bb4462">More...</a><br /></td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01003530<tr class="separator:a9a2e48a508dc85b7280f955876bb4462"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003531<tr class="memitem:abe52a76af2aa88876d54ce8a5969e509"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abe52a76af2aa88876d54ce8a5969e509">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a> &amp;phase_type)</td></tr>
3532<tr class="memdesc:abe52a76af2aa88876d54ce8a5969e509"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the PhaseType type. <a href="#abe52a76af2aa88876d54ce8a5969e509">More...</a><br /></td></tr>
3533<tr class="separator:abe52a76af2aa88876d54ce8a5969e509"><td class="memSeparator" colspan="2">&#160;</td></tr>
3534<tr class="memitem:ae4ead564f3c96ea5f1ec7fe035b941f3"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae4ead564f3c96ea5f1ec7fe035b941f3">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">arm_compute::PhaseType</a> &amp;type)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003535<tr class="memdesc:ae4ead564f3c96ea5f1ec7fe035b941f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the PhaseType type. <a href="#ae4ead564f3c96ea5f1ec7fe035b941f3">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003536<tr class="separator:ae4ead564f3c96ea5f1ec7fe035b941f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
3537<tr class="memitem:a530d86eec3dbd22cab6336ffdceb0d37"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a530d86eec3dbd22cab6336ffdceb0d37">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a> &amp;magnitude_type)</td></tr>
3538<tr class="memdesc:a530d86eec3dbd22cab6336ffdceb0d37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the MagnitudeType type. <a href="#a530d86eec3dbd22cab6336ffdceb0d37">More...</a><br /></td></tr>
3539<tr class="separator:a530d86eec3dbd22cab6336ffdceb0d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
3540<tr class="memitem:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a42e6f8761f01b5846f56c3b8025c8c0a">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">arm_compute::MagnitudeType</a> &amp;type)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003541<tr class="memdesc:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the MagnitudeType type. <a href="#a42e6f8761f01b5846f56c3b8025c8c0a">More...</a><br /></td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003542<tr class="separator:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003543<tr class="memitem:a5e7a61df2b926347b42ecadf8bcc8969"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5e7a61df2b926347b42ecadf8bcc8969">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> &amp;norm_type)</td></tr>
3544<tr class="memdesc:a5e7a61df2b926347b42ecadf8bcc8969"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the HOGNormType type. <a href="#a5e7a61df2b926347b42ecadf8bcc8969">More...</a><br /></td></tr>
3545<tr class="separator:a5e7a61df2b926347b42ecadf8bcc8969"><td class="memSeparator" colspan="2">&#160;</td></tr>
3546<tr class="memitem:a950ba288e8136db4bf52f7c51dea20eb"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a950ba288e8136db4bf52f7c51dea20eb">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> &amp;type)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003547<tr class="memdesc:a950ba288e8136db4bf52f7c51dea20eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the HOGNormType type. <a href="#a950ba288e8136db4bf52f7c51dea20eb">More...</a><br /></td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003548<tr class="separator:a950ba288e8136db4bf52f7c51dea20eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003549<tr class="memitem:ab91d110e020f6ed987e05e82df3e350b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab91d110e020f6ed987e05e82df3e350b">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;size)</td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003550<tr class="memdesc:ab91d110e020f6ed987e05e82df3e350b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle. ">Size2D</a> type. <a href="#ab91d110e020f6ed987e05e82df3e350b">More...</a><br /></td></tr>
3551<tr class="separator:ab91d110e020f6ed987e05e82df3e350b"><td class="memSeparator" colspan="2">&#160;</td></tr>
3552<tr class="memitem:aee88a2c259879eb9dc18cb5965e87c29"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aee88a2c259879eb9dc18cb5965e87c29">to_string</a> (const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;type)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003553<tr class="memdesc:aee88a2c259879eb9dc18cb5965e87c29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle. ">Size2D</a> type. <a href="#aee88a2c259879eb9dc18cb5965e87c29">More...</a><br /></td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003554<tr class="separator:aee88a2c259879eb9dc18cb5965e87c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
3555<tr class="memitem:a4228b490e13b79a60737929d9d9e5957"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4228b490e13b79a60737929d9d9e5957">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &amp;hog_info)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003556<tr class="memdesc:a4228b490e13b79a60737929d9d9e5957"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG&#39;s metadata. ">HOGInfo</a> type. <a href="#a4228b490e13b79a60737929d9d9e5957">More...</a><br /></td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00003557<tr class="separator:a4228b490e13b79a60737929d9d9e5957"><td class="memSeparator" colspan="2">&#160;</td></tr>
3558<tr class="memitem:a3cf43a216912b361eaffc3c71452a31e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3cf43a216912b361eaffc3c71452a31e">to_string</a> (const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &amp;type)</td></tr>
3559<tr class="memdesc:a3cf43a216912b361eaffc3c71452a31e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG&#39;s metadata. ">HOGInfo</a> type. <a href="#a3cf43a216912b361eaffc3c71452a31e">More...</a><br /></td></tr>
3560<tr class="separator:a3cf43a216912b361eaffc3c71452a31e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003561<tr class="memitem:abd35c1c3fb716078b1f4a25981defac4"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd35c1c3fb716078b1f4a25981defac4">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> &amp;conv_method)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003562<tr class="memdesc:abd35c1c3fb716078b1f4a25981defac4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the ConvolutionMethod type. <a href="#abd35c1c3fb716078b1f4a25981defac4">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003563<tr class="separator:abd35c1c3fb716078b1f4a25981defac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
3564<tr class="memitem:a853d44a32a328fb4455f6200a11c4785"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a853d44a32a328fb4455f6200a11c4785">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> &amp;conv_method)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003565<tr class="memdesc:a853d44a32a328fb4455f6200a11c4785"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the ConvolutionMethod type. <a href="#a853d44a32a328fb4455f6200a11c4785">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003566<tr class="separator:a853d44a32a328fb4455f6200a11c4785"><td class="memSeparator" colspan="2">&#160;</td></tr>
3567<tr class="memitem:a1f4d95d65a62a085e929ab0a1a77add2"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1f4d95d65a62a085e929ab0a1a77add2">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> &amp;gpu_target)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003568<tr class="memdesc:a1f4d95d65a62a085e929ab0a1a77add2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the GPUTarget type. <a href="#a1f4d95d65a62a085e929ab0a1a77add2">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003569<tr class="separator:a1f4d95d65a62a085e929ab0a1a77add2"><td class="memSeparator" colspan="2">&#160;</td></tr>
3570<tr class="memitem:aee29ccfc095313663fc954f581ddf40a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aee29ccfc095313663fc954f581ddf40a">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> &amp;gpu_target)</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003571<tr class="memdesc:aee29ccfc095313663fc954f581ddf40a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the GPUTarget type. <a href="#aee29ccfc095313663fc954f581ddf40a">More...</a><br /></td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00003572<tr class="separator:aee29ccfc095313663fc954f581ddf40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003573<tr class="memitem:a907c93ba5daaabf6af7095f20340d024"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a907c93ba5daaabf6af7095f20340d024">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &amp;detection_window)</td></tr>
3574<tr class="memdesc:a907c93ba5daaabf6af7095f20340d024"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection. ">DetectionWindow</a> type. <a href="#a907c93ba5daaabf6af7095f20340d024">More...</a><br /></td></tr>
3575<tr class="separator:a907c93ba5daaabf6af7095f20340d024"><td class="memSeparator" colspan="2">&#160;</td></tr>
3576<tr class="memitem:a905d7ec8787e8c4b7e88b0a2faaccd1f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a905d7ec8787e8c4b7e88b0a2faaccd1f">to_string</a> (const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &amp;detection_window)</td></tr>
3577<tr class="memdesc:a905d7ec8787e8c4b7e88b0a2faaccd1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection. ">DetectionWindow</a> type. <a href="#a905d7ec8787e8c4b7e88b0a2faaccd1f">More...</a><br /></td></tr>
3578<tr class="separator:a905d7ec8787e8c4b7e88b0a2faaccd1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
3579<tr class="memitem:a8cfa7d498e60be008d557d025fe62ff3"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8cfa7d498e60be008d557d025fe62ff3">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &amp;termination)</td></tr>
3580<tr class="memdesc:a8cfa7d498e60be008d557d025fe62ff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Termination type. <a href="#a8cfa7d498e60be008d557d025fe62ff3">More...</a><br /></td></tr>
3581<tr class="separator:a8cfa7d498e60be008d557d025fe62ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
3582<tr class="memitem:a51fc944d872cf00c1e8e71ccdf8be264"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51fc944d872cf00c1e8e71ccdf8be264">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &amp;termination)</td></tr>
3583<tr class="memdesc:a51fc944d872cf00c1e8e71ccdf8be264"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the Termination type. <a href="#a51fc944d872cf00c1e8e71ccdf8be264">More...</a><br /></td></tr>
3584<tr class="separator:a51fc944d872cf00c1e8e71ccdf8be264"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003585<tr class="memitem:a2329ad899483ca80bbffd03a63da9f5d"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2329ad899483ca80bbffd03a63da9f5d">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;cpu_model)</td></tr>
3586<tr class="memdesc:a2329ad899483ca80bbffd03a63da9f5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the CPUModel type. <a href="#a2329ad899483ca80bbffd03a63da9f5d">More...</a><br /></td></tr>
3587<tr class="separator:a2329ad899483ca80bbffd03a63da9f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3588<tr class="memitem:add33a9d992aeaa69d6940fd896ee5e75"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#add33a9d992aeaa69d6940fd896ee5e75">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;cpu_model)</td></tr>
3589<tr class="memdesc:add33a9d992aeaa69d6940fd896ee5e75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the CPUModel type. <a href="#add33a9d992aeaa69d6940fd896ee5e75">More...</a><br /></td></tr>
3590<tr class="separator:add33a9d992aeaa69d6940fd896ee5e75"><td class="memSeparator" colspan="2">&#160;</td></tr>
3591<tr class="memitem:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3592<tr class="memitem:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="memTemplItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a29cd1c3e1b33d61a479fa49465c5a7e7">operator&lt;&lt;</a> (::std::ostream &amp;os, const std::vector&lt; T &gt; &amp;args)</td></tr>
3593<tr class="memdesc:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of a vector of objects. <a href="#a29cd1c3e1b33d61a479fa49465c5a7e7">More...</a><br /></td></tr>
3594<tr class="separator:a29cd1c3e1b33d61a479fa49465c5a7e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
3595<tr class="memitem:a6411da4e87e64e8859f8b725645ee9aa"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3596<tr class="memitem:a6411da4e87e64e8859f8b725645ee9aa"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6411da4e87e64e8859f8b725645ee9aa">to_string</a> (const std::vector&lt; T &gt; &amp;args)</td></tr>
3597<tr class="memdesc:a6411da4e87e64e8859f8b725645ee9aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of a vector of objects. <a href="#a6411da4e87e64e8859f8b725645ee9aa">More...</a><br /></td></tr>
3598<tr class="separator:a6411da4e87e64e8859f8b725645ee9aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01003599<tr class="memitem:af3cba8a4493cee4c431d128eed565ffe"><td class="memItemLeft" align="right" valign="top">inline::std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af3cba8a4493cee4c431d128eed565ffe">operator&lt;&lt;</a> (::std::ostream &amp;os, const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;info)</td></tr>
3600<tr class="memdesc:af3cba8a4493cee4c431d128eed565ffe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information. ">WinogradInfo</a> type. <a href="#af3cba8a4493cee4c431d128eed565ffe">More...</a><br /></td></tr>
3601<tr class="separator:af3cba8a4493cee4c431d128eed565ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
3602<tr class="memitem:a37cc282b0852aab04b13a6e6566adda7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a37cc282b0852aab04b13a6e6566adda7">to_string</a> (const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;type)</td></tr>
3603<tr class="separator:a37cc282b0852aab04b13a6e6566adda7"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00003604<tr class="memitem:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
3605<tr class="memitem:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">to_string</a> (const T &amp;val)</td></tr>
3606<tr class="memdesc:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fallback method: try to use std::to_string: <a href="#a1d8c24abe3cf6edd704d126d1d2a5420">More...</a><br /></td></tr>
3607<tr class="separator:a1d8c24abe3cf6edd704d126d1d2a5420"><td class="memSeparator" colspan="2">&#160;</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003608</table><table class="memberdecls">
3609<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
3610Variables</h2></td></tr>
3611<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01003612<tr class="memdesc:a769d636d7a3c7c84579a5f477a18bc9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant value used to indicate maximum dimensions of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a>, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> and <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. <a href="#a769d636d7a3c7c84579a5f477a18bc9d">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003613<tr class="separator:a769d636d7a3c7c84579a5f477a18bc9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
3614<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01003615<tr class="memdesc:a869945609357fa552d94eb16f7aad4e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exponent polynomial coefficients. <a href="#a869945609357fa552d94eb16f7aad4e9">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003616<tr class="separator:a869945609357fa552d94eb16f7aad4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
3617<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01003618<tr class="memdesc:a48fb9cf404e8f7043235bf14105c9793"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logarithm polynomial coefficients. <a href="#a48fb9cf404e8f7043235bf14105c9793">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003619<tr class="separator:a48fb9cf404e8f7043235bf14105c9793"><td class="memSeparator" colspan="2">&#160;</td></tr>
3620<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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003621<tr class="memdesc:a3fed059965fe44cbe7ed4091d6b63acf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant value of the border pixels when using <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92" title="Pixels outside the image are assumed to have a constant value. ">BorderMode::CONSTANT</a>. <a href="#a3fed059965fe44cbe7ed4091d6b63acf">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003622<tr class="separator:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
3623<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01003624<tr class="memdesc:af9876aedd664cac0ddeacddb40cb71cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant value used to indicate a half-scale pyramid. <a href="#af9876aedd664cac0ddeacddb40cb71cd">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003625<tr class="separator:af9876aedd664cac0ddeacddb40cb71cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
3626<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>
Jenkinsb3a371b2018-05-23 11:36:53 +01003627<tr class="memdesc:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant value used to indicate a ORB scaled pyramid. <a href="#a2ebcd5423d5fba468e7debd2e1aabe91">More...</a><br /></td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00003628<tr class="separator:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memSeparator" colspan="2">&#160;</td></tr>
3629</table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00003630<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
3631<div class="textblock"><p>This file contains all available output stages for GEMMLowp on OpenCL. </p>
3632<p>This file contains all available output stages for GEMMLowp on NEON.</p>
3633<p>In gemmlowp, the "output stage" is the process that takes a final int32 accumulator value (the output of <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_core.xhtml">CLGEMMLowpMatrixMultiplyCore</a>), and processes it to obtain the final ASYMM8 value.</p>
3634<p>More information about the GEMMLowp output stage can be found at <a href="https://github.com/google/gemmlowp/blob/master/doc/output.md">https://github.com/google/gemmlowp/blob/master/doc/output.md</a></p>
3635<p>In gemmlowp, the "output stage" is the process that takes a final int32 accumulator value (the output of <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_core.xhtml">NEGEMMLowpMatrixMultiplyCore</a>), and processes it to obtain the final ASYMM8 value.</p>
3636<p>More information about the GEMMLowp output stage can be found at <a href="https://github.com/google/gemmlowp/blob/master/doc/output.md">https://github.com/google/gemmlowp/blob/master/doc/output.md</a> </p>
3637</div><h2 class="groupheader">Typedef Documentation</h2>
Anthony Barbier871448e2017-03-24 14:54:29 +00003638<a class="anchor" id="afcef84cf3b7d147b2b6ab0bd884afc16"></a>
3639<div class="memitem">
3640<div class="memproto">
3641 <table class="memname">
3642 <tr>
3643 <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>
3644 </tr>
3645 </table>
3646</div><div class="memdoc">
3647
Jenkinsb3a371b2018-05-23 11:36:53 +01003648<p>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> of Coefficient Tables. </p>
3649
3650<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00049">49</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003651
3652</div>
3653</div>
3654<a class="anchor" id="a4751499f1c526c7285e7e946c2e84541"></a>
3655<div class="memitem">
3656<div class="memproto">
3657 <table class="memname">
3658 <tr>
3659 <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>
3660 </tr>
3661 </table>
3662</div><div class="memdoc">
3663
3664<p>Interface for the kernel which applies a 3x3 convolution to a tensor. </p>
3665
3666<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>
3667
3668</div>
3669</div>
3670<a class="anchor" id="a843447b81f09d837e90d44e6e6bd236d"></a>
3671<div class="memitem">
3672<div class="memproto">
3673 <table class="memname">
3674 <tr>
3675 <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>
3676 </tr>
3677 </table>
3678</div><div class="memdoc">
3679
3680<p>Basic function to run 5x5 convolution. </p>
3681
Kaizen8938bd32017-09-28 14:38:23 +01003682<p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00102">102</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003683
3684</div>
3685</div>
3686<a class="anchor" id="ac4cfbdf439d7bf5d420546298bd5ca0d"></a>
3687<div class="memitem">
3688<div class="memproto">
3689 <table class="memname">
3690 <tr>
3691 <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>
3692 </tr>
3693 </table>
3694</div><div class="memdoc">
3695
3696<p>Interface for the kernel which applies a 5x5 convolution to a tensor. </p>
3697
3698<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>
3699
3700</div>
3701</div>
3702<a class="anchor" id="a1992a8362b7074e709394a5219d16e62"></a>
3703<div class="memitem">
3704<div class="memproto">
3705 <table class="memname">
3706 <tr>
3707 <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>
3708 </tr>
3709 </table>
3710</div><div class="memdoc">
3711
3712<p>Basic function to run 7x7 convolution. </p>
3713
Kaizen8938bd32017-09-28 14:38:23 +01003714<p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003715
3716</div>
3717</div>
3718<a class="anchor" id="a99a54c937a254c96cd1a29a96ffa7dcf"></a>
3719<div class="memitem">
3720<div class="memproto">
3721 <table class="memname">
3722 <tr>
3723 <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>
3724 </tr>
3725 </table>
3726</div><div class="memdoc">
3727
3728<p>Interface for the kernel which applies a 7x7 convolution to a tensor. </p>
3729
3730<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>
3731
3732</div>
3733</div>
3734<a class="anchor" id="a587dee5d7f05d5e9c3b8704ae8927101"></a>
3735<div class="memitem">
3736<div class="memproto">
3737 <table class="memname">
3738 <tr>
3739 <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>
3740 </tr>
3741 </table>
3742</div><div class="memdoc">
3743
3744<p>Basic function to run 9x9 convolution. </p>
3745
Kaizen8938bd32017-09-28 14:38:23 +01003746<p>Definition at line <a class="el" href="_c_l_convolution_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_c_l_convolution_8h_source.xhtml">CLConvolution.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003747
3748</div>
3749</div>
3750<a class="anchor" id="a908439cd5cf8253865d5c70a413fd607"></a>
3751<div class="memitem">
3752<div class="memproto">
3753 <table class="memname">
3754 <tr>
3755 <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>
3756 </tr>
3757 </table>
3758</div><div class="memdoc">
3759
3760<p>Interface for the kernel which applies a 9x9 convolution to a tensor. </p>
3761
3762<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>
3763
3764</div>
3765</div>
3766<a class="anchor" id="a0fd5f0310a26faad00b905bac3792726"></a>
3767<div class="memitem">
3768<div class="memproto">
3769 <table class="memname">
3770 <tr>
3771 <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>
3772 </tr>
3773 </table>
3774</div><div class="memdoc">
3775
Jenkinsb3a371b2018-05-23 11:36:53 +01003776<p>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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
3777
3778<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00109">109</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003779
3780</div>
3781</div>
3782<a class="anchor" id="ab8d2c7efb7643ce8f9e5446dbe1da0b4"></a>
3783<div class="memitem">
3784<div class="memproto">
3785 <table class="memname">
3786 <tr>
3787 <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>
3788 </tr>
3789 </table>
3790</div><div class="memdoc">
3791
Jenkinsb3a371b2018-05-23 11:36:53 +01003792<p>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> of Detection Windows. </p>
3793
3794<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00111">111</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003795
3796</div>
3797</div>
3798<a class="anchor" id="a193a4859b365f3ef4e0d73a1e6b12c85"></a>
3799<div class="memitem">
3800<div class="memproto">
3801 <table class="memname">
3802 <tr>
3803 <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>
3804 </tr>
3805 </table>
3806</div><div class="memdoc">
3807
Jenkinsb3a371b2018-05-23 11:36:53 +01003808<p>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> of floats. </p>
3809
3810<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00127">127</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003811
3812</div>
3813</div>
3814<a class="anchor" id="aae712f442eae2d56d17529ca6cb9cb77"></a>
3815<div class="memitem">
3816<div class="memproto">
3817 <table class="memname">
3818 <tr>
3819 <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>
3820 </tr>
3821 </table>
3822</div><div class="memdoc">
3823
Jenkinsb3a371b2018-05-23 11:36:53 +01003824<p>OpenCL <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
3825
3826<p>Definition at line <a class="el" href="_c_l_tensor_8h_source.xhtml#l00080">80</a> of file <a class="el" href="_c_l_tensor_8h_source.xhtml">CLTensor.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003827
3828</div>
3829</div>
3830<a class="anchor" id="a5fb8cb339705102066c915d18f0701ac"></a>
3831<div class="memitem">
3832<div class="memproto">
3833 <table class="memname">
3834 <tr>
3835 <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>
3836 </tr>
3837 </table>
3838</div><div class="memdoc">
3839
Jenkinsb3a371b2018-05-23 11:36:53 +01003840<p>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> of int16s. </p>
3841
3842<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003843
3844</div>
3845</div>
3846<a class="anchor" id="a8a401a071524761c661a75969c951cf5"></a>
3847<div class="memitem">
3848<div class="memproto">
3849 <table class="memname">
3850 <tr>
3851 <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>
3852 </tr>
3853 </table>
3854</div><div class="memdoc">
3855
Jenkinsb3a371b2018-05-23 11:36:53 +01003856<p>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> of int32s. </p>
3857
3858<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003859
3860</div>
3861</div>
3862<a class="anchor" id="a55e1c5ed17b7ee3762198a38eb50650a"></a>
3863<div class="memitem">
3864<div class="memproto">
3865 <table class="memname">
3866 <tr>
3867 <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>
3868 </tr>
3869 </table>
3870</div><div class="memdoc">
3871
Jenkinsb3a371b2018-05-23 11:36:53 +01003872<p>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> of Key Points. </p>
3873
3874<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00107">107</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003875
3876</div>
3877</div>
3878<a class="anchor" id="a70997613219641045213b0c12948fb74"></a>
3879<div class="memitem">
3880<div class="memproto">
3881 <table class="memname">
3882 <tr>
3883 <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>
3884 </tr>
3885 </table>
3886</div><div class="memdoc">
3887
Jenkinsb3a371b2018-05-23 11:36:53 +01003888<p>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> of Internal Keypoints. </p>
3889
3890<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01003891
3892</div>
3893</div>
3894<a class="anchor" id="ac87d48489667d7ff7fc4cc7d0d12c52e"></a>
3895<div class="memitem">
3896<div class="memproto">
3897 <table class="memname">
3898 <tr>
3899 <td class="memname">typedef <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a> &gt; <a class="el" href="namespacearm__compute.xhtml#ac87d48489667d7ff7fc4cc7d0d12c52e">CLMemoryGroup</a></td>
3900 </tr>
3901 </table>
3902</div><div class="memdoc">
3903
Jenkinsb3a371b2018-05-23 11:36:53 +01003904<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group in OpenCL. </p>
3905
3906<p>Definition at line <a class="el" href="_c_l_memory_group_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_c_l_memory_group_8h_source.xhtml">CLMemoryGroup.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003907
3908</div>
3909</div>
3910<a class="anchor" id="a4ec6965f606c588137f7a48d84c1d6f0"></a>
3911<div class="memitem">
3912<div class="memproto">
3913 <table class="memname">
3914 <tr>
3915 <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>
3916 </tr>
3917 </table>
3918</div><div class="memdoc">
3919
Jenkinsb3a371b2018-05-23 11:36:53 +01003920<p>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> of Old Values. </p>
3921
3922<p>Definition at line <a class="el" href="_c_l_optical_flow_8h_source.xhtml#l00051">51</a> of file <a class="el" href="_c_l_optical_flow_8h_source.xhtml">CLOpticalFlow.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01003923
3924</div>
3925</div>
3926<a class="anchor" id="a7d756aef16b9c22456bb7aca8fbb4f4c"></a>
3927<div class="memitem">
3928<div class="memproto">
3929 <table class="memname">
3930 <tr>
3931 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a7d756aef16b9c22456bb7aca8fbb4f4c">CLROIArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>&lt;<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>&gt;</td>
3932 </tr>
3933 </table>
3934</div><div class="memdoc">
3935
Jenkinsb3a371b2018-05-23 11:36:53 +01003936<p>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> of ROIs. </p>
3937
3938<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00113">113</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00003939
3940</div>
3941</div>
3942<a class="anchor" id="ac72d613f7270604dbcad2553c278b16c"></a>
3943<div class="memitem">
3944<div class="memproto">
3945 <table class="memname">
3946 <tr>
3947 <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>
3948 </tr>
3949 </table>
3950</div><div class="memdoc">
3951
3952<p>Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. </p>
3953
3954<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>
3955
3956</div>
3957</div>
3958<a class="anchor" id="ac7295b0d8d71be75033238ad7fbba38c"></a>
3959<div class="memitem">
3960<div class="memproto">
3961 <table class="memname">
3962 <tr>
3963 <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>
3964 </tr>
3965 </table>
3966</div><div class="memdoc">
3967
3968<p>Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. </p>
3969
3970<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>
3971
3972</div>
3973</div>
3974<a class="anchor" id="aab26624bf4b326f8145b2909a5042004"></a>
3975<div class="memitem">
3976<div class="memproto">
3977 <table class="memname">
3978 <tr>
3979 <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>
3980 </tr>
3981 </table>
3982</div><div class="memdoc">
3983
3984<p>Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. </p>
3985
3986<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>
3987
3988</div>
3989</div>
3990<a class="anchor" id="a0ffdf01e236016ce8d366a69875d1375"></a>
3991<div class="memitem">
3992<div class="memproto">
3993 <table class="memname">
3994 <tr>
3995 <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>
3996 </tr>
3997 </table>
3998</div><div class="memdoc">
3999
4000<p>Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. </p>
4001
4002<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>
4003
4004</div>
4005</div>
4006<a class="anchor" id="a9f34ccad344bc43d25e8be2b828853aa"></a>
4007<div class="memitem">
4008<div class="memproto">
4009 <table class="memname">
4010 <tr>
4011 <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>
4012 </tr>
4013 </table>
4014</div><div class="memdoc">
4015
4016<p>Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. </p>
4017
4018<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>
4019
4020</div>
4021</div>
4022<a class="anchor" id="a6d08e1e881bf611c1e1b9e2bb8810d19"></a>
4023<div class="memitem">
4024<div class="memproto">
4025 <table class="memname">
4026 <tr>
4027 <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>
4028 </tr>
4029 </table>
4030</div><div class="memdoc">
4031
4032<p>Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. </p>
4033
4034<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>
4035
4036</div>
4037</div>
4038<a class="anchor" id="a3f9ab729931f4e4fa36ff1683186d988"></a>
4039<div class="memitem">
4040<div class="memproto">
4041 <table class="memname">
4042 <tr>
4043 <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>
4044 </tr>
4045 </table>
4046</div><div class="memdoc">
4047
Jenkinsb3a371b2018-05-23 11:36:53 +01004048<p>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> of 2D Sizes. </p>
4049
4050<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00115">115</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004051
4052</div>
4053</div>
4054<a class="anchor" id="a7b4c4a79c73a3f85ba89aff03fddefa7"></a>
4055<div class="memitem">
4056<div class="memproto">
4057 <table class="memname">
4058 <tr>
4059 <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>
4060 </tr>
4061 </table>
4062</div><div class="memdoc">
4063
Jenkinsb3a371b2018-05-23 11:36:53 +01004064<p>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> of uint16s. </p>
4065
4066<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00119">119</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004067
4068</div>
4069</div>
4070<a class="anchor" id="a1d7d89b7e990055dc95ed37dfb24da48"></a>
4071<div class="memitem">
4072<div class="memproto">
4073 <table class="memname">
4074 <tr>
4075 <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>
4076 </tr>
4077 </table>
4078</div><div class="memdoc">
4079
Jenkinsb3a371b2018-05-23 11:36:53 +01004080<p>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> of uint32s. </p>
4081
4082<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004083
4084</div>
4085</div>
4086<a class="anchor" id="aa031694bb03711e09e25546ad2b643cc"></a>
4087<div class="memitem">
4088<div class="memproto">
4089 <table class="memname">
4090 <tr>
4091 <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>
4092 </tr>
4093 </table>
4094</div><div class="memdoc">
4095
Jenkinsb3a371b2018-05-23 11:36:53 +01004096<p>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> of uint8s. </p>
4097
4098<p>Definition at line <a class="el" href="_c_l_array_8h_source.xhtml#l00117">117</a> of file <a class="el" href="_c_l_array_8h_source.xhtml">CLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004099
4100</div>
4101</div>
4102<a class="anchor" id="a327abccf7b43aa32d6a24319b986f3ab"></a>
4103<div class="memitem">
4104<div class="memproto">
4105 <table class="memname">
4106 <tr>
4107 <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>
4108 </tr>
4109 </table>
4110</div><div class="memdoc">
4111
Jenkinsb3a371b2018-05-23 11:36:53 +01004112<p><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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
4113
4114<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004115
4116</div>
4117</div>
4118<a class="anchor" id="a5fe01ab895629edd84a511b56657d79e"></a>
4119<div class="memitem">
4120<div class="memproto">
4121 <table class="memname">
4122 <tr>
4123 <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>
4124 </tr>
4125 </table>
4126</div><div class="memdoc">
4127
Jenkinsb3a371b2018-05-23 11:36:53 +01004128<p><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 Detection Windows. </p>
4129
4130<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004131
4132</div>
4133</div>
4134<a class="anchor" id="a6e06029aa1b68c0cdeb80656cc9353fe"></a>
4135<div class="memitem">
4136<div class="memproto">
4137 <table class="memname">
4138 <tr>
4139 <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>
4140 </tr>
4141 </table>
4142</div><div class="memdoc">
4143
Jenkinsb3a371b2018-05-23 11:36:53 +01004144<p><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 floats. </p>
4145
4146<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00085">85</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004147
4148</div>
4149</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004150<a class="anchor" id="a10f3af894ca8b0479a5e6bc296083314"></a>
4151<div class="memitem">
4152<div class="memproto">
4153 <table class="memname">
4154 <tr>
4155 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a10f3af894ca8b0479a5e6bc296083314">GCDirectConvolutionLayer1x1Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>&lt;1&gt;</td>
4156 </tr>
4157 </table>
4158</div><div class="memdoc">
4159
Jenkinsb3a371b2018-05-23 11:36:53 +01004160<p>Interface for the 1x1 direct convolution kernel. </p>
4161
4162<p>Definition at line <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml#l00086">86</a> of file <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml">GCDirectConvolutionLayerKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004163
4164</div>
4165</div>
4166<a class="anchor" id="a35ccf8834da8b67bfb9c61fbc5e5f1e6"></a>
4167<div class="memitem">
4168<div class="memproto">
4169 <table class="memname">
4170 <tr>
4171 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a35ccf8834da8b67bfb9c61fbc5e5f1e6">GCDirectConvolutionLayer3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>&lt;3&gt;</td>
4172 </tr>
4173 </table>
4174</div><div class="memdoc">
4175
Jenkinsb3a371b2018-05-23 11:36:53 +01004176<p>Interface for the 3x3 direct convolution kernel. </p>
4177
4178<p>Definition at line <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml#l00088">88</a> of file <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml">GCDirectConvolutionLayerKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004179
4180</div>
4181</div>
4182<a class="anchor" id="a227e525a4d0a4da25040cfdf8a3cf06b"></a>
4183<div class="memitem">
4184<div class="memproto">
4185 <table class="memname">
4186 <tr>
4187 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a227e525a4d0a4da25040cfdf8a3cf06b">GCDirectConvolutionLayer5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>&lt;5&gt;</td>
4188 </tr>
4189 </table>
4190</div><div class="memdoc">
4191
Jenkinsb3a371b2018-05-23 11:36:53 +01004192<p>Interface for the 5x5 direct convolution kernel. </p>
4193
4194<p>Definition at line <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml#l00090">90</a> of file <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml">GCDirectConvolutionLayerKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004195
4196</div>
4197</div>
4198<a class="anchor" id="a0b1d72d612fb6f33393ea6cd6cbcf523"></a>
4199<div class="memitem">
4200<div class="memproto">
4201 <table class="memname">
4202 <tr>
4203 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0b1d72d612fb6f33393ea6cd6cbcf523">GCImage</a> = <a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml">GCTensor</a></td>
4204 </tr>
4205 </table>
4206</div><div class="memdoc">
4207
Jenkinsb3a371b2018-05-23 11:36:53 +01004208<p>OpenGL ES <a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
4209
4210<p>Definition at line <a class="el" href="_g_c_tensor_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_g_c_tensor_8h_source.xhtml">GCTensor.h</a>.</p>
4211
4212</div>
4213</div>
4214<a class="anchor" id="abb079bea3cd2a65a7018eab99392747e"></a>
4215<div class="memitem">
4216<div class="memproto">
4217 <table class="memname">
4218 <tr>
4219 <td class="memname">typedef <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml">GCTensor</a> &gt; <a class="el" href="namespacearm__compute.xhtml#abb079bea3cd2a65a7018eab99392747e">GCMemoryGroup</a></td>
4220 </tr>
4221 </table>
4222</div><div class="memdoc">
4223
4224<p>Definition at line <a class="el" href="_g_c_memory_group_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_g_c_memory_group_8h_source.xhtml">GCMemoryGroup.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004225
4226</div>
4227</div>
Kaizen8938bd32017-09-28 14:38:23 +01004228<a class="anchor" id="ad2398d0f2ce77c10bbebf1f85317dde5"></a>
4229<div class="memitem">
4230<div class="memproto">
4231 <table class="memname">
4232 <tr>
4233 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ad2398d0f2ce77c10bbebf1f85317dde5">GroupMappings</a> = std::map&lt;size_t, <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a>&gt;</td>
4234 </tr>
4235 </table>
4236</div><div class="memdoc">
4237
4238<p>A map of the groups and memory mappings. </p>
4239
4240<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00046">46</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
4241
4242</div>
4243</div>
4244<a class="anchor" id="a73e2825fd61d349c5ca2f5313e3c8ea1"></a>
4245<div class="memitem">
4246<div class="memproto">
4247 <table class="memname">
4248 <tr>
4249 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> = half_float::half</td>
4250 </tr>
4251 </table>
4252</div><div class="memdoc">
4253
4254<p>16-bit floating point type </p>
4255
Anthony Barbier06ea0482018-02-22 15:45:35 +00004256<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00044">44</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004257
4258</div>
4259</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004260<a class="anchor" id="a05d88c40a53babe38cb2cb5841c4a0ad"></a>
4261<div class="memitem">
4262<div class="memproto">
4263 <table class="memname">
4264 <tr>
4265 <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>
4266 </tr>
4267 </table>
4268</div><div class="memdoc">
4269
Jenkinsb3a371b2018-05-23 11:36:53 +01004270<p>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> of Coefficient Tables. </p>
4271
4272<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00068">68</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004273
4274</div>
4275</div>
4276<a class="anchor" id="adf4063963bf3a4b07a5d0cc840da9ee2"></a>
4277<div class="memitem">
4278<div class="memproto">
4279 <table class="memname">
4280 <tr>
4281 <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>
4282 </tr>
4283 </table>
4284</div><div class="memdoc">
4285
Jenkinsb3a371b2018-05-23 11:36:53 +01004286<p>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> of 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
4287
4288<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00121">121</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004289
4290</div>
4291</div>
4292<a class="anchor" id="a4cc908807b0a45ccc6ce7ba340ae2259"></a>
4293<div class="memitem">
4294<div class="memproto">
4295 <table class="memname">
4296 <tr>
4297 <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>
4298 </tr>
4299 </table>
4300</div><div class="memdoc">
4301
Jenkinsb3a371b2018-05-23 11:36:53 +01004302<p>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> of Detection Windows. </p>
4303
4304<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004305
4306</div>
4307</div>
4308<a class="anchor" id="a631bac7c033a0d341c631870f9755217"></a>
4309<div class="memitem">
4310<div class="memproto">
4311 <table class="memname">
4312 <tr>
4313 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a631bac7c033a0d341c631870f9755217">ICLFloatArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;cl_float&gt;</td>
4314 </tr>
4315 </table>
4316</div><div class="memdoc">
4317
Jenkinsb3a371b2018-05-23 11:36:53 +01004318<p>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> of floats. </p>
4319
4320<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004321
4322</div>
4323</div>
4324<a class="anchor" id="aa80145f30ddae0c2ccbcaa910e3e71dd"></a>
4325<div class="memitem">
4326<div class="memproto">
4327 <table class="memname">
4328 <tr>
4329 <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>
4330 </tr>
4331 </table>
4332</div><div class="memdoc">
4333
Jenkinsb3a371b2018-05-23 11:36:53 +01004334<p>Interface for OpenCL images. </p>
4335
4336<p>Definition at line <a class="el" href="_i_c_l_multi_image_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_i_c_l_multi_image_8h_source.xhtml">ICLMultiImage.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004337
4338</div>
4339</div>
4340<a class="anchor" id="a67328fa21e30aecd0c27d6d2e63a2b9c"></a>
4341<div class="memitem">
4342<div class="memproto">
4343 <table class="memname">
4344 <tr>
4345 <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>
4346 </tr>
4347 </table>
4348</div><div class="memdoc">
4349
Jenkinsb3a371b2018-05-23 11:36:53 +01004350<p>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> of int16s. </p>
4351
4352<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00135">135</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004353
4354</div>
4355</div>
4356<a class="anchor" id="ab95380ecf1c0253f6c785c0f59194066"></a>
4357<div class="memitem">
4358<div class="memproto">
4359 <table class="memname">
4360 <tr>
4361 <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>
4362 </tr>
4363 </table>
4364</div><div class="memdoc">
4365
Jenkinsb3a371b2018-05-23 11:36:53 +01004366<p>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> of int32s. </p>
4367
4368<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00137">137</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004369
4370</div>
4371</div>
4372<a class="anchor" id="adb969f0e554bf563f2fa671399d59280"></a>
4373<div class="memitem">
4374<div class="memproto">
4375 <table class="memname">
4376 <tr>
4377 <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>
4378 </tr>
4379 </table>
4380</div><div class="memdoc">
4381
Jenkinsb3a371b2018-05-23 11:36:53 +01004382<p>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> of Key Points. </p>
4383
4384<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00119">119</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004385
4386</div>
4387</div>
4388<a class="anchor" id="a569a32a7a853d4708fd4f4840c88a157"></a>
4389<div class="memitem">
4390<div class="memproto">
4391 <table class="memname">
4392 <tr>
4393 <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>
4394 </tr>
4395 </table>
4396</div><div class="memdoc">
4397
Jenkinsb3a371b2018-05-23 11:36:53 +01004398<p>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> of Internal Key Points. </p>
4399
4400<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004401
4402</div>
4403</div>
4404<a class="anchor" id="a0339a19c93dde6754834a7d4ec7dab73"></a>
4405<div class="memitem">
4406<div class="memproto">
4407 <table class="memname">
4408 <tr>
4409 <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>
4410 </tr>
4411 </table>
4412</div><div class="memdoc">
4413
Jenkinsb3a371b2018-05-23 11:36:53 +01004414<p>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> of Old Values. </p>
4415
4416<p>Definition at line <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml#l00070">70</a> of file <a class="el" href="_c_l_l_k_tracker_kernel_8h_source.xhtml">CLLKTrackerKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004417
4418</div>
4419</div>
Kaizen8938bd32017-09-28 14:38:23 +01004420<a class="anchor" id="a64e11fcdd0f4a3f7d832495b7053fbe9"></a>
4421<div class="memitem">
4422<div class="memproto">
4423 <table class="memname">
4424 <tr>
4425 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a64e11fcdd0f4a3f7d832495b7053fbe9">ICLROIArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>&lt;<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>&gt;</td>
4426 </tr>
4427 </table>
4428</div><div class="memdoc">
4429
Jenkinsb3a371b2018-05-23 11:36:53 +01004430<p>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> of ROIs. </p>
4431
4432<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00125">125</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004433
4434</div>
4435</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004436<a class="anchor" id="a68396eee600b3d23bf7f95a802e65dff"></a>
4437<div class="memitem">
4438<div class="memproto">
4439 <table class="memname">
4440 <tr>
4441 <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>
4442 </tr>
4443 </table>
4444</div><div class="memdoc">
4445
Jenkinsb3a371b2018-05-23 11:36:53 +01004446<p>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> of 2D Sizes. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004447
Jenkinsb3a371b2018-05-23 11:36:53 +01004448<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00127">127</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004449
4450</div>
4451</div>
4452<a class="anchor" id="aed5c7222c31a34327f00de37d8c4f4fc"></a>
4453<div class="memitem">
4454<div class="memproto">
4455 <table class="memname">
4456 <tr>
4457 <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>
4458 </tr>
4459 </table>
4460</div><div class="memdoc">
4461
Jenkinsb3a371b2018-05-23 11:36:53 +01004462<p>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> of uint16s. </p>
4463
4464<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00131">131</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004465
4466</div>
4467</div>
4468<a class="anchor" id="a6b5f839e8d27c6351e8d58812dd46c97"></a>
4469<div class="memitem">
4470<div class="memproto">
4471 <table class="memname">
4472 <tr>
4473 <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>
4474 </tr>
4475 </table>
4476</div><div class="memdoc">
4477
Jenkinsb3a371b2018-05-23 11:36:53 +01004478<p>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> of uint32s. </p>
4479
4480<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00133">133</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004481
4482</div>
4483</div>
4484<a class="anchor" id="a72251c7a73b3c057ffca9f32ee3e19ea"></a>
4485<div class="memitem">
4486<div class="memproto">
4487 <table class="memname">
4488 <tr>
4489 <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>
4490 </tr>
4491 </table>
4492</div><div class="memdoc">
4493
Jenkinsb3a371b2018-05-23 11:36:53 +01004494<p>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> of uint8s. </p>
4495
4496<p>Definition at line <a class="el" href="_i_c_l_array_8h_source.xhtml#l00129">129</a> of file <a class="el" href="_i_c_l_array_8h_source.xhtml">ICLArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004497
4498</div>
4499</div>
4500<a class="anchor" id="aac9efd49d3bbbd53779713e5fb37de62"></a>
4501<div class="memitem">
4502<div class="memproto">
4503 <table class="memname">
4504 <tr>
4505 <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>
4506 </tr>
4507 </table>
4508</div><div class="memdoc">
4509
Jenkinsb3a371b2018-05-23 11:36:53 +01004510<p>Interface for <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 2D <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
4511
4512<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00142">142</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004513
4514</div>
4515</div>
4516<a class="anchor" id="a52b3b9de6092ae37321159c4c2f1bf40"></a>
4517<div class="memitem">
4518<div class="memproto">
4519 <table class="memname">
4520 <tr>
4521 <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>
4522 </tr>
4523 </table>
4524</div><div class="memdoc">
4525
Jenkinsb3a371b2018-05-23 11:36:53 +01004526<p>Interface for <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 Detection Windows. </p>
4527
4528<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00144">144</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004529
4530</div>
4531</div>
4532<a class="anchor" id="a8a82a1928159e86b0778c3c14e8842be"></a>
4533<div class="memitem">
4534<div class="memproto">
4535 <table class="memname">
4536 <tr>
4537 <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>
4538 </tr>
4539 </table>
4540</div><div class="memdoc">
4541
Jenkinsb3a371b2018-05-23 11:36:53 +01004542<p>Interface for <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 floats. </p>
4543
4544<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00160">160</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004545
4546</div>
4547</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004548<a class="anchor" id="a39070701484fa98eaa18cfcdb6aeb175"></a>
4549<div class="memitem">
4550<div class="memproto">
4551 <table class="memname">
4552 <tr>
4553 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a39070701484fa98eaa18cfcdb6aeb175">IGCImage</a> = <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a></td>
4554 </tr>
4555 </table>
4556</div><div class="memdoc">
4557
Jenkinsb3a371b2018-05-23 11:36:53 +01004558<p>Interface for GLES Compute image. </p>
4559
4560<p>Definition at line <a class="el" href="_i_g_c_tensor_8h_source.xhtml#l00111">111</a> of file <a class="el" href="_i_g_c_tensor_8h_source.xhtml">IGCTensor.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004561
4562</div>
4563</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004564<a class="anchor" id="ac20902ac1ef01783c8a8d71a9bdf1100"></a>
4565<div class="memitem">
4566<div class="memproto">
4567 <table class="memname">
4568 <tr>
4569 <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>
4570 </tr>
4571 </table>
4572</div><div class="memdoc">
4573
Jenkinsb3a371b2018-05-23 11:36:53 +01004574<p>Interface for CPP Images. </p>
4575
4576<p>Definition at line <a class="el" href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_c_p_p_corner_candidates_kernel_8h_source.xhtml">CPPCornerCandidatesKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004577
4578</div>
4579</div>
4580<a class="anchor" id="a1dd5e04cea002eae658fa2a899848ad7"></a>
4581<div class="memitem">
4582<div class="memproto">
4583 <table class="memname">
4584 <tr>
4585 <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>
4586 </tr>
4587 </table>
4588</div><div class="memdoc">
4589
Jenkinsb3a371b2018-05-23 11:36:53 +01004590<p>Interface for <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 int16s. </p>
4591
4592<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00156">156</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004593
4594</div>
4595</div>
4596<a class="anchor" id="a51fdf34dfc5c60b6f4f455f0a9cac457"></a>
4597<div class="memitem">
4598<div class="memproto">
4599 <table class="memname">
4600 <tr>
4601 <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>
4602 </tr>
4603 </table>
4604</div><div class="memdoc">
4605
Jenkinsb3a371b2018-05-23 11:36:53 +01004606<p>Interface for <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 int32s. </p>
4607
4608<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00158">158</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004609
4610</div>
4611</div>
4612<a class="anchor" id="ab56a557a5fdf97819f23c35c24f0b0d2"></a>
4613<div class="memitem">
4614<div class="memproto">
4615 <table class="memname">
4616 <tr>
4617 <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>
4618 </tr>
4619 </table>
4620</div><div class="memdoc">
4621
Jenkinsb3a371b2018-05-23 11:36:53 +01004622<p>Interface for <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 Key Points. </p>
4623
4624<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00140">140</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004625
4626</div>
4627</div>
4628<a class="anchor" id="a7fb6a368d181ef193475f725c713430a"></a>
4629<div class="memitem">
4630<div class="memproto">
4631 <table class="memname">
4632 <tr>
4633 <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>
4634 </tr>
4635 </table>
4636</div><div class="memdoc">
4637
Jenkinsb3a371b2018-05-23 11:36:53 +01004638<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a>. </p>
4639
4640<p>Definition at line <a class="el" href="runtime_2_tensor_8h_source.xhtml#l00064">64</a> of file <a class="el" href="runtime_2_tensor_8h_source.xhtml">Tensor.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004641
4642</div>
4643</div>
4644<a class="anchor" id="a9f3ed96e009111cfbe53d3f77c712390"></a>
4645<div class="memitem">
4646<div class="memproto">
4647 <table class="memname">
4648 <tr>
4649 <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>
4650 </tr>
4651 </table>
4652</div><div class="memdoc">
4653
Jenkinsb3a371b2018-05-23 11:36:53 +01004654<p>Common interface for all kernels implemented in NEON. </p>
4655
4656<p>Definition at line <a class="el" href="_i_n_e_kernel_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_i_n_e_kernel_8h_source.xhtml">INEKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004657
4658</div>
4659</div>
4660<a class="anchor" id="a19699533eb1b662e46a10715f6086487"></a>
4661<div class="memitem">
4662<div class="memproto">
4663 <table class="memname">
4664 <tr>
4665 <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>
4666 </tr>
4667 </table>
4668</div><div class="memdoc">
4669
Jenkinsb3a371b2018-05-23 11:36:53 +01004670<p>Interface for NEON <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 Internal Key Points. </p>
4671
4672<p>Definition at line <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml#l00049">49</a> of file <a class="el" href="_n_e_l_k_tracker_kernel_8h_source.xhtml">NELKTrackerKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004673
4674</div>
4675</div>
4676<a class="anchor" id="a4aad0c49ce3d7cf4693830398f190250"></a>
4677<div class="memitem">
4678<div class="memproto">
4679 <table class="memname">
4680 <tr>
4681 <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>
4682 </tr>
4683 </table>
4684</div><div class="memdoc">
4685
Jenkinsb3a371b2018-05-23 11:36:53 +01004686<p>Interface for simple NEON kernels having 1 tensor input and 1 tensor output. </p>
4687
4688<p>Definition at line <a class="el" href="_i_n_e_simple_kernel_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_i_n_e_simple_kernel_8h_source.xhtml">INESimpleKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004689
4690</div>
4691</div>
4692<a class="anchor" id="a69c19b38cbee8fa6680513f6ff76bbb3"></a>
4693<div class="memitem">
4694<div class="memproto">
4695 <table class="memname">
4696 <tr>
4697 <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>
4698 </tr>
4699 </table>
4700</div><div class="memdoc">
4701
Jenkinsb3a371b2018-05-23 11:36:53 +01004702<p><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 int16s. </p>
4703
4704<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00081">81</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004705
4706</div>
4707</div>
4708<a class="anchor" id="a6af9862834629c287a81b16837b51e44"></a>
4709<div class="memitem">
4710<div class="memproto">
4711 <table class="memname">
4712 <tr>
4713 <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>
4714 </tr>
4715 </table>
4716</div><div class="memdoc">
4717
Jenkinsb3a371b2018-05-23 11:36:53 +01004718<p><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 int32s. </p>
4719
4720<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00083">83</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004721
4722</div>
4723</div>
4724<a class="anchor" id="a2ab89a5d0959531aac270879cdd3ed78"></a>
4725<div class="memitem">
4726<div class="memproto">
4727 <table class="memname">
4728 <tr>
4729 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple&lt;float, float, float&gt;</td>
4730 </tr>
4731 </table>
4732</div><div class="memdoc">
4733
Jenkinsb3a371b2018-05-23 11:36:53 +01004734<p>Internal key point. </p>
4735
Jenkins52ba29e2018-08-29 15:32:11 +00004736<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00445">445</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004737
4738</div>
4739</div>
4740<a class="anchor" id="ae273be451a4d6de5fa255cb8fb09a64b"></a>
4741<div class="memitem">
4742<div class="memproto">
4743 <table class="memname">
4744 <tr>
4745 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ae273be451a4d6de5fa255cb8fb09a64b">IROIArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>&lt;<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>&gt;</td>
4746 </tr>
4747 </table>
4748</div><div class="memdoc">
4749
Jenkinsb3a371b2018-05-23 11:36:53 +01004750<p>Interface for <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 ROIs. </p>
4751
4752<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00146">146</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004753
4754</div>
4755</div>
4756<a class="anchor" id="a32e4b9083329486a06960006af89a84c"></a>
4757<div class="memitem">
4758<div class="memproto">
4759 <table class="memname">
4760 <tr>
4761 <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>
4762 </tr>
4763 </table>
4764</div><div class="memdoc">
4765
Jenkinsb3a371b2018-05-23 11:36:53 +01004766<p>Interface for <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 2D Sizes. </p>
4767
4768<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00148">148</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004769
4770</div>
4771</div>
4772<a class="anchor" id="a1ffe8af91a934c926d102938db8d3ce1"></a>
4773<div class="memitem">
4774<div class="memproto">
4775 <table class="memname">
4776 <tr>
4777 <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>
4778 </tr>
4779 </table>
4780</div><div class="memdoc">
4781
Jenkinsb3a371b2018-05-23 11:36:53 +01004782<p>Interface for <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 uint16s. </p>
4783
4784<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00152">152</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004785
4786</div>
4787</div>
4788<a class="anchor" id="ac9b2a6fa6e146437bfc8c0bee96e4760"></a>
4789<div class="memitem">
4790<div class="memproto">
4791 <table class="memname">
4792 <tr>
4793 <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>
4794 </tr>
4795 </table>
4796</div><div class="memdoc">
4797
Jenkinsb3a371b2018-05-23 11:36:53 +01004798<p>Interface for <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 uint32s. </p>
4799
4800<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00154">154</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004801
4802</div>
4803</div>
4804<a class="anchor" id="a276401fd5651e75431d3e1cc90601caa"></a>
4805<div class="memitem">
4806<div class="memproto">
4807 <table class="memname">
4808 <tr>
4809 <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>
4810 </tr>
4811 </table>
4812</div><div class="memdoc">
4813
Jenkinsb3a371b2018-05-23 11:36:53 +01004814<p>Interface for <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 uint8s. </p>
4815
4816<p>Definition at line <a class="el" href="_i_array_8h_source.xhtml#l00150">150</a> of file <a class="el" href="_i_array_8h_source.xhtml">IArray.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004817
4818</div>
4819</div>
4820<a class="anchor" id="a8856eca9a83e16bb0cb5880e9c6c9fe7"></a>
4821<div class="memitem">
4822<div class="memproto">
4823 <table class="memname">
4824 <tr>
4825 <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>
4826 </tr>
4827 </table>
4828</div><div class="memdoc">
4829
Jenkinsb3a371b2018-05-23 11:36:53 +01004830<p><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 Key Points. </p>
4831
4832<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004833
4834</div>
4835</div>
4836<a class="anchor" id="a681c120e2188371794ec3a59768c64ab"></a>
4837<div class="memitem">
4838<div class="memproto">
4839 <table class="memname">
4840 <tr>
4841 <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>
4842 </tr>
4843 </table>
4844</div><div class="memdoc">
4845
Jenkinsb3a371b2018-05-23 11:36:53 +01004846<p><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 LK Internel Keypoints. </p>
4847
4848<p>Definition at line <a class="el" href="_n_e_optical_flow_8h_source.xhtml#l00046">46</a> of file <a class="el" href="_n_e_optical_flow_8h_source.xhtml">NEOpticalFlow.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004849
4850</div>
4851</div>
4852<a class="anchor" id="a0e7a03e2e133cb1fbb12517a3f646a09"></a>
4853<div class="memitem">
4854<div class="memproto">
4855 <table class="memname">
4856 <tr>
4857 <td class="memname">typedef <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>&lt; <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> &gt; <a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a></td>
4858 </tr>
4859 </table>
4860</div><div class="memdoc">
4861
Jenkinsb3a371b2018-05-23 11:36:53 +01004862<p><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Group. </p>
4863
4864<p>Definition at line <a class="el" href="_memory_group_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_memory_group_8h_source.xhtml">MemoryGroup.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01004865
4866</div>
4867</div>
4868<a class="anchor" id="a762c7da7319adcc433b3ac7a67e18ed5"></a>
4869<div class="memitem">
4870<div class="memproto">
4871 <table class="memname">
4872 <tr>
4873 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> = std::map&lt;void **, size_t&gt;</td>
4874 </tr>
4875 </table>
4876</div><div class="memdoc">
4877
4878<p>A map of (handle, index/offset), where handle is the memory handle of the object to provide the memory for and index/offset is the buffer/offset from the pool that should be used. </p>
4879<dl class="section note"><dt>Note</dt><dd>All objects are pre-pinned to specific buffers to avoid any relevant overheads </dd></dl>
4880
4881<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00043">43</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
4882
4883</div>
4884</div>
4885<a class="anchor" id="acded863dbfdd730829d4188d67eefcf0"></a>
4886<div class="memitem">
4887<div class="memproto">
4888 <table class="memname">
4889 <tr>
4890 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> = std::mutex</td>
4891 </tr>
4892 </table>
4893</div><div class="memdoc">
4894
Jenkinsb3a371b2018-05-23 11:36:53 +01004895<p>Wrapper of Mutex data-object. </p>
4896
4897<p>Definition at line <a class="el" href="_mutex_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_mutex_8h_source.xhtml">Mutex.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00004898
4899</div>
4900</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004901<a class="anchor" id="aff99c045b07329b332b1cb97a2dd1518"></a>
4902<div class="memitem">
4903<div class="memproto">
4904 <table class="memname">
4905 <tr>
4906 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aff99c045b07329b332b1cb97a2dd1518">NEAccumulateWeightedFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td>
4907 </tr>
4908 </table>
4909</div><div class="memdoc">
4910
Jenkinsb3a371b2018-05-23 11:36:53 +01004911<p>Interface for the accumulate weighted kernel using F16. </p>
4912
4913<p>Definition at line <a class="el" href="_n_e_accumulate_kernel_8h_source.xhtml#l00105">105</a> of file <a class="el" href="_n_e_accumulate_kernel_8h_source.xhtml">NEAccumulateKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004914
4915</div>
4916</div>
4917<a class="anchor" id="a96f7f6f98dc47e0dc3b928bf87397ebf"></a>
4918<div class="memitem">
4919<div class="memproto">
4920 <table class="memname">
4921 <tr>
4922 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a96f7f6f98dc47e0dc3b928bf87397ebf">NEBox3x3FP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td>
4923 </tr>
4924 </table>
4925</div><div class="memdoc">
4926
Jenkinsb3a371b2018-05-23 11:36:53 +01004927<p>NEON kernel to perform a Box 3x3 filter for FP16 datatype. </p>
4928
4929<p>Definition at line <a class="el" href="_n_e_box3x3_kernel_8h_source.xhtml#l00068">68</a> of file <a class="el" href="_n_e_box3x3_kernel_8h_source.xhtml">NEBox3x3Kernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00004930
4931</div>
4932</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004933<a class="anchor" id="acf81639b3d33b5da654ef088e4d10520"></a>
4934<div class="memitem">
4935<div class="memproto">
4936 <table class="memname">
4937 <tr>
4938 <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>
4939 </tr>
4940 </table>
4941</div><div class="memdoc">
4942
4943<p>Interface for the kernel which applied a 3x3 convolution to a tensor. </p>
4944
Anthony Barbier06ea0482018-02-22 15:45:35 +00004945<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004946
4947</div>
4948</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01004949<a class="anchor" id="adbc7771d367ba8f51da1450d3602e5c0"></a>
4950<div class="memitem">
4951<div class="memproto">
4952 <table class="memname">
4953 <tr>
4954 <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>
4955 </tr>
4956 </table>
4957</div><div class="memdoc">
4958
4959<p>Basic function to run 5x5 convolution. </p>
4960
Kaizen8938bd32017-09-28 14:38:23 +01004961<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00102">102</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
Anthony Barbier46d59272017-05-04 09:15:15 +01004962
4963</div>
4964</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004965<a class="anchor" id="a21898b2d2e31ab9af8933c66ff82c8c6"></a>
4966<div class="memitem">
4967<div class="memproto">
4968 <table class="memname">
4969 <tr>
4970 <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>
4971 </tr>
4972 </table>
4973</div><div class="memdoc">
4974
4975<p>Interface for the kernel which applied a 5x5 convolution to a tensor. </p>
4976
Anthony Barbier06ea0482018-02-22 15:45:35 +00004977<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00004978
4979</div>
4980</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01004981<a class="anchor" id="aeb2682fbeb2766df26b4be1971c9757d"></a>
4982<div class="memitem">
4983<div class="memproto">
4984 <table class="memname">
4985 <tr>
4986 <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>
4987 </tr>
4988 </table>
4989</div><div class="memdoc">
4990
4991<p>Basic function to run 7x7 convolution. </p>
4992
Kaizen8938bd32017-09-28 14:38:23 +01004993<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
Anthony Barbier46d59272017-05-04 09:15:15 +01004994
4995</div>
4996</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00004997<a class="anchor" id="ae46cbbe03d31c6c8e7eba7b58999842d"></a>
4998<div class="memitem">
4999<div class="memproto">
5000 <table class="memname">
5001 <tr>
5002 <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>
5003 </tr>
5004 </table>
5005</div><div class="memdoc">
5006
5007<p>Interface for the kernel which applied a 7x7 convolution to a tensor. </p>
5008
Anthony Barbier06ea0482018-02-22 15:45:35 +00005009<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00092">92</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005010
5011</div>
5012</div>
Anthony Barbier46d59272017-05-04 09:15:15 +01005013<a class="anchor" id="ae5a088552f26a1afafd0cbf821d256fb"></a>
5014<div class="memitem">
5015<div class="memproto">
5016 <table class="memname">
5017 <tr>
5018 <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>
5019 </tr>
5020 </table>
5021</div><div class="memdoc">
5022
5023<p>Basic function to run 9x9 convolution. </p>
5024
Kaizen8938bd32017-09-28 14:38:23 +01005025<p>Definition at line <a class="el" href="_n_e_convolution_8h_source.xhtml#l00106">106</a> of file <a class="el" href="_n_e_convolution_8h_source.xhtml">NEConvolution.h</a>.</p>
Anthony Barbier46d59272017-05-04 09:15:15 +01005026
5027</div>
5028</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005029<a class="anchor" id="a1025306f820a9e76df7e5891caacff7b"></a>
5030<div class="memitem">
5031<div class="memproto">
5032 <table class="memname">
5033 <tr>
5034 <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>
5035 </tr>
5036 </table>
5037</div><div class="memdoc">
5038
5039<p>Interface for the kernel which applied a 9x9 convolution to a tensor. </p>
5040
Anthony Barbier06ea0482018-02-22 15:45:35 +00005041<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00094">94</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005042
5043</div>
5044</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005045<a class="anchor" id="a593fd1da692f305db6ca306cb8e0158e"></a>
5046<div class="memitem">
5047<div class="memproto">
5048 <table class="memname">
5049 <tr>
5050 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a593fd1da692f305db6ca306cb8e0158e">NEGradientFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td>
5051 </tr>
5052 </table>
5053</div><div class="memdoc">
5054
Jenkinsb3a371b2018-05-23 11:36:53 +01005055<p>NEON kernel to perform Gradient computation for FP16 datatype. </p>
5056
5057<p>Definition at line <a class="el" href="_n_e_canny_edge_kernel_8h_source.xhtml#l00103">103</a> of file <a class="el" href="_n_e_canny_edge_kernel_8h_source.xhtml">NECannyEdgeKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005058
5059</div>
5060</div>
5061<a class="anchor" id="a0b6679b5d5c7f7dc527258181b04cf35"></a>
5062<div class="memitem">
5063<div class="memproto">
5064 <table class="memname">
5065 <tr>
5066 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0b6679b5d5c7f7dc527258181b04cf35">NEHarrisScoreFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a>&lt;block_size&gt;</td>
5067 </tr>
5068 </table>
5069</div><div class="memdoc">
5070
Jenkinsb3a371b2018-05-23 11:36:53 +01005071<p>Interface for the accumulate Weighted kernel using FP16. </p>
5072
5073<p>Definition at line <a class="el" href="_n_e_harris_corners_kernel_8h_source.xhtml#l00132">132</a> of file <a class="el" href="_n_e_harris_corners_kernel_8h_source.xhtml">NEHarrisCornersKernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005074
5075</div>
5076</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005077<a class="anchor" id="a38cad49e6beaef76bc1ec5064c9e9dba"></a>
5078<div class="memitem">
5079<div class="memproto">
5080 <table class="memname">
5081 <tr>
5082 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a38cad49e6beaef76bc1ec5064c9e9dba">NENonMaximaSuppression3x3FP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td>
5083 </tr>
5084 </table>
5085</div><div class="memdoc">
5086
Jenkinsb3a371b2018-05-23 11:36:53 +01005087<p>NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in FP16 if the input data type is FP32. </p>
5088
5089<p>Definition at line <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8h_source.xhtml#l00105">105</a> of file <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8h_source.xhtml">NENonMaximaSuppression3x3Kernel.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005090
5091</div>
5092</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005093<a class="anchor" id="a0604c803e41880a4a16408efc4e6a69b"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00005094<div class="memitem">
5095<div class="memproto">
5096 <table class="memname">
5097 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005098 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0604c803e41880a4a16408efc4e6a69b">NEScheduler</a> = <a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td>
Anthony Barbier871448e2017-03-24 14:54:29 +00005099 </tr>
5100 </table>
5101</div><div class="memdoc">
5102
Jenkinsb3a371b2018-05-23 11:36:53 +01005103<p>NEON <a class="el" href="classarm__compute_1_1_scheduler.xhtml" title="Configurable scheduler which supports multiple multithreading APIs and choosing between different sch...">Scheduler</a>. </p>
5104
5105<p>Definition at line <a class="el" href="_n_e_scheduler_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_n_e_scheduler_8h_source.xhtml">NEScheduler.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005106
5107</div>
5108</div>
5109<a class="anchor" id="ac78a7593874c21cff86478c1ba6df27b"></a>
5110<div class="memitem">
5111<div class="memproto">
5112 <table class="memname">
5113 <tr>
5114 <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>
5115 </tr>
5116 </table>
5117</div><div class="memdoc">
5118
5119<p>Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. </p>
5120
Anthony Barbier06ea0482018-02-22 15:45:35 +00005121<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00138">138</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005122
5123</div>
5124</div>
5125<a class="anchor" id="ae4152320657df499674ed64b16c28a7b"></a>
5126<div class="memitem">
5127<div class="memproto">
5128 <table class="memname">
5129 <tr>
5130 <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>
5131 </tr>
5132 </table>
5133</div><div class="memdoc">
5134
5135<p>Interface for the kernel which applied a 1x5 vertical convolution to a tensor. </p>
5136
Anthony Barbier06ea0482018-02-22 15:45:35 +00005137<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00198">198</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005138
5139</div>
5140</div>
5141<a class="anchor" id="aca4adbcd292c26b0e392c59875c1e926"></a>
5142<div class="memitem">
5143<div class="memproto">
5144 <table class="memname">
5145 <tr>
5146 <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>
5147 </tr>
5148 </table>
5149</div><div class="memdoc">
5150
5151<p>Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. </p>
5152
Anthony Barbier06ea0482018-02-22 15:45:35 +00005153<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00140">140</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005154
5155</div>
5156</div>
5157<a class="anchor" id="a0f952bd0821b506e18514a3f4dbc6c39"></a>
5158<div class="memitem">
5159<div class="memproto">
5160 <table class="memname">
5161 <tr>
5162 <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>
5163 </tr>
5164 </table>
5165</div><div class="memdoc">
5166
5167<p>Interface for the kernel which applied a 1x7 vertical convolution to a tensor. </p>
5168
Anthony Barbier06ea0482018-02-22 15:45:35 +00005169<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00200">200</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005170
5171</div>
5172</div>
5173<a class="anchor" id="a4ba5f6b7cd6b70b75e42149f3bc08f38"></a>
5174<div class="memitem">
5175<div class="memproto">
5176 <table class="memname">
5177 <tr>
5178 <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>
5179 </tr>
5180 </table>
5181</div><div class="memdoc">
5182
5183<p>Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. </p>
5184
Anthony Barbier06ea0482018-02-22 15:45:35 +00005185<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00142">142</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005186
5187</div>
5188</div>
5189<a class="anchor" id="a6310d21f215fface41df4cde725a62b9"></a>
5190<div class="memitem">
5191<div class="memproto">
5192 <table class="memname">
5193 <tr>
5194 <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>
5195 </tr>
5196 </table>
5197</div><div class="memdoc">
5198
5199<p>Interface for the kernel which applied a 1x9 vertical convolution to a tensor. </p>
5200
Anthony Barbier06ea0482018-02-22 15:45:35 +00005201<p>Definition at line <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml#l00202">202</a> of file <a class="el" href="_n_e_convolution_kernel_8h_source.xhtml">NEConvolutionKernel.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005202
5203</div>
5204</div>
5205<a class="anchor" id="a4467b302fc9ec312c40580336ab783da"></a>
5206<div class="memitem">
5207<div class="memproto">
5208 <table class="memname">
5209 <tr>
5210 <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>
5211 </tr>
5212 </table>
5213</div><div class="memdoc">
5214
Jenkinsb3a371b2018-05-23 11:36:53 +01005215<p>Container for 2D padding size. </p>
5216
Jenkins52ba29e2018-08-29 15:32:11 +00005217<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00376">376</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005218
5219</div>
5220</div>
5221<a class="anchor" id="a33e65be485104e2e9e69fca551d6f492"></a>
5222<div class="memitem">
5223<div class="memproto">
5224 <table class="memname">
5225 <tr>
5226 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> = <a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td>
5227 </tr>
5228 </table>
5229</div><div class="memdoc">
5230
5231<p>Permutation vector. </p>
5232
Anthony Barbier06ea0482018-02-22 15:45:35 +00005233<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00047">47</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005234
5235</div>
5236</div>
5237<a class="anchor" id="ab8938bcb3ec0f5f8d93285eb3a28b701"></a>
5238<div class="memitem">
5239<div class="memproto">
5240 <table class="memname">
5241 <tr>
5242 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> = uint8_t</td>
5243 </tr>
5244 </table>
5245</div><div class="memdoc">
5246
5247<p>8 bit quantized asymmetric scalar value </p>
5248
5249<p>Definition at line <a class="el" href="_q_asymm8_8h_source.xhtml#l00030">30</a> of file <a class="el" href="_q_asymm8_8h_source.xhtml">QAsymm8.h</a>.</p>
5250
5251</div>
5252</div>
5253<a class="anchor" id="ac7e1832b8c58f07a98fc8d390b16ac27"></a>
5254<div class="memitem">
5255<div class="memproto">
5256 <table class="memname">
5257 <tr>
5258 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> = uint8x16_t</td>
5259 </tr>
5260 </table>
5261</div><div class="memdoc">
5262
5263<p>8 bit quantized asymmetric vector with 16 elements </p>
5264
5265<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
5266
5267</div>
5268</div>
5269<a class="anchor" id="a70ecc99f2f6b646579b58463dc026671"></a>
5270<div class="memitem">
5271<div class="memproto">
5272 <table class="memname">
5273 <tr>
5274 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a70ecc99f2f6b646579b58463dc026671">qasymm8x8_t</a> = uint8x8_t</td>
5275 </tr>
5276 </table>
5277</div><div class="memdoc">
5278
5279<p>8 bit quantized asymmetric vector with 8 elements </p>
5280
5281<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00031">31</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
5282
5283</div>
5284</div>
5285<a class="anchor" id="a805d740633d70a5f0b019d72c517e67d"></a>
5286<div class="memitem">
5287<div class="memproto">
5288 <table class="memname">
5289 <tr>
5290 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a805d740633d70a5f0b019d72c517e67d">qasymm8x8x2_t</a> = uint8x8x2_t</td>
5291 </tr>
5292 </table>
5293</div><div class="memdoc">
5294
5295<p>8 bit quantized asymmetric vector with 16 elements </p>
5296
5297<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
5298
5299</div>
5300</div>
5301<a class="anchor" id="a0c6e16826765130b480af53eda3635be"></a>
5302<div class="memitem">
5303<div class="memproto">
5304 <table class="memname">
5305 <tr>
5306 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0c6e16826765130b480af53eda3635be">qasymm8x8x3_t</a> = uint8x8x3_t</td>
5307 </tr>
5308 </table>
5309</div><div class="memdoc">
5310
5311<p>8 bit quantized asymmetric vector with 24 elements </p>
5312
5313<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
5314
5315</div>
5316</div>
5317<a class="anchor" id="a41d3460ff424e2e21c629b3f27386a8b"></a>
5318<div class="memitem">
5319<div class="memproto">
5320 <table class="memname">
5321 <tr>
5322 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a41d3460ff424e2e21c629b3f27386a8b">qasymm8x8x4_t</a> = uint8x8x4_t</td>
5323 </tr>
5324 </table>
5325</div><div class="memdoc">
5326
5327<p>8 bit quantized asymmetric vector with 32 elements </p>
5328
5329<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005330
5331</div>
5332</div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005333<a class="anchor" id="a35ae0858a604c4c0672ce857e8080ae4"></a>
5334<div class="memitem">
5335<div class="memproto">
5336 <table class="memname">
5337 <tr>
5338 <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a35ae0858a604c4c0672ce857e8080ae4">ROIArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>&lt;<a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a>&gt;</td>
5339 </tr>
5340 </table>
5341</div><div class="memdoc">
5342
5343<p><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 ROIs. </p>
5344
5345<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>
5346
5347</div>
5348</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005349<a class="anchor" id="abd445adaaca7913c9344c90dc8c76358"></a>
5350<div class="memitem">
5351<div class="memproto">
5352 <table class="memname">
5353 <tr>
5354 <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>
5355 </tr>
5356 </table>
5357</div><div class="memdoc">
5358
Jenkinsb3a371b2018-05-23 11:36:53 +01005359<p><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 2D Sizes. </p>
5360
5361<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>
Anthony Barbier871448e2017-03-24 14:54:29 +00005362
5363</div>
5364</div>
5365<a class="anchor" id="ab91cb2269b2e58ed2cb6bd2ca831d434"></a>
5366<div class="memitem">
5367<div class="memproto">
5368 <table class="memname">
5369 <tr>
5370 <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>
5371 </tr>
5372 </table>
5373</div><div class="memdoc">
5374
Jenkinsb3a371b2018-05-23 11:36:53 +01005375<p><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 uint16s. </p>
5376
5377<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00077">77</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005378
5379</div>
5380</div>
5381<a class="anchor" id="acd6eb2619ccd5eee4963de3195785359"></a>
5382<div class="memitem">
5383<div class="memproto">
5384 <table class="memname">
5385 <tr>
5386 <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>
5387 </tr>
5388 </table>
5389</div><div class="memdoc">
5390
Jenkinsb3a371b2018-05-23 11:36:53 +01005391<p><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 uint32s. </p>
5392
5393<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00079">79</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005394
5395</div>
5396</div>
5397<a class="anchor" id="a9dbb5e00a3f397691eb782f03f65375c"></a>
5398<div class="memitem">
5399<div class="memproto">
5400 <table class="memname">
5401 <tr>
5402 <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>
5403 </tr>
5404 </table>
5405</div><div class="memdoc">
5406
Jenkinsb3a371b2018-05-23 11:36:53 +01005407<p><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 uint8s. </p>
5408
5409<p>Definition at line <a class="el" href="_array_8h_source.xhtml#l00075">75</a> of file <a class="el" href="_array_8h_source.xhtml">Array.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005410
5411</div>
5412</div>
5413<h2 class="groupheader">Enumeration Type Documentation</h2>
5414<a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202"></a>
5415<div class="memitem">
5416<div class="memproto">
5417<table class="mlabels">
5418 <tr>
5419 <td class="mlabels-left">
5420 <table class="memname">
5421 <tr>
5422 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a></td>
5423 </tr>
5424 </table>
5425 </td>
5426 <td class="mlabels-right">
5427<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5428 </tr>
5429</table>
5430</div><div class="memdoc">
5431
5432<p>Bilinear Interpolation method used by LKTracker. </p>
5433<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005434<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">
Jenkinsb3a371b2018-05-23 11:36:53 +01005435<p>Old-new method. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005436</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005437<tr><td class="fieldname"><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"></a>BILINEAR_SCHARR&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005438<p>Scharr method. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005439</td></tr>
5440</table>
5441
Jenkins52ba29e2018-08-29 15:32:11 +00005442<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00394">394</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5443<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>, </div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a> </div><div class="line"><a name="l00398"></a><span class="lineno"> 398</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 class="ttdoc">Old-new method. </div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005444<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 class="ttdoc">Scharr method. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005445</div><!-- fragment -->
5446</div>
5447</div>
5448<a class="anchor" id="a15a05537a472ee742404821851529327"></a>
5449<div class="memitem">
5450<div class="memproto">
5451<table class="mlabels">
5452 <tr>
5453 <td class="mlabels-left">
5454 <table class="memname">
5455 <tr>
5456 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a></td>
5457 </tr>
5458 </table>
5459 </td>
5460 <td class="mlabels-right">
5461<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5462 </tr>
5463</table>
5464</div><div class="memdoc">
5465
5466<p>Methods available to handle borders. </p>
5467<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005468<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"></a>UNDEFINED&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005469<p>Borders are left undefined. </p>
5470</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005471<tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"></a>CONSTANT&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005472<p>Pixels outside the image are assumed to have a constant value. </p>
5473</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005474<tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"></a>REPLICATE&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005475<p>Pixels outside the image are assumed to have the same value as the closest image pixel. </p>
5476</td></tr>
5477</table>
5478
Jenkins52ba29e2018-08-29 15:32:11 +00005479<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00281">281</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5480<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;{</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</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 +00005481<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>
5482<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>
5483</div><!-- fragment -->
5484</div>
5485</div>
5486<a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455a"></a>
5487<div class="memitem">
5488<div class="memproto">
5489<table class="mlabels">
5490 <tr>
5491 <td class="mlabels-left">
5492 <table class="memname">
5493 <tr>
5494 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a></td>
5495 </tr>
5496 </table>
5497 </td>
5498 <td class="mlabels-right">
5499<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5500 </tr>
5501</table>
5502</div><div class="memdoc">
5503
5504<p>Available channels. </p>
5505<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005506<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005507</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005508<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"></a>C0&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005509<p>Unknown channel format. </p>
5510<p>First channel (used by formats with unknown channel types). </p>
5511</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005512<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"></a>C1&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005513<p>Second channel (used by formats with unknown channel types). </p>
5514</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005515<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"></a>C2&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005516<p>Third channel (used by formats with unknown channel types). </p>
5517</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005518<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"></a>C3&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005519<p>Fourth channel (used by formats with unknown channel types). </p>
5520</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005521<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"></a>R&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005522<p>Red channel. </p>
5523</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005524<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"></a>G&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005525<p>Green channel. </p>
5526</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005527<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"></a>B&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005528<p>Blue channel. </p>
5529</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005530<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"></a>A&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005531<p>Alpha channel. </p>
5532</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005533<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"></a>Y&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005534<p>Luma channel. </p>
5535</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005536<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"></a>U&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005537<p>Cb/U channel. </p>
5538</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005539<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"></a>V&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005540<p>Cr/V/Value channel. </p>
5541</td></tr>
5542</table>
5543
Jenkins52ba29e2018-08-29 15:32:11 +00005544<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00479">479</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5545<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;{</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00493"></a><span class="lineno"> 493</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 +00005546<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>
5547<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>
5548<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>
5549<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">arm_compute::Channel::C0</a></div><div class="ttdoc">Unknown channel format. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005550<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>
5551<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>
5552<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>
5553<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>
5554<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">arm_compute::Channel::Y</a></div><div class="ttdoc">Luma channel. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01005555<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005556<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>
5557</div><!-- fragment -->
5558</div>
5559</div>
Kaizen8938bd32017-09-28 14:38:23 +01005560<a class="anchor" id="a3a440b3893fa10608d4428958be1c52e"></a>
5561<div class="memitem">
5562<div class="memproto">
5563<table class="mlabels">
5564 <tr>
5565 <td class="mlabels-left">
5566 <table class="memname">
5567 <tr>
5568 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a></td>
5569 </tr>
5570 </table>
5571 </td>
5572 <td class="mlabels-right">
5573<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5574 </tr>
5575</table>
5576</div><div class="memdoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005577
5578<p>Available OpenCL Version. </p>
Kaizen8938bd32017-09-28 14:38:23 +01005579<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005580<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"></a>CL10&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01005581</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005582<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"></a>CL11&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01005583</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005584<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"></a>CL12&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01005585</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005586<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"></a>CL20&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01005587</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005588<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01005589</td></tr>
5590</table>
5591
Jenkinsb3a371b2018-05-23 11:36:53 +01005592<p>Definition at line <a class="el" href="_c_l_types_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_c_l_types_8h_source.xhtml">CLTypes.h</a>.</p>
5593<div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>, <span class="comment">/* the OpenCL 1.0 */</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>, <span class="comment">/* the OpenCL 1.1 */</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>, <span class="comment">/* the OpenCL 1.2 */</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>, <span class="comment">/* the OpenCL 2.0 and above */</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> <span class="comment">/* unkown version */</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">arm_compute::CLVersion::CL20</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01005594<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">arm_compute::CLVersion::CL12</a></div></div>
5595<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">arm_compute::CLVersion::CL10</a></div></div>
5596<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">arm_compute::CLVersion::CL11</a></div></div>
5597<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
5598</div><!-- fragment -->
5599</div>
5600</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005601<a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6f"></a>
5602<div class="memitem">
5603<div class="memproto">
5604<table class="mlabels">
5605 <tr>
5606 <td class="mlabels-left">
5607 <table class="memname">
5608 <tr>
5609 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a></td>
5610 </tr>
5611 </table>
5612 </td>
5613 <td class="mlabels-right">
5614<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5615 </tr>
5616</table>
5617</div><div class="memdoc">
5618
5619<p>Policy to handle overflow. </p>
5620<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005621<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"></a>WRAP&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005622<p>Wrap around. </p>
5623</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005624<tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"></a>SATURATE&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005625<p>Saturate. </p>
5626</td></tr>
5627</table>
5628
Jenkins52ba29e2018-08-29 15:32:11 +00005629<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00379">379</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5630<div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;{</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</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 +00005631<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>
5632</div><!-- fragment -->
5633</div>
5634</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00005635<a class="anchor" id="a683661ae75dcb7aef16b9c9bde31517d"></a>
5636<div class="memitem">
5637<div class="memproto">
5638<table class="mlabels">
5639 <tr>
5640 <td class="mlabels-left">
5641 <table class="memname">
5642 <tr>
5643 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a></td>
5644 </tr>
5645 </table>
5646 </td>
5647 <td class="mlabels-right">
5648<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5649 </tr>
5650</table>
5651</div><div class="memdoc">
5652
5653<p>Available ConvolutionMethod. </p>
5654<table class="fieldtable">
5655<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3"></a>GEMM&#160;</td><td class="fielddoc">
5656<p>Convolution using GEMM. </p>
5657</td></tr>
5658<tr><td class="fieldname"><a class="anchor" id="a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76"></a>DIRECT&#160;</td><td class="fielddoc">
5659<p>Direct convolution. </p>
5660</td></tr>
5661<tr><td class="fieldname"><a class="anchor" id="a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8"></a>WINOGRAD&#160;</td><td class="fielddoc">
5662<p>Convolution using Winograd. </p>
5663</td></tr>
5664</table>
5665
Jenkins52ba29e2018-08-29 15:32:11 +00005666<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01304">1304</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5667<div class="fragment"><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;{</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, </div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, </div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a> </div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">arm_compute::ConvolutionMethod::DIRECT</a></div><div class="ttdoc">Direct convolution. </div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00005668<div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">arm_compute::ConvolutionMethod::WINOGRAD</a></div><div class="ttdoc">Convolution using Winograd. </div></div>
5669<div class="ttc" id="namespacearm__compute_xhtml_a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3"><div class="ttname"><a href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">arm_compute::ConvolutionMethod::GEMM</a></div><div class="ttdoc">Convolution using GEMM. </div></div>
5670</div><!-- fragment -->
5671</div>
5672</div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005673<a class="anchor" id="aa41d7415a5386798147cccae2333d5d4"></a>
Kaizen8938bd32017-09-28 14:38:23 +01005674<div class="memitem">
5675<div class="memproto">
5676<table class="mlabels">
5677 <tr>
5678 <td class="mlabels-left">
5679 <table class="memname">
5680 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01005681 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a></td>
Kaizen8938bd32017-09-28 14:38:23 +01005682 </tr>
5683 </table>
5684 </td>
5685 <td class="mlabels-right">
5686<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5687 </tr>
5688</table>
5689</div><div class="memdoc">
5690
Jenkinsb3a371b2018-05-23 11:36:53 +01005691<p>CPU models - we only need to detect CPUs we have microarchitecture-specific code for. </p>
5692<p>Architecture features are detected via HWCAPs. </p>
Kaizen8938bd32017-09-28 14:38:23 +01005693<table class="fieldtable">
Jenkinsb3a371b2018-05-23 11:36:53 +01005694<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b"></a>GENERIC&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01005695</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00005696<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8"></a>GENERIC_FP16&#160;</td><td class="fielddoc">
5697</td></tr>
5698<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7"></a>GENERIC_FP16_DOT&#160;</td><td class="fielddoc">
5699</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01005700<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d"></a>A53&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01005701</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01005702<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92"></a>A55r0&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01005703</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01005704<tr><td class="fieldname"><a class="anchor" id="aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca"></a>A55r1&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01005705</td></tr>
5706</table>
5707
Jenkinsb3a371b2018-05-23 11:36:53 +01005708<p>Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_c_p_p_types_8h_source.xhtml">CPPTypes.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00005709<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>,</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>,</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">arm_compute::CPUModel::GENERIC_FP16_DOT</a></div></div>
5710<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">arm_compute::CPUModel::A53</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005711<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">arm_compute::CPUModel::A55r0</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00005712<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">arm_compute::CPUModel::GENERIC_FP16</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005713<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">arm_compute::CPUModel::A55r1</a></div></div>
5714<div class="ttc" id="namespacearm__compute_xhtml_aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b"><div class="ttname"><a href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">arm_compute::CPUModel::GENERIC</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01005715</div><!-- fragment -->
5716</div>
5717</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00005718<a class="anchor" id="ad1d5cce2d9e9a5d61c243e5c989112e0"></a>
5719<div class="memitem">
5720<div class="memproto">
5721<table class="mlabels">
5722 <tr>
5723 <td class="mlabels-left">
5724 <table class="memname">
5725 <tr>
5726 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a></td>
5727 </tr>
5728 </table>
5729 </td>
5730 <td class="mlabels-right">
5731<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5732 </tr>
5733</table>
5734</div><div class="memdoc">
5735
5736<p>Supported tensor data layouts. </p>
5737<table class="fieldtable">
Jenkinsb3a371b2018-05-23 11:36:53 +01005738<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad1d5cce2d9e9a5d61c243e5c989112e0a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
5739<p>Unknown data layout. </p>
5740</td></tr>
5741<tr><td class="fieldname"><a class="anchor" id="ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"></a>NCHW&#160;</td><td class="fielddoc">
5742<p>Num samples, channels, height, width. </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00005743</td></tr>
5744<tr><td class="fieldname"><a class="anchor" id="ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"></a>NHWC&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005745<p>Num samples, height, width, channels. </p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00005746</td></tr>
5747</table>
5748
Jenkins52ba29e2018-08-29 15:32:11 +00005749<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00107">107</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5750<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">arm_compute::DataLayout::NCHW</a></div><div class="ttdoc">Num samples, channels, height, width. </div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005751<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
5752<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">arm_compute::DataLayout::NHWC</a></div><div class="ttdoc">Num samples, height, width, channels. </div></div>
5753</div><!-- fragment -->
5754</div>
5755</div>
5756<a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02"></a>
5757<div class="memitem">
5758<div class="memproto">
5759<table class="mlabels">
5760 <tr>
5761 <td class="mlabels-left">
5762 <table class="memname">
5763 <tr>
5764 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a></td>
5765 </tr>
5766 </table>
5767 </td>
5768 <td class="mlabels-right">
5769<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5770 </tr>
5771</table>
5772</div><div class="memdoc">
5773
5774<p>Supported tensor data layout dimensions. </p>
5775<table class="fieldtable">
5776<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229"></a>CHANNEL&#160;</td><td class="fielddoc">
5777<p>channel </p>
5778</td></tr>
5779<tr><td class="fieldname"><a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6"></a>HEIGHT&#160;</td><td class="fielddoc">
5780<p>height </p>
5781</td></tr>
5782<tr><td class="fieldname"><a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195"></a>WIDTH&#160;</td><td class="fielddoc">
5783<p>width </p>
5784</td></tr>
5785<tr><td class="fieldname"><a class="anchor" id="a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a"></a>BATCHES&#160;</td><td class="fielddoc">
5786<p>batches </p>
5787</td></tr>
5788</table>
5789
Jenkins52ba29e2018-08-29 15:32:11 +00005790<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00115">115</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5791<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; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>, </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a> </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">arm_compute::DataLayoutDimension::HEIGHT</a></div><div class="ttdoc">height </div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005792<div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">arm_compute::DataLayoutDimension::CHANNEL</a></div><div class="ttdoc">channel </div></div>
5793<div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">arm_compute::DataLayoutDimension::BATCHES</a></div><div class="ttdoc">batches </div></div>
5794<div class="ttc" id="namespacearm__compute_xhtml_a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">arm_compute::DataLayoutDimension::WIDTH</a></div><div class="ttdoc">width </div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00005795</div><!-- fragment -->
5796</div>
5797</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005798<a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6"></a>
5799<div class="memitem">
5800<div class="memproto">
5801<table class="mlabels">
5802 <tr>
5803 <td class="mlabels-left">
5804 <table class="memname">
5805 <tr>
5806 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a></td>
5807 </tr>
5808 </table>
5809 </td>
5810 <td class="mlabels-right">
5811<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5812 </tr>
5813</table>
5814</div><div class="memdoc">
5815
5816<p>Available data types. </p>
5817<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005818<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005819<p>Unknown data type. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005820</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005821<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5"></a>U8&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005822<p>unsigned 8-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005823</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005824<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005825<p>signed 8-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005826</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005827<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"></a>QASYMM8&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005828<p>quantized, asymmetric fixed-point 8-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005829</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005830<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005831<p>unsigned 16-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005832</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005833<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005834<p>signed 16-bit number </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01005835</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005836<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005837<p>unsigned 32-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005838</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005839<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005840<p>signed 32-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005841</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005842<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005843<p>unsigned 64-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005844</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005845<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"></a>S64&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005846<p>signed 64-bit number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005847</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005848<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94"></a>F16&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005849<p>16-bit floating-point number </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005850</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005851<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005852<p>32-bit floating-point number </p>
Kaizen8938bd32017-09-28 14:38:23 +01005853</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005854<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"></a>F64&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005855<p>64-bit floating-point number </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005856</td></tr>
5857<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"></a>SIZET&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005858<p>size_t </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00005859</td></tr>
5860</table>
5861
Anthony Barbier06ea0482018-02-22 15:45:35 +00005862<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00072">72</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00005863<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</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">1 channel, 1 U8 per channel </div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005864<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 F32 per channel </div></div>
5865<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 U16 per channel </div></div>
5866<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 F16 per channel </div></div>
5867<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 S32 per channel </div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005868<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">arm_compute::DataType::S64</a></div><div class="ttdoc">signed 64-bit number </div></div>
5869<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">arm_compute::DataType::SIZET</a></div><div class="ttdoc">size_t </div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005870<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 U32 per channel </div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005871<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::DataType::QASYMM8</a></div><div class="ttdoc">quantized, asymmetric fixed-point 8-bit number </div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005872<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 S16 per channel </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01005873<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01005874<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div><div class="ttdoc">64-bit floating-point number </div></div>
5875<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">arm_compute::DataType::U64</a></div><div class="ttdoc">unsigned 64-bit number </div></div>
5876<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">arm_compute::DataType::S8</a></div><div class="ttdoc">signed 8-bit number </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005877</div><!-- fragment -->
5878</div>
5879</div>
5880<a class="anchor" id="a1fece1bd804e64f39f602d1c3969849a"></a>
5881<div class="memitem">
5882<div class="memproto">
5883<table class="mlabels">
5884 <tr>
5885 <td class="mlabels-left">
5886 <table class="memname">
5887 <tr>
5888 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a></td>
5889 </tr>
5890 </table>
5891 </td>
5892 <td class="mlabels-right">
5893<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5894 </tr>
5895</table>
5896</div><div class="memdoc">
5897
5898<p>Dimension rounding type when down-scaling on CNNs. </p>
5899<dl class="section note"><dt>Note</dt><dd>Used in pooling and convolution layer </dd></dl>
5900<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005901<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"></a>FLOOR&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005902<p>Floor rounding. </p>
5903</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005904<tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"></a>CEIL&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005905<p>Ceil rounding. </p>
5906</td></tr>
5907</table>
5908
Jenkins52ba29e2018-08-29 15:32:11 +00005909<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00554">554</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
5910<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00558"></a><span class="lineno"> 558</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 +00005911<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>
5912</div><!-- fragment -->
5913</div>
5914</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005915<a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05f"></a>
5916<div class="memitem">
5917<div class="memproto">
5918<table class="mlabels">
5919 <tr>
5920 <td class="mlabels-left">
5921 <table class="memname">
5922 <tr>
5923 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a></td>
5924 </tr>
5925 </table>
5926 </td>
5927 <td class="mlabels-right">
5928<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5929 </tr>
5930</table>
5931</div><div class="memdoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01005932
5933<p>Available error codes. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005934<table class="fieldtable">
5935<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564"></a>OK&#160;</td><td class="fielddoc">
5936<p>No error. </p>
5937</td></tr>
5938<tr><td class="fieldname"><a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579"></a>RUNTIME_ERROR&#160;</td><td class="fielddoc">
5939<p>Generic runtime error. </p>
5940</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00005941<tr><td class="fieldname"><a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"></a>UNSUPPORTED_EXTENSION_USE&#160;</td><td class="fielddoc">
5942<p>Unsupported extension used. </p>
5943</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005944</table>
5945
Jenkinsb3a371b2018-05-23 11:36:53 +01005946<p>Definition at line <a class="el" href="_error_8h_source.xhtml#l00044">44</a> of file <a class="el" href="_error_8h_source.xhtml">Error.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00005947<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">OK</a>, </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>, </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a></div><div class="ttdoc">Unsupported extension used. </div></div>
5948<div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">arm_compute::ErrorCode::OK</a></div><div class="ttdoc">No error. </div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005949<div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">arm_compute::ErrorCode::RUNTIME_ERROR</a></div><div class="ttdoc">Generic runtime error. </div></div>
5950</div><!-- fragment -->
5951</div>
5952</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00005953<a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58"></a>
5954<div class="memitem">
5955<div class="memproto">
5956<table class="mlabels">
5957 <tr>
5958 <td class="mlabels-left">
5959 <table class="memname">
5960 <tr>
5961 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a></td>
5962 </tr>
5963 </table>
5964 </td>
5965 <td class="mlabels-right">
5966<span class="mlabels"><span class="mlabel">strong</span></span> </td>
5967 </tr>
5968</table>
5969</div><div class="memdoc">
5970
5971<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. </p>
5972<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005973<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005974<p>Unknown image format. </p>
5975</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005976<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"></a>U8&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005977<p>1 channel, 1 U8 per channel </p>
5978</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005979<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"></a>S16&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005980<p>1 channel, 1 S16 per channel </p>
5981</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005982<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005983<p>1 channel, 1 U16 per channel </p>
5984</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005985<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"></a>S32&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005986<p>1 channel, 1 S32 per channel </p>
5987</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005988<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005989<p>1 channel, 1 U32 per channel </p>
5990</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005991<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"></a>F16&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005992<p>1 channel, 1 F16 per channel </p>
5993</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005994<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005995<p>1 channel, 1 F32 per channel </p>
5996</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00005997<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"></a>UV88&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00005998<p>2 channel, 1 U8 per channel </p>
5999</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006000<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"></a>RGB888&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006001<p>3 channels, 1 U8 per channel </p>
6002</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006003<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"></a>RGBA8888&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006004<p>4 channels, 1 U8 per channel </p>
6005</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006006<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"></a>YUV444&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006007<p>A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </p>
6008</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006009<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"></a>YUYV422&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006010<p>A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </p>
6011</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006012<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"></a>NV12&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006013<p>A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </p>
6014</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006015<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"></a>NV21&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006016<p>A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </p>
6017</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006018<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"></a>IYUV&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006019<p>A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006020</td></tr>
6021<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"></a>UYVY422&#160;</td><td class="fielddoc">
6022<p>A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006023</td></tr>
6024</table>
6025
Anthony Barbier06ea0482018-02-22 15:45:35 +00006026<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00050">50</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6027<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="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</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 single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte. </div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006028<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">1 channel, 1 U8 per channel </div></div>
6029<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 F32 per channel </div></div>
6030<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 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </div></div>
6031<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 U16 per channel </div></div>
6032<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 VU data at 4:2:0 sampling. </div></div>
6033<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 F16 per channel </div></div>
6034<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 S32 per channel </div></div>
6035<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">3 channels, 1 U8 per channel </div></div>
6036<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 U32 per channel </div></div>
6037<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">A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </div></div>
6038<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 S16 per channel </div></div>
6039<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 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </div></div>
6040<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">4 channels, 1 U8 per channel </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01006041<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006042<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">2 channel, 1 U8 per channel </div></div>
6043<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 single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006044</div><!-- fragment -->
6045</div>
6046</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006047<a class="anchor" id="a735ac6c2a02e320969625308810444f3"></a>
6048<div class="memitem">
6049<div class="memproto">
6050<table class="mlabels">
6051 <tr>
6052 <td class="mlabels-left">
6053 <table class="memname">
6054 <tr>
6055 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a></td>
6056 </tr>
6057 </table>
6058 </td>
6059 <td class="mlabels-right">
6060<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6061 </tr>
6062</table>
6063</div><div class="memdoc">
6064
6065<p>Available GPU Targets. </p>
6066<table class="fieldtable">
Jenkinsb3a371b2018-05-23 11:36:53 +01006067<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN&#160;</td><td class="fielddoc">
6068</td></tr>
6069<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"></a>GPU_ARCH_MASK&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006070</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006071<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"></a>MIDGARD&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006072</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006073<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"></a>BIFROST&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006074</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006075<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"></a>T600&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006076</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006077<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"></a>T700&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006078</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006079<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"></a>T800&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006080</td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01006081<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6"></a>G71&#160;</td><td class="fielddoc">
6082</td></tr>
6083<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc"></a>G72&#160;</td><td class="fielddoc">
6084</td></tr>
6085<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0"></a>G51&#160;</td><td class="fielddoc">
6086</td></tr>
6087<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988"></a>G51BIG&#160;</td><td class="fielddoc">
6088</td></tr>
6089<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f"></a>G51LIT&#160;</td><td class="fielddoc">
6090</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +00006091<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d"></a>G76&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006092</td></tr>
6093<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4"></a>TTRX&#160;</td><td class="fielddoc">
6094</td></tr>
6095<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc"></a>TBOX&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006096</td></tr>
6097</table>
6098
Jenkinsb3a371b2018-05-23 11:36:53 +01006099<p>Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00006100<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> = 0x101,</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a> = 0x210,</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a> = 0x220,</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a> = 0x230,</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a> = 0x231,</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a> = 0x232,</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a> = 0x240,</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a> = 0x250,</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a> = 0x260</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">arm_compute::GPUTarget::G76</a></div></div>
6101<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">arm_compute::GPUTarget::G71</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006102<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">arm_compute::GPUTarget::T700</a></div></div>
6103<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">arm_compute::GPUTarget::G51LIT</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006104<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">arm_compute::GPUTarget::T800</a></div></div>
6105<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">arm_compute::GPUTarget::GPU_ARCH_MASK</a></div></div>
6106<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">arm_compute::GPUTarget::T600</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006107<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">arm_compute::GPUTarget::G72</a></div></div>
6108<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
6109<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">arm_compute::GPUTarget::TBOX</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006110<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">arm_compute::GPUTarget::MIDGARD</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006111<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">arm_compute::GPUTarget::TTRX</a></div></div>
6112<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">arm_compute::GPUTarget::G51BIG</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006113<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">arm_compute::GPUTarget::BIFROST</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006114<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">arm_compute::GPUTarget::G51</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006115</div><!-- fragment -->
6116</div>
6117</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006118<a class="anchor" id="ae46abc5ecac309cbece5c06cb80daaf7"></a>
6119<div class="memitem">
6120<div class="memproto">
6121<table class="mlabels">
6122 <tr>
6123 <td class="mlabels-left">
6124 <table class="memname">
6125 <tr>
6126 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a></td>
6127 </tr>
6128 </table>
6129 </td>
6130 <td class="mlabels-right">
6131<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6132 </tr>
6133</table>
6134</div><div class="memdoc">
6135
6136<p>Gradient dimension type. </p>
6137<table class="fieldtable">
6138<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc"></a>GRAD_XY&#160;</td><td class="fielddoc">
6139<p>x and y gradient dimension </p>
6140</td></tr>
6141</table>
6142
Jenkins52ba29e2018-08-29 15:32:11 +00006143<p>Definition at line <a class="el" href="tests_2_types_8h_source.xhtml#l00034">34</a> of file <a class="el" href="tests_2_types_8h_source.xhtml">Types.h</a>.</p>
6144<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; GRAD_X, </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; GRAD_Y, </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>, </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">arm_compute::GradientDimension::GRAD_XY</a></div><div class="ttdoc">x and y gradient dimension </div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006145</div><!-- fragment -->
6146</div>
6147</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006148<a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3"></a>
6149<div class="memitem">
6150<div class="memproto">
6151<table class="mlabels">
6152 <tr>
6153 <td class="mlabels-left">
6154 <table class="memname">
6155 <tr>
6156 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a></td>
6157 </tr>
6158 </table>
6159 </td>
6160 <td class="mlabels-right">
6161<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6162 </tr>
6163</table>
6164</div><div class="memdoc">
6165
6166<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>
6167<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006168<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006169<p>L2-norm. </p>
6170</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006171<tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"></a>L2HYS_NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006172<p>L2-norm followed by clipping. </p>
6173</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006174<tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"></a>L1_NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006175<p>L1 norm. </p>
6176</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00006177</table>
6178
Jenkins52ba29e2018-08-29 15:32:11 +00006179<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00528">528</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6180<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div><div class="line"><a name="l00533"></a><span class="lineno"> 533</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 +00006181<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>
6182<div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">arm_compute::HOGNormType::L2_NORM</a></div><div class="ttdoc">L2-norm. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006183</div><!-- fragment -->
6184</div>
6185</div>
6186<a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9"></a>
6187<div class="memitem">
6188<div class="memproto">
6189<table class="mlabels">
6190 <tr>
6191 <td class="mlabels-left">
6192 <table class="memname">
6193 <tr>
6194 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a></td>
6195 </tr>
6196 </table>
6197 </td>
6198 <td class="mlabels-right">
6199<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6200 </tr>
6201</table>
6202</div><div class="memdoc">
6203
6204<p>Interpolation method. </p>
6205<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006206<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"></a>NEAREST_NEIGHBOR&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006207<p>Output values are defined to match the source pixel whose center is nearest to the sample position. </p>
6208</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006209<tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"></a>BILINEAR&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006210<p>Output values are defined by bilinear interpolation between the pixels. </p>
6211</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006212<tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"></a>AREA&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006213<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>
6214</td></tr>
6215</table>
6216
Jenkins52ba29e2018-08-29 15:32:11 +00006217<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00386">386</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6218<div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;{</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00391"></a><span class="lineno"> 391</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 +00006219<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>
6220<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>
6221</div><!-- fragment -->
6222</div>
6223</div>
6224<a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8a"></a>
6225<div class="memitem">
6226<div class="memproto">
6227<table class="mlabels">
6228 <tr>
6229 <td class="mlabels-left">
6230 <table class="memname">
6231 <tr>
6232 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a></td>
6233 </tr>
6234 </table>
6235 </td>
6236 <td class="mlabels-right">
6237<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6238 </tr>
6239</table>
6240</div><div class="memdoc">
6241
6242<p>Magnitude calculation type. </p>
6243<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006244<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"></a>L1NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006245<p>L1 normalization type. </p>
6246</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006247<tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"></a>L2NORM&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006248<p>L2 normalization type. </p>
6249</td></tr>
6250</table>
6251
Jenkins52ba29e2018-08-29 15:32:11 +00006252<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00416">416</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6253<div class="fragment"><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;{</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00420"></a><span class="lineno"> 420</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 +00006254<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>
6255</div><!-- fragment -->
6256</div>
6257</div>
Kaizen8938bd32017-09-28 14:38:23 +01006258<a class="anchor" id="af0a4d6be70322c742c12da1edccbb74d"></a>
6259<div class="memitem">
6260<div class="memproto">
6261<table class="mlabels">
6262 <tr>
6263 <td class="mlabels-left">
6264 <table class="memname">
6265 <tr>
6266 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">MappingType</a></td>
6267 </tr>
6268 </table>
6269 </td>
6270 <td class="mlabels-right">
6271<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6272 </tr>
6273</table>
6274</div><div class="memdoc">
6275
6276<p>Mapping type. </p>
6277<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006278<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"></a>BLOBS&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006279<p>Mappings are in blob granularity. </p>
6280</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006281<tr><td class="fieldname"><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"></a>OFFSETS&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006282<p>Mappings are in offset granularity in the same blob. </p>
6283</td></tr>
6284</table>
6285
6286<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00032">32</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006287<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>, </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"><div class="ttname"><a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">arm_compute::MappingType::BLOBS</a></div><div class="ttdoc">Mappings are in blob granularity. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01006288<div class="ttc" id="namespacearm__compute_xhtml_af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"><div class="ttname"><a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">arm_compute::MappingType::OFFSETS</a></div><div class="ttdoc">Mappings are in offset granularity in the same blob. </div></div>
6289</div><!-- fragment -->
6290</div>
6291</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006292<a class="anchor" id="afdda916edc7502967bbec17ea3c06c02"></a>
6293<div class="memitem">
6294<div class="memproto">
6295<table class="mlabels">
6296 <tr>
6297 <td class="mlabels-left">
6298 <table class="memname">
6299 <tr>
6300 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a></td>
6301 </tr>
6302 </table>
6303 </td>
6304 <td class="mlabels-right">
6305<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6306 </tr>
6307</table>
6308</div><div class="memdoc">
6309
6310<p>Available matrix patterns. </p>
6311<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006312<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"></a>BOX&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006313<p>Box pattern matrix. </p>
6314</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006315<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"></a>CROSS&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006316<p>Cross pattern matrix. </p>
6317</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006318<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"></a>DISK&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006319<p>Disk pattern matrix. </p>
6320</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006321<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"></a>OTHER&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006322<p>Any other matrix pattern. </p>
6323</td></tr>
6324</table>
6325
Jenkins52ba29e2018-08-29 15:32:11 +00006326<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00496">496</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6327<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00502"></a><span class="lineno"> 502</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 +00006328<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>
6329<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>
6330<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>
6331</div><!-- fragment -->
6332</div>
6333</div>
6334<a class="anchor" id="adf2ced65e536375a1c96425d9fced858"></a>
6335<div class="memitem">
6336<div class="memproto">
6337<table class="mlabels">
6338 <tr>
6339 <td class="mlabels-left">
6340 <table class="memname">
6341 <tr>
6342 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned</td>
6343 </tr>
6344 </table>
6345 </td>
6346 <td class="mlabels-right">
6347<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6348 </tr>
6349</table>
6350</div><div class="memdoc">
6351
6352<p>Available non linear functions. </p>
6353<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006354<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"></a>MEDIAN&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006355<p>Non linear median filter. </p>
6356</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006357<tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"></a>MIN&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006358<p>Non linear erode. </p>
6359</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006360<tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"></a>MAX&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006361<p>Non linear dilate. </p>
6362</td></tr>
6363</table>
6364
Jenkins52ba29e2018-08-29 15:32:11 +00006365<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00505">505</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6366<div class="fragment"><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; : <span class="keywordtype">unsigned</span></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; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div><div class="line"><a name="l00510"></a><span class="lineno"> 510</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 +00006367<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>
6368<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>
6369</div><!-- fragment -->
6370</div>
6371</div>
6372<a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59ca"></a>
6373<div class="memitem">
6374<div class="memproto">
6375<table class="mlabels">
6376 <tr>
6377 <td class="mlabels-left">
6378 <table class="memname">
6379 <tr>
6380 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a></td>
6381 </tr>
6382 </table>
6383 </td>
6384 <td class="mlabels-right">
6385<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6386 </tr>
6387</table>
6388</div><div class="memdoc">
6389
6390<p>The normalization type used for the normalization layer. </p>
6391<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006392<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"></a>IN_MAP_1D&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006393<p>Normalization applied within the same map in 1D region. </p>
6394</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006395<tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"></a>IN_MAP_2D&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006396<p>Normalization applied within the same map in 2D region. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006397</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006398<tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"></a>CROSS_MAP&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006399<p>Normalization applied cross maps. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006400</td></tr>
6401</table>
6402
Jenkins52ba29e2018-08-29 15:32:11 +00006403<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00520">520</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6404<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">arm_compute::NormType::IN_MAP_1D</a></div><div class="ttdoc">Normalization applied within the same map in 1D region. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006405<div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">arm_compute::NormType::CROSS_MAP</a></div><div class="ttdoc">Normalization applied cross maps. </div></div>
6406<div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">arm_compute::NormType::IN_MAP_2D</a></div><div class="ttdoc">Normalization applied within the same map in 2D region. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006407</div><!-- fragment -->
6408</div>
6409</div>
6410<a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72"></a>
6411<div class="memitem">
6412<div class="memproto">
6413<table class="mlabels">
6414 <tr>
6415 <td class="mlabels-left">
6416 <table class="memname">
6417 <tr>
6418 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a></td>
6419 </tr>
6420 </table>
6421 </td>
6422 <td class="mlabels-right">
6423<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6424 </tr>
6425</table>
6426</div><div class="memdoc">
6427
6428<p>Phase calculation type. </p>
6429<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>
6430<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006431<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"></a>SIGNED&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006432<p>Angle range: [0, 360]. </p>
6433</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006434<tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"></a>UNSIGNED&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006435<p>Angle range: [0, 180]. </p>
6436</td></tr>
6437</table>
6438
Jenkins52ba29e2018-08-29 15:32:11 +00006439<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00426">426</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6440<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;{</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00430"></a><span class="lineno"> 430</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 +00006441<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>
6442</div><!-- fragment -->
6443</div>
6444</div>
6445<a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93"></a>
6446<div class="memitem">
6447<div class="memproto">
6448<table class="mlabels">
6449 <tr>
6450 <td class="mlabels-left">
6451 <table class="memname">
6452 <tr>
6453 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a></td>
6454 </tr>
6455 </table>
6456 </td>
6457 <td class="mlabels-right">
6458<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6459 </tr>
6460</table>
6461</div><div class="memdoc">
6462
6463<p>Available pooling types. </p>
6464<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006465<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5"></a>MAX&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006466<p>Max Pooling. </p>
6467</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006468<tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"></a>AVG&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006469<p>Average Pooling. </p>
6470</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006471<tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"></a>L2&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006472<p>L2 Pooling. </p>
6473</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00006474</table>
6475
Jenkins52ba29e2018-08-29 15:32:11 +00006476<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00561">561</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6477<div class="fragment"><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;{</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">arm_compute::PoolingType::L2</a></div><div class="ttdoc">L2 Pooling. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01006478<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 +00006479<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>
6480</div><!-- fragment -->
6481</div>
6482</div>
Kaizen8938bd32017-09-28 14:38:23 +01006483<a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45b"></a>
6484<div class="memitem">
6485<div class="memproto">
6486<table class="mlabels">
6487 <tr>
6488 <td class="mlabels-left">
6489 <table class="memname">
6490 <tr>
6491 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a></td>
6492 </tr>
6493 </table>
6494 </td>
6495 <td class="mlabels-right">
6496<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6497 </tr>
6498</table>
6499</div><div class="memdoc">
6500
6501<p>Available reduction operations. </p>
6502<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006503<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"></a>SUM_SQUARE&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006504<p>Sum of squares. </p>
6505</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006506<tr><td class="fieldname"><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"></a>SUM&#160;</td><td class="fielddoc">
Kaizen8938bd32017-09-28 14:38:23 +01006507<p>Sum. </p>
6508</td></tr>
6509</table>
6510
Jenkins52ba29e2018-08-29 15:32:11 +00006511<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00513">513</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6512<div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;{</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, </div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">arm_compute::ReductionOperation::SUM_SQUARE</a></div><div class="ttdoc">Sum of squares. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +01006513<div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">arm_compute::ReductionOperation::SUM</a></div><div class="ttdoc">Sum. </div></div>
6514</div><!-- fragment -->
6515</div>
6516</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006517<a class="anchor" id="add6426cbf2e057a195846d4ba09a50be"></a>
6518<div class="memitem">
6519<div class="memproto">
6520<table class="mlabels">
6521 <tr>
6522 <td class="mlabels-left">
6523 <table class="memname">
6524 <tr>
6525 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a></td>
6526 </tr>
6527 </table>
6528 </td>
6529 <td class="mlabels-right">
6530<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6531 </tr>
6532</table>
6533</div><div class="memdoc">
6534
6535<p>Rounding method. </p>
6536<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006537<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006538<p>Truncates the least significand values that are lost in operations. </p>
6539</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006540<tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"></a>TO_NEAREST_UP&#160;</td><td class="fielddoc">
6541<p>Rounds to nearest value; half rounds away from zero. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006542</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006543<tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"></a>TO_NEAREST_EVEN&#160;</td><td class="fielddoc">
Anthony Barbierdbdab852017-06-23 15:42:00 +01006544<p>Rounds to nearest value; half rounds to nearest even. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006545</td></tr>
6546</table>
6547
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006548<p>Definition at line <a class="el" href="_rounding_8h_source.xhtml#l00030">30</a> of file <a class="el" href="_rounding_8h_source.xhtml">Rounding.h</a>.</p>
6549<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;{</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>, </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>, </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">arm_compute::RoundingPolicy::TO_NEAREST_UP</a></div><div class="ttdoc">Rounds to nearest value; half rounds away from zero. </div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006550<div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">arm_compute::RoundingPolicy::TO_NEAREST_EVEN</a></div><div class="ttdoc">Rounds to nearest value; half rounds to nearest even. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006551<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>
6552</div><!-- fragment -->
6553</div>
6554</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006555<a class="anchor" id="a16a59381d4d74d17d86d69eb4d286d7b"></a>
6556<div class="memitem">
6557<div class="memproto">
6558<table class="mlabels">
6559 <tr>
6560 <td class="mlabels-left">
6561 <table class="memname">
6562 <tr>
6563 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a></td>
6564 </tr>
6565 </table>
6566 </td>
6567 <td class="mlabels-right">
6568<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6569 </tr>
6570</table>
6571</div><div class="memdoc">
6572
6573<p>Available Sampling Policies. </p>
6574<table class="fieldtable">
6575<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e"></a>CENTER&#160;</td><td class="fielddoc">
6576<p>Samples are taken at pixel center. </p>
6577</td></tr>
6578<tr><td class="fieldname"><a class="anchor" id="a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1"></a>TOP_LEFT&#160;</td><td class="fielddoc">
6579<p>Samples are taken at pixel top left corner. </p>
6580</td></tr>
6581</table>
6582
Jenkins52ba29e2018-08-29 15:32:11 +00006583<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00091">91</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6584<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, </div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a> </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;};</div><div class="ttc" id="namespacearm__compute_xhtml_a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">arm_compute::SamplingPolicy::CENTER</a></div><div class="ttdoc">Samples are taken at pixel center. </div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006585<div class="ttc" id="namespacearm__compute_xhtml_a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">arm_compute::SamplingPolicy::TOP_LEFT</a></div><div class="ttdoc">Samples are taken at pixel top left corner. </div></div>
6586</div><!-- fragment -->
6587</div>
6588</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006589<a class="anchor" id="a08c1503414e23f5dd10ff83492685453"></a>
6590<div class="memitem">
6591<div class="memproto">
6592<table class="mlabels">
6593 <tr>
6594 <td class="mlabels-left">
6595 <table class="memname">
6596 <tr>
6597 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a></td>
6598 </tr>
6599 </table>
6600 </td>
6601 <td class="mlabels-right">
6602<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6603 </tr>
6604</table>
6605</div><div class="memdoc">
6606
6607<p>Termination criteria. </p>
6608<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006609<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">
Jenkinsb3a371b2018-05-23 11:36:53 +01006610<p>Terminate when within epsilon of a threshold. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006611</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006612<tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"></a>TERM_CRITERIA_ITERATIONS&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006613<p>Terminate after a maximum number of iterations. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006614</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006615<tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"></a>TERM_CRITERIA_BOTH&#160;</td><td class="fielddoc">
Jenkinsb3a371b2018-05-23 11:36:53 +01006616<p>Terminate on whichever of the other conditions occurs first. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006617</td></tr>
6618</table>
6619
Jenkins52ba29e2018-08-29 15:32:11 +00006620<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00408">408</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6621<div class="fragment"><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;{</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, </div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>, </div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a> </div><div class="line"><a name="l00413"></a><span class="lineno"> 413</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 class="ttdoc">Terminate when within epsilon of a threshold. </div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006622<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 class="ttdoc">Terminate after a maximum number of iterations. </div></div>
6623<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 class="ttdoc">Terminate on whichever of the other conditions occurs first. </div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006624</div><!-- fragment -->
6625</div>
6626</div>
6627<a class="anchor" id="a3e6b23e675649b83240691abbc42a649"></a>
6628<div class="memitem">
6629<div class="memproto">
6630<table class="mlabels">
6631 <tr>
6632 <td class="mlabels-left">
6633 <table class="memname">
6634 <tr>
6635 <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a></td>
6636 </tr>
6637 </table>
6638 </td>
6639 <td class="mlabels-right">
6640<span class="mlabels"><span class="mlabel">strong</span></span> </td>
6641 </tr>
6642</table>
6643</div><div class="memdoc">
6644
6645<p>Threshold mode. </p>
6646<table class="fieldtable">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006647<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"></a>BINARY&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006648<p>Threshold with one value. </p>
6649</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006650<tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"></a>RANGE&#160;</td><td class="fielddoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00006651<p>Threshold with two values. </p>
6652</td></tr>
6653</table>
6654
Jenkins52ba29e2018-08-29 15:32:11 +00006655<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00401">401</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
6656<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00405"></a><span class="lineno"> 405</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 +00006657<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>
6658</div><!-- fragment -->
6659</div>
6660</div>
6661<h2 class="groupheader">Function Documentation</h2>
6662<a class="anchor" id="a41c1523098580451b378f76b8c37a0f0"></a>
6663<div class="memitem">
6664<div class="memproto">
6665<table class="mlabels">
6666 <tr>
6667 <td class="mlabels-left">
6668 <table class="memname">
6669 <tr>
6670 <td class="memname">int arm_compute::adjust_down </td>
6671 <td>(</td>
6672 <td class="paramtype">int&#160;</td>
6673 <td class="paramname"><em>required</em>, </td>
6674 </tr>
6675 <tr>
6676 <td class="paramkey"></td>
6677 <td></td>
6678 <td class="paramtype">int&#160;</td>
6679 <td class="paramname"><em>available</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>step</em>&#160;</td>
6686 </tr>
6687 <tr>
6688 <td></td>
6689 <td>)</td>
6690 <td></td><td></td>
6691 </tr>
6692 </table>
6693 </td>
6694 <td class="mlabels-right">
6695<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6696 </tr>
6697</table>
6698</div><div class="memdoc">
6699
6700<p>Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. </p>
6701<dl class="params"><dt>Parameters</dt><dd>
6702 <table class="params">
6703 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
6704 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
6705 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to decrease required bytes.</td></tr>
6706 </table>
6707 </dd>
6708</dl>
6709<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>
6710
6711<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>
6712
Jenkins52ba29e2018-08-29 15:32:11 +00006713<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
6714<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#l00337">Error.h:337</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006715</div><!-- fragment -->
6716</div>
6717</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006718<a class="anchor" id="add7f7487c235331a6518dd16ad1e3b38"></a>
6719<div class="memitem">
6720<div class="memproto">
6721<table class="mlabels">
6722 <tr>
6723 <td class="mlabels-left">
6724 <table class="memname">
6725 <tr>
6726 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::adjust_odd_shape </td>
6727 <td>(</td>
6728 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
6729 <td class="paramname"><em>shape</em>, </td>
6730 </tr>
6731 <tr>
6732 <td class="paramkey"></td>
6733 <td></td>
6734 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
6735 <td class="paramname"><em>format</em>&#160;</td>
6736 </tr>
6737 <tr>
6738 <td></td>
6739 <td>)</td>
6740 <td></td><td></td>
6741 </tr>
6742 </table>
6743 </td>
6744 <td class="mlabels-right">
6745<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6746 </tr>
6747</table>
6748</div><div class="memdoc">
6749
6750<p>Adjust tensor shape size if width or height are odd for a given multi-planar format. </p>
6751<p>No modification is done for other formats.</p>
6752<dl class="section note"><dt>Note</dt><dd>Adding here a few links discussing the issue of odd size and sharing the same solution: Android Source: <a href="https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/graphics/java/android/graphics/YuvImage.java">https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/graphics/java/android/graphics/YuvImage.java</a> WebM: <a href="https://groups.google.com/a/webmproject.org/forum/#!topic/webm-discuss/LaCKpqiDTXM">https://groups.google.com/a/webmproject.org/forum/#!topic/webm-discuss/LaCKpqiDTXM</a> libYUV: <a href="https://bugs.chromium.org/p/libyuv/issues/detail?id=198&can=1&q=odd%20width">https://bugs.chromium.org/p/libyuv/issues/detail?id=198&amp;can=1&amp;q=odd%20width</a> YUVPlayer: <a href="https://sourceforge.net/p/raw-yuvplayer/bugs/1/">https://sourceforge.net/p/raw-yuvplayer/bugs/1/</a></dd></dl>
6753<dl class="params"><dt>Parameters</dt><dd>
6754 <table class="params">
6755 <tr><td class="paramdir">[in,out]</td><td class="paramname">shape</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> shape of 2D size </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01006756 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format of the tensor</td></tr>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006757 </table>
6758 </dd>
6759</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +01006760<dl class="section return"><dt>Returns</dt><dd>The adjusted tensor shape. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006761
Jenkins52ba29e2018-08-29 15:32:11 +00006762<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00646">646</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006763
Jenkins52ba29e2018-08-29 15:32:11 +00006764<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00541">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">has_format_vertical_subsampling()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006765
Jenkinsb3a371b2018-05-23 11:36:53 +01006766<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00006767<div class="fragment"><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;{</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</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; <span class="comment">// Force width to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">has_format_horizontal_subsampling</a>(format))</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; output.set(0, output.x() &amp; ~1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</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;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="comment">// Force height to be even for formats which require subsampling of the U and V channels</span></div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">has_format_vertical_subsampling</a>(format))</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; {</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; output.set(1, output.y() &amp; ~1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
6768<div class="ttc" id="namespacearm__compute_xhtml_a95358b677c5c17f5cc1e369e4a27e2c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">arm_compute::has_format_vertical_subsampling</a></div><div class="ttdeci">bool has_format_vertical_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has vertical subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">Utils.h:552</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006769<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>
Jenkins52ba29e2018-08-29 15:32:11 +00006770<div class="ttc" id="namespacearm__compute_xhtml_aa2f22cc01532e0236e438324310fdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">arm_compute::has_format_horizontal_subsampling</a></div><div class="ttdeci">bool has_format_horizontal_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has horizontal subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00541">Utils.h:541</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00006771</div><!-- fragment -->
6772</div>
6773</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006774<a class="anchor" id="ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"></a>
6775<div class="memitem">
6776<div class="memproto">
6777<table class="mlabels">
6778 <tr>
6779 <td class="mlabels-left">
6780 <table class="memname">
6781 <tr>
6782 <td class="memname">int arm_compute::adjust_up </td>
6783 <td>(</td>
6784 <td class="paramtype">int&#160;</td>
6785 <td class="paramname"><em>required</em>, </td>
6786 </tr>
6787 <tr>
6788 <td class="paramkey"></td>
6789 <td></td>
6790 <td class="paramtype">int&#160;</td>
6791 <td class="paramname"><em>available</em>, </td>
6792 </tr>
6793 <tr>
6794 <td class="paramkey"></td>
6795 <td></td>
6796 <td class="paramtype">int&#160;</td>
6797 <td class="paramname"><em>step</em>&#160;</td>
6798 </tr>
6799 <tr>
6800 <td></td>
6801 <td>)</td>
6802 <td></td><td></td>
6803 </tr>
6804 </table>
6805 </td>
6806 <td class="mlabels-right">
6807<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6808 </tr>
6809</table>
6810</div><div class="memdoc">
6811
6812<p>Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. </p>
6813<dl class="params"><dt>Parameters</dt><dd>
6814 <table class="params">
6815 <tr><td class="paramdir">[in]</td><td class="paramname">required</td><td>Number of required bytes. </td></tr>
6816 <tr><td class="paramdir">[in]</td><td class="paramname">available</td><td>Number of available bytes. </td></tr>
6817 <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>Step size used to increase required bytes.</td></tr>
6818 </table>
6819 </dd>
6820</dl>
6821<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>
6822
6823<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>
6824
Jenkins52ba29e2018-08-29 15:32:11 +00006825<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
6826<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#l00337">Error.h:337</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01006827</div><!-- fragment -->
6828</div>
6829</div>
6830<a class="anchor" id="a1faf3c8249d988fd152ab2dd16b029dc"></a>
6831<div class="memitem">
6832<div class="memproto">
6833 <table class="memname">
6834 <tr>
6835 <td class="memname">bool arm_compute::arm_non_uniform_workgroup_supported </td>
6836 <td>(</td>
6837 <td class="paramtype">const cl::Device &amp;&#160;</td>
6838 <td class="paramname"><em>device</em></td><td>)</td>
6839 <td></td>
6840 </tr>
6841 </table>
6842</div><div class="memdoc">
6843
6844<p>Helper function to check whether the arm_non_uniform_work_group_size extension is supported. </p>
6845<dl class="params"><dt>Parameters</dt><dd>
6846 <table class="params">
6847 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
6848 </table>
6849 </dd>
6850</dl>
6851<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
6852
6853</div>
6854</div>
Jenkins52ba29e2018-08-29 15:32:11 +00006855<a class="anchor" id="a47be6fa38308d0003c25b60b7dbc45ce"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006856<div class="memitem">
6857<div class="memproto">
6858<table class="mlabels">
6859 <tr>
6860 <td class="mlabels-left">
6861 <table class="memname">
6862 <tr>
6863 <td class="memname">bool auto_init_if_empty </td>
6864 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006865 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006866 <td class="paramname"><em>info</em>, </td>
6867 </tr>
6868 <tr>
6869 <td class="paramkey"></td>
6870 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006871 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006872 <td class="paramname"><em>shape</em>, </td>
6873 </tr>
6874 <tr>
6875 <td class="paramkey"></td>
6876 <td></td>
6877 <td class="paramtype">int&#160;</td>
6878 <td class="paramname"><em>num_channels</em>, </td>
6879 </tr>
6880 <tr>
6881 <td class="paramkey"></td>
6882 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006883 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006884 <td class="paramname"><em>data_type</em>, </td>
6885 </tr>
6886 <tr>
6887 <td class="paramkey"></td>
6888 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006889 <td class="paramtype"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>&#160;</td>
6890 <td class="paramname"><em>quantization_info</em> = <code><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>()</code>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006891 </tr>
6892 <tr>
6893 <td></td>
6894 <td>)</td>
6895 <td></td><td></td>
6896 </tr>
6897 </table>
6898 </td>
6899 <td class="mlabels-right">
6900<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6901 </tr>
6902</table>
6903</div><div class="memdoc">
6904
Jenkins52ba29e2018-08-29 15:32:11 +00006905<p>Auto initialize the tensor info (shape, number of channels and data type) if the current assignment is empty. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01006906<dl class="params"><dt>Parameters</dt><dd>
6907 <table class="params">
6908 <tr><td class="paramdir">[in,out]</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 used to check and assign. </td></tr>
6909 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>New shape. </td></tr>
6910 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>New number of channels. </td></tr>
6911 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>New data type </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01006912 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>(Optional) New quantization info</td></tr>
6913 </table>
6914 </dd>
6915</dl>
6916<dl class="section return"><dt>Returns</dt><dd>True if the tensor info has been initialized </dd></dl>
6917
Anthony Barbier06ea0482018-02-22 15:45:35 +00006918<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00201">201</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01006919
Jenkins52ba29e2018-08-29 15:32:11 +00006920<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006921
Jenkinsb3a371b2018-05-23 11:36:53 +01006922<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00006923<div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;{</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div><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="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_num_channels(num_channels);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01006924<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00006925<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01006926</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01006927</div>
6928</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006929<a class="anchor" id="a5844c8e025388ddd8c3afc5c3f7a3256"></a>
6930<div class="memitem">
6931<div class="memproto">
6932<table class="mlabels">
6933 <tr>
6934 <td class="mlabels-left">
6935 <table class="memname">
6936 <tr>
6937 <td class="memname">bool auto_init_if_empty </td>
6938 <td>(</td>
6939 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
6940 <td class="paramname"><em>info_sink</em>, </td>
6941 </tr>
6942 <tr>
6943 <td class="paramkey"></td>
6944 <td></td>
6945 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
6946 <td class="paramname"><em>info_source</em>&#160;</td>
6947 </tr>
6948 <tr>
6949 <td></td>
6950 <td>)</td>
6951 <td></td><td></td>
6952 </tr>
6953 </table>
6954 </td>
6955 <td class="mlabels-right">
6956<span class="mlabels"><span class="mlabel">inline</span></span> </td>
6957 </tr>
6958</table>
6959</div><div class="memdoc">
6960
6961<p>Auto initialize the tensor info using another tensor info. </p>
6962<dl class="params"><dt>Parameters</dt><dd>
6963 <table class="params">
6964 <tr><td class="paramname">info_sink</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info used to check and assign </td></tr>
6965 <tr><td class="paramname">info_source</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info used to assign</td></tr>
6966 </table>
6967 </dd>
6968</dl>
6969<dl class="section return"><dt>Returns</dt><dd>True if the tensor info has been initialized </dd></dl>
6970
Jenkins52ba29e2018-08-29 15:32:11 +00006971<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00219">219</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006972
Jenkins52ba29e2018-08-29 15:32:11 +00006973<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ad7829ae79223ab87f9da4c0bd7d229ba">ITensorInfo::num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#abb9481fe056b9749f9b4c08db101cc15">ITensorInfo::set_data_layout()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
6974<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;{</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span>(info_sink.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; info_sink.set_data_type(info_source.data_type());</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; info_sink.set_num_channels(info_source.num_channels());</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; info_sink.set_tensor_shape(info_source.tensor_shape());</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; info_sink.set_quantization_info(info_source.quantization_info());</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; info_sink.set_data_layout(info_source.data_layout());</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006975</div>
6976</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00006977<a class="anchor" id="a64c17a5a42d2499a1626222ff9753b4d"></a>
6978<div class="memitem">
6979<div class="memproto">
6980 <table class="memname">
6981 <tr>
6982 <td class="memname">std::string arm_compute::build_information </td>
6983 <td>(</td>
6984 <td class="paramname"></td><td>)</td>
6985 <td></td>
6986 </tr>
6987 </table>
6988</div><div class="memdoc">
6989
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006990<p>Returns the <a class="el" href="namespacearm__compute.xhtml" title="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006991<p>Contains the version number and the build options used to build the library</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00006992<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="namespacearm__compute.xhtml" title="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information </dd></dl>
6993
Jenkins52ba29e2018-08-29 15:32:11 +00006994<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00078">floor_to_multiple()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00006995
Anthony Barbier871448e2017-03-24 14:54:29 +00006996</div>
6997</div>
6998<a class="anchor" id="a0101a40c4a6acc2af3b55afa7632f16a"></a>
6999<div class="memitem">
7000<div class="memproto">
7001<table class="mlabels">
7002 <tr>
7003 <td class="mlabels-left">
7004 <table class="memname">
7005 <tr>
7006 <td class="memname">uint32_t arm_compute::calculate_matrix_scale </td>
7007 <td>(</td>
7008 <td class="paramtype">const int16_t *&#160;</td>
7009 <td class="paramname"><em>matrix</em>, </td>
7010 </tr>
7011 <tr>
7012 <td class="paramkey"></td>
7013 <td></td>
7014 <td class="paramtype">unsigned int&#160;</td>
7015 <td class="paramname"><em>matrix_size</em>&#160;</td>
7016 </tr>
7017 <tr>
7018 <td></td>
7019 <td>)</td>
7020 <td></td><td></td>
7021 </tr>
7022 </table>
7023 </td>
7024 <td class="mlabels-right">
7025<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7026 </tr>
7027</table>
7028</div><div class="memdoc">
7029
7030<p>Calculate the scale of the given square matrix. </p>
7031<p>The scale is the absolute value of the sum of all the coefficients in the matrix.</p>
7032<dl class="section note"><dt>Note</dt><dd>If the coefficients add up to 0 then the scale is set to 1.</dd></dl>
7033<dl class="params"><dt>Parameters</dt><dd>
7034 <table class="params">
7035 <tr><td class="paramdir">[in]</td><td class="paramname">matrix</td><td>Matrix coefficients </td></tr>
7036 <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>
7037 </table>
7038 </dd>
7039</dl>
7040<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>
7041
Jenkins52ba29e2018-08-29 15:32:11 +00007042<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00626">626</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007043
Jenkins52ba29e2018-08-29 15:32:11 +00007044<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>.</p>
7045<div class="fragment"><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;{</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> size = matrix_size * matrix_size;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</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="l00631"></a><span class="lineno"> 631</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 Barbier871448e2017-03-24 14:54:29 +00007046</div><!-- fragment -->
7047</div>
7048</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007049<a class="anchor" id="a2bbb5d1cdb27c0e8c517cb7c544226c6"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007050<div class="memitem">
7051<div class="memproto">
7052 <table class="memname">
7053 <tr>
7054 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_enlarged_window </td>
7055 <td>(</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007056 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
7057 <td class="paramname"><em>valid_region</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007058 </tr>
7059 <tr>
7060 <td class="paramkey"></td>
7061 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007062 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
7063 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007064 </tr>
7065 <tr>
7066 <td class="paramkey"></td>
7067 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007068 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
7069 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007070 </tr>
7071 <tr>
7072 <td></td>
7073 <td>)</td>
7074 <td></td><td></td>
7075 </tr>
7076 </table>
7077</div><div class="memdoc">
7078
7079<p>Calculate the maximum window for a given tensor shape and border setting. </p>
7080<p>The window will also includes the border.</p>
7081<dl class="params"><dt>Parameters</dt><dd>
7082 <table class="params">
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007083 <tr><td class="paramdir">[in]</td><td class="paramname">valid_region</td><td>Valid region object defining the shape of the tensor space for which the window is created. </td></tr>
7084 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
7085 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size. The border region will be included in the window.</td></tr>
7086 </table>
7087 </dd>
7088</dl>
7089<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
7090
Jenkinsb3a371b2018-05-23 11:36:53 +01007091<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">calculate_max_enlarged_window()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">calculate_max_window_horizontal()</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007092
7093</div>
7094</div>
7095<a class="anchor" id="afcdda83b6a85d5798f08d92c0e235e2e"></a>
7096<div class="memitem">
7097<div class="memproto">
7098<table class="mlabels">
7099 <tr>
7100 <td class="mlabels-left">
7101 <table class="memname">
7102 <tr>
7103 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_enlarged_window </td>
7104 <td>(</td>
7105 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
7106 <td class="paramname"><em>info</em>, </td>
7107 </tr>
7108 <tr>
7109 <td class="paramkey"></td>
7110 <td></td>
7111 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
7112 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
7113 </tr>
7114 <tr>
7115 <td class="paramkey"></td>
7116 <td></td>
7117 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
7118 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
7119 </tr>
7120 <tr>
7121 <td></td>
7122 <td>)</td>
7123 <td></td><td></td>
7124 </tr>
7125 </table>
7126 </td>
7127 <td class="mlabels-right">
7128<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7129 </tr>
7130</table>
7131</div><div class="memdoc">
7132
7133<p>Calculate the maximum window for a given tensor shape and border setting. </p>
7134<p>The window will also includes the border.</p>
7135<dl class="params"><dt>Parameters</dt><dd>
7136 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +01007137 <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>
7138 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
7139 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size. The border region will be included in the window.</td></tr>
7140 </table>
7141 </dd>
7142</dl>
7143<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
7144
Jenkinsb3a371b2018-05-23 11:36:53 +01007145<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">457</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007146
7147<p>References <a class="el" href="namespacearm__compute.xhtml#a2bbb5d1cdb27c0e8c517cb7c544226c6">calculate_max_enlarged_window()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01007148<div class="fragment"><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="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afcdda83b6a85d5798f08d92c0e235e2e">calculate_max_enlarged_window</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.valid_region(), steps, border_size);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_afcdda83b6a85d5798f08d92c0e235e2e"><div class="ttname"><a href="namespacearm__compute.xhtml#afcdda83b6a85d5798f08d92c0e235e2e">arm_compute::calculate_max_enlarged_window</a></div><div class="ttdeci">Window calculate_max_enlarged_window(const ITensorInfo &amp;info, const Steps &amp;steps=Steps(), BorderSize border_size=BorderSize())</div><div class="ttdoc">Calculate the maximum window for a given tensor shape and border setting. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">Helpers.h:457</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007149<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
7150</div><!-- fragment -->
7151</div>
7152</div>
7153<a class="anchor" id="a1c28e5916fd54b778da115bfe646f588"></a>
7154<div class="memitem">
7155<div class="memproto">
7156 <table class="memname">
7157 <tr>
7158 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
7159 <td>(</td>
7160 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
7161 <td class="paramname"><em>valid_region</em>, </td>
7162 </tr>
7163 <tr>
7164 <td class="paramkey"></td>
7165 <td></td>
7166 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
7167 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
7168 </tr>
7169 <tr>
7170 <td class="paramkey"></td>
7171 <td></td>
7172 <td class="paramtype">bool&#160;</td>
7173 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
7174 </tr>
7175 <tr>
7176 <td class="paramkey"></td>
7177 <td></td>
7178 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
7179 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
7180 </tr>
7181 <tr>
7182 <td></td>
7183 <td>)</td>
7184 <td></td><td></td>
7185 </tr>
7186 </table>
7187</div><div class="memdoc">
7188
7189<p>Calculate the maximum window for a given tensor shape and border setting. </p>
7190<dl class="params"><dt>Parameters</dt><dd>
7191 <table class="params">
7192 <tr><td class="paramdir">[in]</td><td class="paramname">valid_region</td><td>Valid region object defining the shape of the tensor space for which the window is created. </td></tr>
7193 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
7194 <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>
7195 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
7196 </table>
7197 </dd>
7198</dl>
7199<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
7200
Jenkinsb3a371b2018-05-23 11:36:53 +01007201<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">calculate_max_window()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">update_window_and_padding()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007202
Anthony Barbierdbdab852017-06-23 15:42:00 +01007203</div>
7204</div>
7205<a class="anchor" id="aa2117aef4381edbdf81e17ec088df7f1"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007206<div class="memitem">
7207<div class="memproto">
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007208<table class="mlabels">
7209 <tr>
7210 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +00007211 <table class="memname">
7212 <tr>
7213 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
7214 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007215 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007216 <td class="paramname"><em>info</em>, </td>
7217 </tr>
7218 <tr>
7219 <td class="paramkey"></td>
7220 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007221 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
7222 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007223 </tr>
7224 <tr>
7225 <td class="paramkey"></td>
7226 <td></td>
7227 <td class="paramtype">bool&#160;</td>
7228 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
7229 </tr>
7230 <tr>
7231 <td class="paramkey"></td>
7232 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007233 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
7234 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007235 </tr>
7236 <tr>
7237 <td></td>
7238 <td>)</td>
7239 <td></td><td></td>
7240 </tr>
7241 </table>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007242 </td>
7243 <td class="mlabels-right">
7244<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7245 </tr>
7246</table>
Anthony Barbier871448e2017-03-24 14:54:29 +00007247</div><div class="memdoc">
7248
7249<p>Calculate the maximum window for a given tensor shape and border setting. </p>
7250<dl class="params"><dt>Parameters</dt><dd>
7251 <table class="params">
7252 <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>
7253 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
7254 <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>
7255 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
7256 </table>
7257 </dd>
7258</dl>
7259<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
7260
Jenkinsb3a371b2018-05-23 11:36:53 +01007261<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">409</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007262
7263<p>References <a class="el" href="namespacearm__compute.xhtml#a1c28e5916fd54b778da115bfe646f588">calculate_max_window()</a>, <a class="el" href="namespacearm__compute.xhtml#a252e257c58bfccbb272c0a5bf81d42cb">calculate_max_window_horizontal()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01007264<div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;{</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">calculate_max_window</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.valid_region(), steps, skip_border, border_size);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
7265<div class="ttc" id="namespacearm__compute_xhtml_aa2117aef4381edbdf81e17ec088df7f1"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">arm_compute::calculate_max_window</a></div><div class="ttdeci">Window calculate_max_window(const ITensorInfo &amp;info, const Steps &amp;steps=Steps(), bool skip_border=false, BorderSize border_size=BorderSize())</div><div class="ttdoc">Calculate the maximum window for a given tensor shape and border setting. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">Helpers.h:409</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007266</div><!-- fragment -->
7267</div>
7268</div>
7269<a class="anchor" id="a252e257c58bfccbb272c0a5bf81d42cb"></a>
7270<div class="memitem">
7271<div class="memproto">
7272 <table class="memname">
7273 <tr>
7274 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
7275 <td>(</td>
7276 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
7277 <td class="paramname"><em>valid_region</em>, </td>
7278 </tr>
7279 <tr>
7280 <td class="paramkey"></td>
7281 <td></td>
7282 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
7283 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
7284 </tr>
7285 <tr>
7286 <td class="paramkey"></td>
7287 <td></td>
7288 <td class="paramtype">bool&#160;</td>
7289 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
7290 </tr>
7291 <tr>
7292 <td class="paramkey"></td>
7293 <td></td>
7294 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
7295 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
7296 </tr>
7297 <tr>
7298 <td></td>
7299 <td>)</td>
7300 <td></td><td></td>
7301 </tr>
7302 </table>
7303</div><div class="memdoc">
7304
7305<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
7306<dl class="params"><dt>Parameters</dt><dd>
7307 <table class="params">
7308 <tr><td class="paramdir">[in]</td><td class="paramname">valid_region</td><td>Valid region object defining the shape of the tensor space for which the window is created. </td></tr>
7309 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
7310 <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>
7311 <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>
7312 </table>
7313 </dd>
7314</dl>
7315<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
7316
Jenkinsb3a371b2018-05-23 11:36:53 +01007317<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00409">calculate_max_window()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">calculate_max_window_horizontal()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007318
Anthony Barbier871448e2017-03-24 14:54:29 +00007319</div>
7320</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01007321<a class="anchor" id="a47456b4d520aee1cba80bf6e20f6685a"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00007322<div class="memitem">
7323<div class="memproto">
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007324<table class="mlabels">
7325 <tr>
7326 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +00007327 <table class="memname">
7328 <tr>
7329 <td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
7330 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007331 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007332 <td class="paramname"><em>info</em>, </td>
7333 </tr>
7334 <tr>
7335 <td class="paramkey"></td>
7336 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007337 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &amp;&#160;</td>
7338 <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007339 </tr>
7340 <tr>
7341 <td class="paramkey"></td>
7342 <td></td>
7343 <td class="paramtype">bool&#160;</td>
7344 <td class="paramname"><em>skip_border</em> = <code>false</code>, </td>
7345 </tr>
7346 <tr>
7347 <td class="paramkey"></td>
7348 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007349 <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td>
7350 <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007351 </tr>
7352 <tr>
7353 <td></td>
7354 <td>)</td>
7355 <td></td><td></td>
7356 </tr>
7357 </table>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007358 </td>
7359 <td class="mlabels-right">
7360<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7361 </tr>
7362</table>
Anthony Barbier871448e2017-03-24 14:54:29 +00007363</div><div class="memdoc">
7364
7365<p>Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. </p>
7366<dl class="params"><dt>Parameters</dt><dd>
7367 <table class="params">
7368 <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>
7369 <tr><td class="paramdir">[in]</td><td class="paramname">steps</td><td>(Optional) Number of elements processed for each step. </td></tr>
7370 <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>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007371 <tr><td class="paramdir">[in]</td><td class="paramname">border_size</td><td>(Optional) Border size.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00007372 </table>
7373 </dd>
7374</dl>
7375<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
7376
Jenkinsb3a371b2018-05-23 11:36:53 +01007377<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">434</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007378
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007379<p>References <a class="el" href="namespacearm__compute.xhtml#a2bbb5d1cdb27c0e8c517cb7c544226c6">calculate_max_enlarged_window()</a>, <a class="el" href="namespacearm__compute.xhtml#a252e257c58bfccbb272c0a5bf81d42cb">calculate_max_window_horizontal()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01007380<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">calculate_max_window_horizontal</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.valid_region(), steps, skip_border, border_size);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
7381<div class="ttc" id="namespacearm__compute_xhtml_a47456b4d520aee1cba80bf6e20f6685a"><div class="ttname"><a href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">arm_compute::calculate_max_window_horizontal</a></div><div class="ttdeci">Window calculate_max_window_horizontal(const ITensorInfo &amp;info, const Steps &amp;steps=Steps(), bool skip_border=false, BorderSize border_size=BorderSize())</div><div class="ttdoc">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00434">Helpers.h:434</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007382</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +01007383</div>
7384</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007385<a class="anchor" id="afa7962c747457714d0944af80cb07058"></a>
7386<div class="memitem">
7387<div class="memproto">
7388 <table class="memname">
7389 <tr>
7390 <td class="memname"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> arm_compute::calculate_same_pad </td>
7391 <td>(</td>
7392 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
7393 <td class="paramname"><em>input_shape</em>, </td>
7394 </tr>
7395 <tr>
7396 <td class="paramkey"></td>
7397 <td></td>
7398 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
7399 <td class="paramname"><em>weights_shape</em>, </td>
7400 </tr>
7401 <tr>
7402 <td class="paramkey"></td>
7403 <td></td>
7404 <td class="paramtype"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>&#160;</td>
7405 <td class="paramname"><em>conv_info</em>&#160;</td>
7406 </tr>
7407 <tr>
7408 <td></td>
7409 <td>)</td>
7410 <td></td><td></td>
7411 </tr>
7412 </table>
7413</div><div class="memdoc">
7414
7415<p>Calculate padding requirements in case of SAME padding. </p>
7416<dl class="params"><dt>Parameters</dt><dd>
7417 <table class="params">
7418 <tr><td class="paramdir">[in]</td><td class="paramname">input_shape</td><td>Input shape </td></tr>
7419 <tr><td class="paramdir">[in]</td><td class="paramname">weights_shape</td><td>Weights shape </td></tr>
7420 <tr><td class="paramdir">[in]</td><td class="paramname">conv_info</td><td>Convolution information (containing strides)</td></tr>
7421 </table>
7422 </dd>
7423</dl>
7424<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> for SAME padding </dd></dl>
7425
Jenkins52ba29e2018-08-29 15:32:11 +00007426<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007427
7428</div>
7429</div>
7430<a class="anchor" id="a9d714e1b7d9d7818309138b7d830ebcb"></a>
7431<div class="memitem">
7432<div class="memproto">
7433<table class="mlabels">
7434 <tr>
7435 <td class="mlabels-left">
7436 <table class="memname">
7437 <tr>
7438 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::calculate_subsampled_shape </td>
7439 <td>(</td>
7440 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
7441 <td class="paramname"><em>shape</em>, </td>
7442 </tr>
7443 <tr>
7444 <td class="paramkey"></td>
7445 <td></td>
7446 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
7447 <td class="paramname"><em>format</em>, </td>
7448 </tr>
7449 <tr>
7450 <td class="paramkey"></td>
7451 <td></td>
7452 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
7453 <td class="paramname"><em>channel</em> = <code><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">Channel::UNKNOWN</a></code>&#160;</td>
7454 </tr>
7455 <tr>
7456 <td></td>
7457 <td>)</td>
7458 <td></td><td></td>
7459 </tr>
7460 </table>
7461 </td>
7462 <td class="mlabels-right">
7463<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7464 </tr>
7465</table>
7466</div><div class="memdoc">
7467
7468<p>Calculate subsampled shape for a given format and channel. </p>
7469<dl class="params"><dt>Parameters</dt><dd>
7470 <table class="params">
7471 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the tensor to calculate the extracted channel. </td></tr>
7472 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format of the tensor. </td></tr>
7473 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channel to create tensor shape to be extracted.</td></tr>
7474 </table>
7475 </dd>
7476</dl>
7477<dl class="section return"><dt>Returns</dt><dd>The subsampled tensor shape. </dd></dl>
7478
Jenkins52ba29e2018-08-29 15:32:11 +00007479<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00673">673</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007480
Jenkins52ba29e2018-08-29 15:32:11 +00007481<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00541">has_format_horizontal_subsampling()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">has_format_vertical_subsampling()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007482
Jenkins52ba29e2018-08-29 15:32:11 +00007483<p>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>.</p>
7484<div class="fragment"><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; TensorShape output{ <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> };</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="comment">// Subsample shape only for U or V channel</span></div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">if</span>(Channel::U == channel || Channel::V == channel || Channel::UNKNOWN == channel)</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; {</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="comment">// Subsample width for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">has_format_horizontal_subsampling</a>(format))</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; {</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; output.set(0, output.x() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; }</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="comment">// Subsample height for the tensor shape when channel is U or V</span></div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">has_format_vertical_subsampling</a>(format))</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; {</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; output.set(1, output.y() / 2<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>);</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</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;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
7485<div class="ttc" id="namespacearm__compute_xhtml_a95358b677c5c17f5cc1e369e4a27e2c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a95358b677c5c17f5cc1e369e4a27e2c2">arm_compute::has_format_vertical_subsampling</a></div><div class="ttdeci">bool has_format_vertical_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has vertical subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">Utils.h:552</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007486<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>
Jenkins52ba29e2018-08-29 15:32:11 +00007487<div class="ttc" id="namespacearm__compute_xhtml_aa2f22cc01532e0236e438324310fdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#aa2f22cc01532e0236e438324310fdb94">arm_compute::has_format_horizontal_subsampling</a></div><div class="ttdeci">bool has_format_horizontal_subsampling(Format format)</div><div class="ttdoc">Return true if the given format has horizontal subsampling. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00541">Utils.h:541</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007488</div><!-- fragment -->
7489</div>
7490</div>
Jenkinsb3a371b2018-05-23 11:36:53 +01007491<a class="anchor" id="a4f83578a33b502bf6419ead091249423"></a>
Kaizen8938bd32017-09-28 14:38:23 +01007492<div class="memitem">
7493<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +01007494 <table class="memname">
7495 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01007496 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> arm_compute::calculate_valid_region_scale </td>
Kaizen8938bd32017-09-28 14:38:23 +01007497 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007498 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +01007499 <td class="paramname"><em>src_info</em>, </td>
7500 </tr>
7501 <tr>
7502 <td class="paramkey"></td>
7503 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007504 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +01007505 <td class="paramname"><em>dst_shape</em>, </td>
7506 </tr>
7507 <tr>
7508 <td class="paramkey"></td>
7509 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007510 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a>&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +01007511 <td class="paramname"><em>interpolate_policy</em>, </td>
Kaizen8938bd32017-09-28 14:38:23 +01007512 </tr>
7513 <tr>
7514 <td class="paramkey"></td>
7515 <td></td>
Jenkinsb3a371b2018-05-23 11:36:53 +01007516 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a>&#160;</td>
7517 <td class="paramname"><em>sampling_policy</em>, </td>
Kaizen8938bd32017-09-28 14:38:23 +01007518 </tr>
7519 <tr>
7520 <td class="paramkey"></td>
7521 <td></td>
7522 <td class="paramtype">bool&#160;</td>
7523 <td class="paramname"><em>border_undefined</em>&#160;</td>
7524 </tr>
7525 <tr>
7526 <td></td>
7527 <td>)</td>
7528 <td></td><td></td>
7529 </tr>
7530 </table>
Kaizen8938bd32017-09-28 14:38:23 +01007531</div><div class="memdoc">
Anthony Barbier871448e2017-03-24 14:54:29 +00007532
Kaizen8938bd32017-09-28 14:38:23 +01007533<p>Helper function to calculate the Valid Region for Scale. </p>
7534<dl class="params"><dt>Parameters</dt><dd>
7535 <table class="params">
7536 <tr><td class="paramdir">[in]</td><td class="paramname">src_info</td><td>Input tensor info used to check. </td></tr>
7537 <tr><td class="paramdir">[in]</td><td class="paramname">dst_shape</td><td>Shape of the output. </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +01007538 <tr><td class="paramdir">[in]</td><td class="paramname">interpolate_policy</td><td>Interpolation policy. </td></tr>
7539 <tr><td class="paramdir">[in]</td><td class="paramname">sampling_policy</td><td>Sampling policy. </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +01007540 <tr><td class="paramdir">[in]</td><td class="paramname">border_undefined</td><td>True if the border is undefined.</td></tr>
7541 </table>
7542 </dd>
7543</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +01007544<dl class="section return"><dt>Returns</dt><dd>The corresponding valid region </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +01007545
Jenkinsb3a371b2018-05-23 11:36:53 +01007546<p>Referenced by <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00072">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="validation_2_c_l_2_scale_8cpp_source.xhtml#l00121">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01007547
Anthony Barbier871448e2017-03-24 14:54:29 +00007548</div>
7549</div>
7550<a class="anchor" id="adf0c6059174045f80af46a0f1fb57bc6"></a>
7551<div class="memitem">
7552<div class="memproto">
7553<table class="mlabels">
7554 <tr>
7555 <td class="mlabels-left">
7556 <table class="memname">
7557 <tr>
7558 <td class="memname">auto arm_compute::ceil_to_multiple </td>
7559 <td>(</td>
7560 <td class="paramtype">S&#160;</td>
7561 <td class="paramname"><em>value</em>, </td>
7562 </tr>
7563 <tr>
7564 <td class="paramkey"></td>
7565 <td></td>
7566 <td class="paramtype">T&#160;</td>
7567 <td class="paramname"><em>divisor</em>&#160;</td>
7568 </tr>
7569 <tr>
7570 <td></td>
7571 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +01007572 <td></td><td> -&gt; decltype(((value + divisor - 1) / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +00007573</td>
7574 </tr>
7575 </table>
7576 </td>
7577 <td class="mlabels-right">
7578<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7579 </tr>
7580</table>
7581</div><div class="memdoc">
7582
7583<p>Computes the smallest number larger or equal to value that is a multiple of divisor. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01007584<dl class="params"><dt>Parameters</dt><dd>
7585 <table class="params">
7586 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Lower bound value </td></tr>
7587 <tr><td class="paramdir">[in]</td><td class="paramname">divisor</td><td>Value to compute multiple of.</td></tr>
7588 </table>
7589 </dd>
7590</dl>
7591<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00007592
Jenkinsb3a371b2018-05-23 11:36:53 +01007593<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00064">64</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007594
Jenkins52ba29e2018-08-29 15:32:11 +00007595<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00051">DIV_CEIL()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00007596
Jenkins52ba29e2018-08-29 15:32:11 +00007597<p>Referenced by <a class="el" href="validation_2_c_l_2_remap_8cpp_source.xhtml#l00053">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00134">Window::scale()</a>.</p>
7598<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</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="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">DIV_CEIL</a>(value, divisor) * divisor;</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#l00337">Error.h:337</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01007599<div class="ttc" id="namespacearm__compute_xhtml_a12705a88669cb9fb90451ebe0db53c41"><div class="ttname"><a href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">arm_compute::DIV_CEIL</a></div><div class="ttdeci">constexpr auto DIV_CEIL(S val, T m) -&gt; decltype((val+m-1)/m)</div><div class="ttdoc">Calculate the rounded up quotient of val / m. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00051">Utils.h:51</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007600</div><!-- fragment -->
7601</div>
7602</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007603<a class="anchor" id="afab149f8d8b0f6405303ee8056fa77d3"></a>
7604<div class="memitem">
7605<div class="memproto">
7606<table class="mlabels">
7607 <tr>
7608 <td class="mlabels-left">
7609 <table class="memname">
7610 <tr>
7611 <td class="memname">int arm_compute::channel_idx_from_format </td>
7612 <td>(</td>
7613 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
7614 <td class="paramname"><em>format</em>, </td>
7615 </tr>
7616 <tr>
7617 <td class="paramkey"></td>
7618 <td></td>
7619 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
7620 <td class="paramname"><em>channel</em>&#160;</td>
7621 </tr>
7622 <tr>
7623 <td></td>
7624 <td>)</td>
7625 <td></td><td></td>
7626 </tr>
7627 </table>
7628 </td>
7629 <td class="mlabels-right">
7630<span class="mlabels"><span class="mlabel">inline</span></span> </td>
7631 </tr>
7632</table>
7633</div><div class="memdoc">
7634
7635<p>Return the channel index of a given channel given an input format. </p>
7636<dl class="params"><dt>Parameters</dt><dd>
7637 <table class="params">
7638 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
7639 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
7640 </table>
7641 </dd>
7642</dl>
7643<dl class="section return"><dt>Returns</dt><dd>The channel index of the specific channel of the specific format </dd></dl>
7644
Jenkins52ba29e2018-08-29 15:32:11 +00007645<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00312">312</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007646
Jenkins52ba29e2018-08-29 15:32:11 +00007647<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</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#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</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#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007648
Jenkins52ba29e2018-08-29 15:32:11 +00007649<p>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>.</p>
7650<div class="fragment"><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; <span class="keywordflow">switch</span>(format)</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="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</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="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; }</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; {</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">switch</span>(channel)</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; <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</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="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; {</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</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="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</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; <span class="keywordflow">switch</span>(channel)</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; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</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="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> 0;</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">case</span> Format::NV12:</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; <span class="keywordflow">switch</span>(channel)</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; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</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="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</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">case</span> Format::NV21:</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">switch</span>(channel)</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">case</span> Channel::Y:</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</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="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; }</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; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">switch</span>(channel)</div><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">case</span> Channel::Y:</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</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="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">return</span> 0;</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; }</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</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="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; }</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</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#l00261">Error.h:261</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +00007651</div><!-- fragment -->
7652</div>
7653</div>
Jenkins52ba29e2018-08-29 15:32:11 +00007654<a class="anchor" id="afd16b14c21838b5e9858f41d80bdcce7"></a>
7655<div class="memitem">
7656<div class="memproto">
7657 <table class="memname">
7658 <tr>
7659 <td class="memname">bool arm_compute::cl_winograd_convolution_layer_supported </td>
7660 <td>(</td>
7661 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
7662 <td class="paramname"><em>output_tile</em>, </td>
7663 </tr>
7664 <tr>
7665 <td class="paramkey"></td>
7666 <td></td>
7667 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
7668 <td class="paramname"><em>kernel_size</em>, </td>
7669 </tr>
7670 <tr>
7671 <td class="paramkey"></td>
7672 <td></td>
7673 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
7674 <td class="paramname"><em>data_layout</em>&#160;</td>
7675 </tr>
7676 <tr>
7677 <td></td>
7678 <td>)</td>
7679 <td></td><td></td>
7680 </tr>
7681 </table>
7682</div><div class="memdoc">
7683
7684<p>This function checks if the Winograd configuration (defined through the output tile, kernel size and the data layout) is supported on OpenCL. </p>
7685<dl class="params"><dt>Parameters</dt><dd>
7686 <table class="params">
7687 <tr><td class="paramdir">[in]</td><td class="paramname">output_tile</td><td>Output tile for the Winograd filtering algorithm </td></tr>
7688 <tr><td class="paramdir">[in]</td><td class="paramname">kernel_size</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> size for the Winograd filtering algorithm </td></tr>
7689 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Data layout of the input tensor</td></tr>
7690 </table>
7691 </dd>
7692</dl>
7693<dl class="section return"><dt>Returns</dt><dd>True if the configuration is supported </dd></dl>
7694
7695</div>
7696</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007697<a class="anchor" id="af2be1325decaa34a8a1199af177148c6"></a>
7698<div class="memitem">
7699<div class="memproto">
7700 <table class="memname">
7701 <tr>
7702 <td class="memname">void arm_compute::colorconvert_iyuv_to_nv12 </td>
7703 <td>(</td>
7704 <td class="paramtype">const void *__restrict&#160;</td>
7705 <td class="paramname"><em>input</em>, </td>
7706 </tr>
7707 <tr>
7708 <td class="paramkey"></td>
7709 <td></td>
7710 <td class="paramtype">void *__restrict&#160;</td>
7711 <td class="paramname"><em>output</em>, </td>
7712 </tr>
7713 <tr>
7714 <td class="paramkey"></td>
7715 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007716 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007717 <td class="paramname"><em>win</em>&#160;</td>
7718 </tr>
7719 <tr>
7720 <td></td>
7721 <td>)</td>
7722 <td></td><td></td>
7723 </tr>
7724 </table>
7725</div><div class="memdoc">
7726
Jenkinsb3a371b2018-05-23 11:36:53 +01007727<p>Convert IYUV to NV12. </p>
7728<dl class="params"><dt>Parameters</dt><dd>
7729 <table class="params">
7730 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
7731 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </td></tr>
7732 <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> for iterating the buffers. </td></tr>
7733 </table>
7734 </dd>
7735</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00007736
Jenkinsb3a371b2018-05-23 11:36:53 +01007737<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00601">601</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7738
Jenkins52ba29e2018-08-29 15:32:11 +00007739<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
7740<div class="fragment"><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;{</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</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="l00604"></a><span class="lineno"> 604</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="l00605"></a><span class="lineno"> 605</span>&#160; win.validate();</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</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="l00608"></a><span class="lineno"> 608</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="l00609"></a><span class="lineno"> 609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</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="l00613"></a><span class="lineno"> 613</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="l00614"></a><span class="lineno"> 614</span>&#160; win_uv.validate();</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; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><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; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</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="l00626"></a><span class="lineno"> 626</span>&#160; uint8x16x2_t ta_uv;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</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="l00636"></a><span class="lineno"> 636</span>&#160; vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; },</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</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#l00337">Error.h:337</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007741<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007742</div><!-- fragment -->
7743</div>
7744</div>
7745<a class="anchor" id="a6e42fac1baa264b033ac430b63ebd145"></a>
7746<div class="memitem">
7747<div class="memproto">
7748 <table class="memname">
7749 <tr>
7750 <td class="memname">void arm_compute::colorconvert_iyuv_to_rgb </td>
7751 <td>(</td>
7752 <td class="paramtype">const void *__restrict&#160;</td>
7753 <td class="paramname"><em>input</em>, </td>
7754 </tr>
7755 <tr>
7756 <td class="paramkey"></td>
7757 <td></td>
7758 <td class="paramtype">void *__restrict&#160;</td>
7759 <td class="paramname"><em>output</em>, </td>
7760 </tr>
7761 <tr>
7762 <td class="paramkey"></td>
7763 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007764 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007765 <td class="paramname"><em>win</em>&#160;</td>
7766 </tr>
7767 <tr>
7768 <td></td>
7769 <td>)</td>
7770 <td></td><td></td>
7771 </tr>
7772 </table>
7773</div><div class="memdoc">
7774
Jenkinsb3a371b2018-05-23 11:36:53 +01007775<p>Convert IYUV to RGB. </p>
7776<dl class="params"><dt>Parameters</dt><dd>
7777 <table class="params">
7778 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
7779 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
7780 <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> for iterating the buffers. </td></tr>
7781 </table>
7782 </dd>
7783</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00007784
Jenkinsb3a371b2018-05-23 11:36:53 +01007785<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00482">482</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7786
Jenkins52ba29e2018-08-29 15:32:11 +00007787<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00155">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
7788<div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;{</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</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="l00485"></a><span class="lineno"> 485</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="l00486"></a><span class="lineno"> 486</span>&#160; win.validate();</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; <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="l00489"></a><span class="lineno"> 489</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="l00490"></a><span class="lineno"> 490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;info()-&gt;strides_in_bytes().y();</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</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="l00497"></a><span class="lineno"> 497</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="l00498"></a><span class="lineno"> 498</span>&#160; win_uv.validate();</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; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</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; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><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="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</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="l00509"></a><span class="lineno"> 509</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="l00510"></a><span class="lineno"> 510</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="l00511"></a><span class="lineno"> 511</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; convert_uint8x16_to_float32x4x4(ta_u, uvec);</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; convert_uint8x16_to_float32x4x4(ta_v, vvec);</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; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</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; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</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; in_y, in_u, in_v, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</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#l00337">Error.h:337</a></div></div>
7789<div class="ttc" id="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail_xhtml_a2a36a93e164b484404fe908cefd6099a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation</a></div><div class="ttdeci">void yuyv_to_rgb_calculation(const SimpleTensor&lt; T &gt; yvec, const SimpleTensor&lt; T &gt; vvec, const SimpleTensor&lt; T &gt; yyvec, const SimpleTensor&lt; T &gt; uvec, SimpleTensor&lt; T &gt; &amp;dst)</div><div class="ttdef"><b>Definition:</b> <a href="_color_convert_helper_8h_source.xhtml#l00155">ColorConvertHelper.h:155</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007790<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00007791<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01007792<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00007793<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007794</div><!-- fragment -->
7795</div>
7796</div>
7797<a class="anchor" id="a08e9d88293a5cef787bb324c2dc0a6bf"></a>
7798<div class="memitem">
7799<div class="memproto">
7800 <table class="memname">
7801 <tr>
7802 <td class="memname">void arm_compute::colorconvert_iyuv_to_yuv4 </td>
7803 <td>(</td>
7804 <td class="paramtype">const void *__restrict&#160;</td>
7805 <td class="paramname"><em>input</em>, </td>
7806 </tr>
7807 <tr>
7808 <td class="paramkey"></td>
7809 <td></td>
7810 <td class="paramtype">void *__restrict&#160;</td>
7811 <td class="paramname"><em>output</em>, </td>
7812 </tr>
7813 <tr>
7814 <td class="paramkey"></td>
7815 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007816 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007817 <td class="paramname"><em>win</em>&#160;</td>
7818 </tr>
7819 <tr>
7820 <td></td>
7821 <td>)</td>
7822 <td></td><td></td>
7823 </tr>
7824 </table>
7825</div><div class="memdoc">
7826
Jenkinsb3a371b2018-05-23 11:36:53 +01007827<p>Convert IYUV to YUV4. </p>
7828<dl class="params"><dt>Parameters</dt><dd>
7829 <table class="params">
7830 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input IYUV data buffer. </td></tr>
7831 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </td></tr>
7832 <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> for iterating the buffers. </td></tr>
7833 </table>
7834 </dd>
7835</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00007836
Jenkinsb3a371b2018-05-23 11:36:53 +01007837<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00816">816</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7838
Jenkins52ba29e2018-08-29 15:32:11 +00007839<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
7840<div class="fragment"><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;{</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</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="l00819"></a><span class="lineno"> 819</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="l00820"></a><span class="lineno"> 820</span>&#160; win.validate();</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</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="l00823"></a><span class="lineno"> 823</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="l00824"></a><span class="lineno"> 824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</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="l00828"></a><span class="lineno"> 828</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="l00829"></a><span class="lineno"> 829</span>&#160; win_uv.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; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; Iterator in_u(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; Iterator in_v(input_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><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; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</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="l00842"></a><span class="lineno"> 842</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="l00843"></a><span class="lineno"> 843</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="l00844"></a><span class="lineno"> 844</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</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="l00851"></a><span class="lineno"> 851</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; uint8x16x2_t uvec;</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; uvec.val[0] = ta_u;</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; uvec.val[1] = ta_u;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</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="l00857"></a><span class="lineno"> 857</span>&#160;</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; uint8x16x2_t vvec;</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; vvec.val[0] = ta_v;</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; vvec.val[1] = ta_v;</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</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="l00863"></a><span class="lineno"> 863</span>&#160; },</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</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#l00337">Error.h:337</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007841<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007842</div><!-- fragment -->
7843</div>
7844</div>
7845<a class="anchor" id="a199d36780fbb4a70168f290480673650"></a>
7846<div class="memitem">
7847<div class="memproto">
7848 <table class="memname">
7849 <tr>
7850 <td class="memname">void arm_compute::colorconvert_nv12_to_iyuv </td>
7851 <td>(</td>
7852 <td class="paramtype">const void *__restrict&#160;</td>
7853 <td class="paramname"><em>input</em>, </td>
7854 </tr>
7855 <tr>
7856 <td class="paramkey"></td>
7857 <td></td>
7858 <td class="paramtype">void *__restrict&#160;</td>
7859 <td class="paramname"><em>output</em>, </td>
7860 </tr>
7861 <tr>
7862 <td class="paramkey"></td>
7863 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007864 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007865 <td class="paramname"><em>win</em>&#160;</td>
7866 </tr>
7867 <tr>
7868 <td></td>
7869 <td>)</td>
7870 <td></td><td></td>
7871 </tr>
7872 </table>
7873</div><div class="memdoc">
7874
Jenkinsb3a371b2018-05-23 11:36:53 +01007875<p>Convert NV12 to IYUV. </p>
7876<dl class="params"><dt>Parameters</dt><dd>
7877 <table class="params">
7878 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
7879 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </td></tr>
7880 <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> for iterating the buffers. </td></tr>
7881 </table>
7882 </dd>
7883</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00007884
Jenkinsb3a371b2018-05-23 11:36:53 +01007885<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00649">649</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7886
Jenkins52ba29e2018-08-29 15:32:11 +00007887<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
7888<div class="fragment"><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; <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="l00652"></a><span class="lineno"> 652</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="l00653"></a><span class="lineno"> 653</span>&#160; win.validate();</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; <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="l00656"></a><span class="lineno"> 656</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="l00657"></a><span class="lineno"> 657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</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="l00663"></a><span class="lineno"> 663</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="l00664"></a><span class="lineno"> 664</span>&#160; win_uv.validate();</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><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; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</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="l00676"></a><span class="lineno"> 676</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="l00677"></a><span class="lineno"> 677</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></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; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</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="l00684"></a><span class="lineno"> 684</span>&#160; vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; },</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</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#l00337">Error.h:337</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007889<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007890</div><!-- fragment -->
7891</div>
7892</div>
7893<a class="anchor" id="ae6a44e412bccc0705a720708b0692218"></a>
7894<div class="memitem">
7895<div class="memproto">
7896 <table class="memname">
7897 <tr>
7898 <td class="memname">void arm_compute::colorconvert_nv12_to_rgb </td>
7899 <td>(</td>
7900 <td class="paramtype">const void *__restrict&#160;</td>
7901 <td class="paramname"><em>input</em>, </td>
7902 </tr>
7903 <tr>
7904 <td class="paramkey"></td>
7905 <td></td>
7906 <td class="paramtype">void *__restrict&#160;</td>
7907 <td class="paramname"><em>output</em>, </td>
7908 </tr>
7909 <tr>
7910 <td class="paramkey"></td>
7911 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007912 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007913 <td class="paramname"><em>win</em>&#160;</td>
7914 </tr>
7915 <tr>
7916 <td></td>
7917 <td>)</td>
7918 <td></td><td></td>
7919 </tr>
7920 </table>
7921</div><div class="memdoc">
7922
Jenkinsb3a371b2018-05-23 11:36:53 +01007923<p>Convert NV12 to RGB. </p>
7924<dl class="params"><dt>Parameters</dt><dd>
7925 <table class="params">
7926 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
7927 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
7928 <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> for iterating the buffers. </td></tr>
7929 </table>
7930 </dd>
7931</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00007932
Jenkinsb3a371b2018-05-23 11:36:53 +01007933<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00419">419</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7934
Jenkins52ba29e2018-08-29 15:32:11 +00007935<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions&lt; T &gt;::y()</a>, <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00155">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
7936<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; <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="l00422"></a><span class="lineno"> 422</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="l00423"></a><span class="lineno"> 423</span>&#160; win.validate();</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</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="l00426"></a><span class="lineno"> 426</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="l00427"></a><span class="lineno"> 427</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-&gt;info()-&gt;strides_in_bytes().y();</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</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="l00435"></a><span class="lineno"> 435</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="l00436"></a><span class="lineno"> 436</span>&#160; win_uv.validate();</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</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; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><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; <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</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="l00446"></a><span class="lineno"> 446</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="l00447"></a><span class="lineno"> 447</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</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; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; },</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; in_y, in_uv, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</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#l00337">Error.h:337</a></div></div>
7937<div class="ttc" id="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail_xhtml_a2a36a93e164b484404fe908cefd6099a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation</a></div><div class="ttdeci">void yuyv_to_rgb_calculation(const SimpleTensor&lt; T &gt; yvec, const SimpleTensor&lt; T &gt; vvec, const SimpleTensor&lt; T &gt; yyvec, const SimpleTensor&lt; T &gt; uvec, SimpleTensor&lt; T &gt; &amp;dst)</div><div class="ttdef"><b>Definition:</b> <a href="_color_convert_helper_8h_source.xhtml#l00155">ColorConvertHelper.h:155</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007938<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00007939<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01007940<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00007941<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007942</div><!-- fragment -->
7943</div>
7944</div>
7945<a class="anchor" id="a587a54c85dcc72838b8f4b5575ebafe4"></a>
7946<div class="memitem">
7947<div class="memproto">
7948 <table class="memname">
7949 <tr>
7950 <td class="memname">void arm_compute::colorconvert_nv12_to_yuv4 </td>
7951 <td>(</td>
7952 <td class="paramtype">const void *__restrict&#160;</td>
7953 <td class="paramname"><em>input</em>, </td>
7954 </tr>
7955 <tr>
7956 <td class="paramkey"></td>
7957 <td></td>
7958 <td class="paramtype">void *__restrict&#160;</td>
7959 <td class="paramname"><em>output</em>, </td>
7960 </tr>
7961 <tr>
7962 <td class="paramkey"></td>
7963 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00007964 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00007965 <td class="paramname"><em>win</em>&#160;</td>
7966 </tr>
7967 <tr>
7968 <td></td>
7969 <td>)</td>
7970 <td></td><td></td>
7971 </tr>
7972 </table>
7973</div><div class="memdoc">
7974
Jenkinsb3a371b2018-05-23 11:36:53 +01007975<p>Convert NV12 to YUV4. </p>
7976<dl class="params"><dt>Parameters</dt><dd>
7977 <table class="params">
7978 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input NV12 data buffer. </td></tr>
7979 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </td></tr>
7980 <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> for iterating the buffers. </td></tr>
7981 </table>
7982 </dd>
7983</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00007984
Jenkinsb3a371b2018-05-23 11:36:53 +01007985<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00758">758</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
7986
Jenkins52ba29e2018-08-29 15:32:11 +00007987<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
7988<div class="fragment"><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;{</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</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="l00761"></a><span class="lineno"> 761</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="l00762"></a><span class="lineno"> 762</span>&#160; win.validate();</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</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="l00765"></a><span class="lineno"> 765</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="l00766"></a><span class="lineno"> 766</span>&#160;</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</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="l00772"></a><span class="lineno"> 772</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="l00773"></a><span class="lineno"> 773</span>&#160; win_uv.validate();</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; Iterator in_y(input_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; Iterator in_uv(input_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; {</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</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="l00784"></a><span class="lineno"> 784</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="l00785"></a><span class="lineno"> 785</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="l00786"></a><span class="lineno"> 786</span>&#160; <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><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; vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</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="l00793"></a><span class="lineno"> 793</span>&#160;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; uint8x16x2_t uvec;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; uvec.val[0] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; uvec.val[1] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</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="l00799"></a><span class="lineno"> 799</span>&#160;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; uint8x16x2_t vvec;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; vvec.val[0] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; vvec.val[1] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</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="l00805"></a><span class="lineno"> 805</span>&#160; },</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</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#l00337">Error.h:337</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00007989<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00007990</div><!-- fragment -->
7991</div>
7992</div>
7993<a class="anchor" id="a49b7a8e217ba7aad821fdeaab86bad53"></a>
7994<div class="memitem">
7995<div class="memproto">
7996 <table class="memname">
7997 <tr>
7998 <td class="memname">void arm_compute::colorconvert_rgb_to_iyuv </td>
7999 <td>(</td>
8000 <td class="paramtype">const void *__restrict&#160;</td>
8001 <td class="paramname"><em>input</em>, </td>
8002 </tr>
8003 <tr>
8004 <td class="paramkey"></td>
8005 <td></td>
8006 <td class="paramtype">void *__restrict&#160;</td>
8007 <td class="paramname"><em>output</em>, </td>
8008 </tr>
8009 <tr>
8010 <td class="paramkey"></td>
8011 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008012 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008013 <td class="paramname"><em>win</em>&#160;</td>
8014 </tr>
8015 <tr>
8016 <td></td>
8017 <td>)</td>
8018 <td></td><td></td>
8019 </tr>
8020 </table>
8021</div><div class="memdoc">
8022
Jenkinsb3a371b2018-05-23 11:36:53 +01008023<p>Convert RGB to IYUV. </p>
8024<dl class="params"><dt>Parameters</dt><dd>
8025 <table class="params">
8026 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
8027 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </td></tr>
8028 <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> for iterating the buffers. </td></tr>
8029 </table>
8030 </dd>
8031</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008032
Jenkinsb3a371b2018-05-23 11:36:53 +01008033<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00918">918</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8034
Jenkins52ba29e2018-08-29 15:32:11 +00008035<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
8036<div class="fragment"><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;{</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</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="l00921"></a><span class="lineno"> 921</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="l00922"></a><span class="lineno"> 922</span>&#160; win.validate();</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</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="l00925"></a><span class="lineno"> 925</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="l00926"></a><span class="lineno"> 926</span>&#160;</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</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="l00930"></a><span class="lineno"> 930</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="l00931"></a><span class="lineno"> 931</span>&#160; win_uv.validate();</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; {</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</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="l00947"></a><span class="lineno"> 947</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</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="l00949"></a><span class="lineno"> 949</span>&#160; out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; },</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_u, out_v);</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
8037<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#l00337">Error.h:337</a></div></div>
8038<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
8039<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides &amp; strides_in_bytes() const override</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#l00231">TensorInfo.h:231</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008040<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008041<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00008042<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
8043<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008044</div><!-- fragment -->
8045</div>
8046</div>
8047<a class="anchor" id="a14fd899b732509e245976b9967b8931d"></a>
8048<div class="memitem">
8049<div class="memproto">
8050 <table class="memname">
8051 <tr>
8052 <td class="memname">void arm_compute::colorconvert_rgb_to_nv12 </td>
8053 <td>(</td>
8054 <td class="paramtype">const void *__restrict&#160;</td>
8055 <td class="paramname"><em>input</em>, </td>
8056 </tr>
8057 <tr>
8058 <td class="paramkey"></td>
8059 <td></td>
8060 <td class="paramtype">void *__restrict&#160;</td>
8061 <td class="paramname"><em>output</em>, </td>
8062 </tr>
8063 <tr>
8064 <td class="paramkey"></td>
8065 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008066 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008067 <td class="paramname"><em>win</em>&#160;</td>
8068 </tr>
8069 <tr>
8070 <td></td>
8071 <td>)</td>
8072 <td></td><td></td>
8073 </tr>
8074 </table>
8075</div><div class="memdoc">
8076
Jenkinsb3a371b2018-05-23 11:36:53 +01008077<p>Convert RGB to NV12. </p>
8078<dl class="params"><dt>Parameters</dt><dd>
8079 <table class="params">
8080 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
8081 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </td></tr>
8082 <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> for iterating the buffers. </td></tr>
8083 </table>
8084 </dd>
8085</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008086
Jenkinsb3a371b2018-05-23 11:36:53 +01008087<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00875">875</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8088
Jenkins52ba29e2018-08-29 15:32:11 +00008089<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
8090<div class="fragment"><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;{</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</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="l00878"></a><span class="lineno"> 878</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="l00879"></a><span class="lineno"> 879</span>&#160; win.validate();</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</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="l00882"></a><span class="lineno"> 882</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="l00883"></a><span class="lineno"> 883</span>&#160;</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="comment">// UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</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="l00887"></a><span class="lineno"> 887</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="l00888"></a><span class="lineno"> 888</span>&#160; win_uv.validate();</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; {</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</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="l00903"></a><span class="lineno"> 903</span>&#160; ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</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="l00905"></a><span class="lineno"> 905</span>&#160; out_uv.ptr());</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; },</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_uv);</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
8091<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#l00337">Error.h:337</a></div></div>
8092<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
8093<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides &amp; strides_in_bytes() const override</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#l00231">TensorInfo.h:231</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008094<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008095<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00008096<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
8097<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008098</div><!-- fragment -->
8099</div>
8100</div>
8101<a class="anchor" id="a93cc303c8ae098d264f07d37890412de"></a>
8102<div class="memitem">
8103<div class="memproto">
8104 <table class="memname">
8105 <tr>
8106 <td class="memname">void arm_compute::colorconvert_rgb_to_rgbx </td>
8107 <td>(</td>
8108 <td class="paramtype">const void *__restrict&#160;</td>
8109 <td class="paramname"><em>input</em>, </td>
8110 </tr>
8111 <tr>
8112 <td class="paramkey"></td>
8113 <td></td>
8114 <td class="paramtype">void *__restrict&#160;</td>
8115 <td class="paramname"><em>output</em>, </td>
8116 </tr>
8117 <tr>
8118 <td class="paramkey"></td>
8119 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008120 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008121 <td class="paramname"><em>win</em>&#160;</td>
8122 </tr>
8123 <tr>
8124 <td></td>
8125 <td>)</td>
8126 <td></td><td></td>
8127 </tr>
8128 </table>
8129</div><div class="memdoc">
8130
Jenkinsb3a371b2018-05-23 11:36:53 +01008131<p>Convert RGB to RGBX. </p>
8132<dl class="params"><dt>Parameters</dt><dd>
8133 <table class="params">
8134 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
8135 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGBX buffer. </td></tr>
8136 <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> for iterating the buffers. </td></tr>
8137 </table>
8138 </dd>
8139</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008140
Jenkinsb3a371b2018-05-23 11:36:53 +01008141<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00312">312</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8142
Jenkins52ba29e2018-08-29 15:32:11 +00008143<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
8144<div class="fragment"><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="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</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="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</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="l00318"></a><span class="lineno"> 318</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="l00319"></a><span class="lineno"> 319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, 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; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><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="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; uint8x16x4_t ta2;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; vst4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr(), ta2);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; },</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
8145<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#l00337">Error.h:337</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008146<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00008147<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008148<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008149</div><!-- fragment -->
8150</div>
8151</div>
8152<a class="anchor" id="ad304c0b0a72ed3f65c24fa69ab3cd53e"></a>
8153<div class="memitem">
8154<div class="memproto">
8155 <table class="memname">
8156 <tr>
8157 <td class="memname">void arm_compute::colorconvert_rgb_to_yuv4 </td>
8158 <td>(</td>
8159 <td class="paramtype">const void *__restrict&#160;</td>
8160 <td class="paramname"><em>input</em>, </td>
8161 </tr>
8162 <tr>
8163 <td class="paramkey"></td>
8164 <td></td>
8165 <td class="paramtype">void *__restrict&#160;</td>
8166 <td class="paramname"><em>output</em>, </td>
8167 </tr>
8168 <tr>
8169 <td class="paramkey"></td>
8170 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008171 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008172 <td class="paramname"><em>win</em>&#160;</td>
8173 </tr>
8174 <tr>
8175 <td></td>
8176 <td>)</td>
8177 <td></td><td></td>
8178 </tr>
8179 </table>
8180</div><div class="memdoc">
8181
Jenkinsb3a371b2018-05-23 11:36:53 +01008182<p>Convert RGB to YUV4. </p>
8183<dl class="params"><dt>Parameters</dt><dd>
8184 <table class="params">
8185 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGB data buffer. </td></tr>
8186 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output YUV4 buffer. </td></tr>
8187 <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> for iterating the buffers. </td></tr>
8188 </table>
8189 </dd>
8190</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008191
Jenkinsb3a371b2018-05-23 11:36:53 +01008192<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00962">962</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8193
Jenkins52ba29e2018-08-29 15:32:11 +00008194<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
8195<div class="fragment"><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;{</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</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="l00965"></a><span class="lineno"> 965</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="l00966"></a><span class="lineno"> 966</span>&#160; win.validate();</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160;</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</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="l00969"></a><span class="lineno"> 969</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="l00970"></a><span class="lineno"> 970</span>&#160;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win);</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win);</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; {</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; },</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_u, out_v);</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
8196<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#l00337">Error.h:337</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008197<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008198<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00008199<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008200</div><!-- fragment -->
8201</div>
8202</div>
8203<a class="anchor" id="acf7451c0d0f8a4b1cfbb60d7531a43aa"></a>
8204<div class="memitem">
8205<div class="memproto">
8206 <table class="memname">
8207 <tr>
8208 <td class="memname">void arm_compute::colorconvert_rgbx_to_rgb </td>
8209 <td>(</td>
8210 <td class="paramtype">const void *&#160;</td>
8211 <td class="paramname"><em>input</em>, </td>
8212 </tr>
8213 <tr>
8214 <td class="paramkey"></td>
8215 <td></td>
8216 <td class="paramtype">void *&#160;</td>
8217 <td class="paramname"><em>output</em>, </td>
8218 </tr>
8219 <tr>
8220 <td class="paramkey"></td>
8221 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008222 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008223 <td class="paramname"><em>win</em>&#160;</td>
8224 </tr>
8225 <tr>
8226 <td></td>
8227 <td>)</td>
8228 <td></td><td></td>
8229 </tr>
8230 </table>
8231</div><div class="memdoc">
8232
Jenkinsb3a371b2018-05-23 11:36:53 +01008233<p>Convert RGBX to RGB. </p>
8234<dl class="params"><dt>Parameters</dt><dd>
8235 <table class="params">
8236 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input RGBX data buffer. </td></tr>
8237 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
8238 <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> for iterating the buffers. </td></tr>
8239 </table>
8240 </dd>
8241</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008242
Jenkinsb3a371b2018-05-23 11:36:53 +01008243<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00343">343</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8244
Jenkins52ba29e2018-08-29 15:32:11 +00008245<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>.</p>
8246<div class="fragment"><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;{</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</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="l00346"></a><span class="lineno"> 346</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="l00347"></a><span class="lineno"> 347</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</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="l00349"></a><span class="lineno"> 349</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="l00350"></a><span class="lineno"> 350</span>&#160;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><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> ta1 = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; uint8x16x3_t ta2;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; vst3q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr(), ta2);</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; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
8247<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#l00337">Error.h:337</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008248<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00008249<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008250<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008251</div><!-- fragment -->
8252</div>
8253</div>
8254<a class="anchor" id="ae43e8f0463c0289169025c3041688d36"></a>
8255<div class="memitem">
8256<div class="memproto">
8257 <table class="memname">
8258 <tr>
8259 <td class="memname">void arm_compute::colorconvert_yuyv_to_iyuv </td>
8260 <td>(</td>
8261 <td class="paramtype">const void *__restrict&#160;</td>
8262 <td class="paramname"><em>input</em>, </td>
8263 </tr>
8264 <tr>
8265 <td class="paramkey"></td>
8266 <td></td>
8267 <td class="paramtype">void *__restrict&#160;</td>
8268 <td class="paramname"><em>output</em>, </td>
8269 </tr>
8270 <tr>
8271 <td class="paramkey"></td>
8272 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008273 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008274 <td class="paramname"><em>win</em>&#160;</td>
8275 </tr>
8276 <tr>
8277 <td></td>
8278 <td>)</td>
8279 <td></td><td></td>
8280 </tr>
8281 </table>
8282</div><div class="memdoc">
8283
Jenkinsb3a371b2018-05-23 11:36:53 +01008284<p>Convert YUYV to IYUV. </p>
8285<dl class="params"><dt>Parameters</dt><dd>
8286 <table class="params">
8287 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
8288 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output IYUV buffer. </td></tr>
8289 <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> for iterating the buffers. </td></tr>
8290 </table>
8291 </dd>
8292</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008293
Jenkinsb3a371b2018-05-23 11:36:53 +01008294<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00698">698</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8295
Jenkins52ba29e2018-08-29 15:32:11 +00008296<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
8297<div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;{</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</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="l00701"></a><span class="lineno"> 701</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="l00702"></a><span class="lineno"> 702</span>&#160; win.validate();</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</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="l00705"></a><span class="lineno"> 705</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="l00706"></a><span class="lineno"> 706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</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; <span class="comment">// Destination&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</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="l00712"></a><span class="lineno"> 712</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="l00713"></a><span class="lineno"> 713</span>&#160; win_uv.validate();</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; Iterator out_u(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; Iterator out_v(output_ptr-&gt;plane(2), win_uv);</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><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; <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>());</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; uint8x16x2_t yvec;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; vst2q_u8(out_y.ptr(), yvec);</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; uint8x16x2_t yyvec;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</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="l00738"></a><span class="lineno"> 738</span>&#160;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; uint8x16_t uvec;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; vst1q_u8(out_u.ptr(), uvec);</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; uint8x16_t vvec;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; vst1q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; },</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_u, out_v);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
8298<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#l00337">Error.h:337</a></div></div>
8299<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
8300<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides &amp; strides_in_bytes() const override</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#l00231">TensorInfo.h:231</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008301<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008302<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00008303<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008304</div><!-- fragment -->
8305</div>
8306</div>
8307<a class="anchor" id="a8ee13904a3f5ba84b28cb53d956021d7"></a>
8308<div class="memitem">
8309<div class="memproto">
8310 <table class="memname">
8311 <tr>
8312 <td class="memname">void arm_compute::colorconvert_yuyv_to_nv12 </td>
8313 <td>(</td>
8314 <td class="paramtype">const void *__restrict&#160;</td>
8315 <td class="paramname"><em>input</em>, </td>
8316 </tr>
8317 <tr>
8318 <td class="paramkey"></td>
8319 <td></td>
8320 <td class="paramtype">void *__restrict&#160;</td>
8321 <td class="paramname"><em>output</em>, </td>
8322 </tr>
8323 <tr>
8324 <td class="paramkey"></td>
8325 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008326 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008327 <td class="paramname"><em>win</em>&#160;</td>
8328 </tr>
8329 <tr>
8330 <td></td>
8331 <td>)</td>
8332 <td></td><td></td>
8333 </tr>
8334 </table>
8335</div><div class="memdoc">
8336
Jenkinsb3a371b2018-05-23 11:36:53 +01008337<p>Convert YUYV to NV12. </p>
8338<dl class="params"><dt>Parameters</dt><dd>
8339 <table class="params">
8340 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
8341 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output NV12 buffer. </td></tr>
8342 <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> for iterating the buffers. </td></tr>
8343 </table>
8344 </dd>
8345</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008346
Jenkinsb3a371b2018-05-23 11:36:53 +01008347<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00546">546</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8348
Jenkins52ba29e2018-08-29 15:32:11 +00008349<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">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#l00152">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00136">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00145">Window::y()</a>.</p>
8350<div class="fragment"><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;{</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</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="l00549"></a><span class="lineno"> 549</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="l00550"></a><span class="lineno"> 550</span>&#160; win.validate();</div><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; <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="l00553"></a><span class="lineno"> 553</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="l00554"></a><span class="lineno"> 554</span>&#160;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="comment">// NV12&#39;s UV&#39;s width and height are subsampled</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; Window win_uv(win);</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</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="l00560"></a><span class="lineno"> 560</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="l00561"></a><span class="lineno"> 561</span>&#160; win_uv.validate();</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; Iterator out_y(output_ptr-&gt;plane(0), win);</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; Iterator out_uv(output_ptr-&gt;plane(1), win_uv);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; {</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr() + input_ptr-&gt;<a class="code" href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>());</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; uint8x16x2_t yvec;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; uint8x16x2_t yyvec;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; yyvec.val[1] = ta_bottom.val[2 + shift];</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(), yyvec);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; uint8x16x2_t uvvec;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; vst2q_u8(out_uv.ptr(), uvvec);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; },</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, out_y, out_uv);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
8351<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#l00337">Error.h:337</a></div></div>
8352<div class="ttc" id="classarm__compute_1_1_c_l_tensor_xhtml_a97de03c31e0ca04be6960e2e3ffdca95"><div class="ttname"><a href="classarm__compute_1_1_c_l_tensor.xhtml#a97de03c31e0ca04be6960e2e3ffdca95">arm_compute::CLTensor::info</a></div><div class="ttdeci">TensorInfo * info() const override</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor&amp;#39;s metadata. </div></div>
8353<div class="ttc" id="classarm__compute_1_1_tensor_info_xhtml_a5f1ca9d674346287cae57a6c5b5c24ec"><div class="ttname"><a href="classarm__compute_1_1_tensor_info.xhtml#a5f1ca9d674346287cae57a6c5b5c24ec">arm_compute::TensorInfo::strides_in_bytes</a></div><div class="ttdeci">const Strides &amp; strides_in_bytes() const override</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#l00231">TensorInfo.h:231</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008354<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008355<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00008356<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008357</div><!-- fragment -->
8358</div>
8359</div>
8360<a class="anchor" id="a3c22c0d3494660b72b4fc04fec76f92d"></a>
8361<div class="memitem">
8362<div class="memproto">
8363 <table class="memname">
8364 <tr>
8365 <td class="memname">void arm_compute::colorconvert_yuyv_to_rgb </td>
8366 <td>(</td>
8367 <td class="paramtype">const void *__restrict&#160;</td>
8368 <td class="paramname"><em>input</em>, </td>
8369 </tr>
8370 <tr>
8371 <td class="paramkey"></td>
8372 <td></td>
8373 <td class="paramtype">void *__restrict&#160;</td>
8374 <td class="paramname"><em>output</em>, </td>
8375 </tr>
8376 <tr>
8377 <td class="paramkey"></td>
8378 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008379 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008380 <td class="paramname"><em>win</em>&#160;</td>
8381 </tr>
8382 <tr>
8383 <td></td>
8384 <td>)</td>
8385 <td></td><td></td>
8386 </tr>
8387 </table>
8388</div><div class="memdoc">
8389
Jenkinsb3a371b2018-05-23 11:36:53 +01008390<p>Convert YUYV to RGB. </p>
8391<dl class="params"><dt>Parameters</dt><dd>
8392 <table class="params">
8393 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input YUYV data buffer. </td></tr>
8394 <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output RGB buffer. </td></tr>
8395 <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> for iterating the buffers. </td></tr>
8396 </table>
8397 </dd>
8398</dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00008399
Jenkinsb3a371b2018-05-23 11:36:53 +01008400<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00374">374</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
8401
Jenkins52ba29e2018-08-29 15:32:11 +00008402<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">arm_compute::test::validation::alpha</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00122">execute_window_loop()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00241">arm_compute::test::validation::in</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00242">arm_compute::test::validation::out</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00184">Iterator::ptr()</a>, and <a class="el" href="_color_convert_helper_8h_source.xhtml#l00155">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation()</a>.</p>
8403<div class="fragment"><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; <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="l00377"></a><span class="lineno"> 377</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="l00378"></a><span class="lineno"> 378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</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="l00380"></a><span class="lineno"> 380</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="l00381"></a><span class="lineno"> 381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</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; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>(input_ptr, win);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; Iterator <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>(output_ptr, win);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&amp;](<span class="keyword">const</span> Coordinates &amp; <span class="keywordtype">id</span>)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; float32x4x4_t uvec, yvec, vvec, yyvec;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> ta = vld4q_u8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>.ptr());</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></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="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</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; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">yuyv_to_rgb_calculation</a>(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</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; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">in</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">out</a>);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad366eaa4cf2d106037d91c30795a5c76"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad366eaa4cf2d106037d91c30795a5c76">arm_compute::test::validation::in</a></div><div class="ttdeci">CLTensor in</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00241">Winograd.cpp:241</a></div></div>
8404<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#l00337">Error.h:337</a></div></div>
8405<div class="ttc" id="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail_xhtml_a2a36a93e164b484404fe908cefd6099a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1colorconvert__helper_1_1detail.xhtml#a2a36a93e164b484404fe908cefd6099a">arm_compute::test::colorconvert_helper::detail::yuyv_to_rgb_calculation</a></div><div class="ttdeci">void yuyv_to_rgb_calculation(const SimpleTensor&lt; T &gt; yvec, const SimpleTensor&lt; T &gt; vvec, const SimpleTensor&lt; T &gt; yyvec, const SimpleTensor&lt; T &gt; uvec, SimpleTensor&lt; T &gt; &amp;dst)</div><div class="ttdef"><b>Definition:</b> <a href="_color_convert_helper_8h_source.xhtml#l00155">ColorConvertHelper.h:155</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008406<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &amp;w, L &amp;&amp;lambda_function, Ts &amp;&amp;...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00122">Helpers.inl:122</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00008407<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_af8a8a0625e7981212a0af48deb9d2a09"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#af8a8a0625e7981212a0af48deb9d2a09">arm_compute::test::validation::out</a></div><div class="ttdeci">CLTensor out</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00242">Winograd.cpp:242</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +01008408<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="ttdoc">Interface for CPP Images. </div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00037">CPPCornerCandidatesKernel.h:37</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +00008409<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00087">GEMM.cpp:87</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008410</div><!-- fragment -->
8411</div>
8412</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008413<a class="anchor" id="a35178800b82e07a49da5a81cdeda9a0c"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00008414<div class="memitem">
8415<div class="memproto">
8416<table class="mlabels">
8417 <tr>
8418 <td class="mlabels-left">
8419 <table class="memname">
8420 <tr>
8421 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
8422 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008423 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008424 <td class="paramname"><em>info</em>, </td>
8425 </tr>
8426 <tr>
8427 <td class="paramkey"></td>
8428 <td></td>
8429 <td class="paramtype">T&#160;</td>
8430 <td class="paramname"><em>stride_x</em>, </td>
8431 </tr>
8432 <tr>
8433 <td class="paramkey"></td>
8434 <td></td>
8435 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
8436 <td class="paramname"><em>fixed_strides</em>&#160;</td>
8437 </tr>
8438 <tr>
8439 <td></td>
8440 <td>)</td>
8441 <td></td><td></td>
8442 </tr>
8443 </table>
8444 </td>
8445 <td class="mlabels-right">
8446<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8447 </tr>
8448</table>
8449</div><div class="memdoc">
8450
8451<p>Create a strides object based on the provided strides and the tensor dimensions. </p>
8452<dl class="params"><dt>Parameters</dt><dd>
8453 <table class="params">
8454 <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>
8455 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride to be used in X dimension (in bytes). </td></tr>
8456 <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>
8457 </table>
8458 </dd>
8459</dl>
8460<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>
8461
Jenkinsb3a371b2018-05-23 11:36:53 +01008462<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00501">501</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008463
Jenkins52ba29e2018-08-29 15:32:11 +00008464<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>, <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008465
Jenkinsb3a371b2018-05-23 11:36:53 +01008466<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00523">compute_strides()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00008467<div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;{</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keyword">const</span> TensorShape &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape();</div><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="comment">// Create strides object</span></div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; Strides strides(stride_x, fixed_strides...);</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="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_dimensions(); ++i)</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; strides.set(i, shape[i - 1] * strides[i - 1]);</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;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> strides;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01008468<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
8469</div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00008470</div>
8471</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008472<a class="anchor" id="a8c35748731709927597cb5a2c227e682"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00008473<div class="memitem">
8474<div class="memproto">
8475<table class="mlabels">
8476 <tr>
8477 <td class="mlabels-left">
8478 <table class="memname">
8479 <tr>
8480 <td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
8481 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008482 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008483 <td class="paramname"><em>info</em></td><td>)</td>
8484 <td></td>
8485 </tr>
8486 </table>
8487 </td>
8488 <td class="mlabels-right">
8489<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8490 </tr>
8491</table>
8492</div><div class="memdoc">
8493
8494<p>Create a strides object based on the tensor dimensions. </p>
8495<dl class="params"><dt>Parameters</dt><dd>
8496 <table class="params">
8497 <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>
8498 </table>
8499 </dd>
8500</dl>
8501<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>
8502
Jenkinsb3a371b2018-05-23 11:36:53 +01008503<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00523">523</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008504
Jenkinsb3a371b2018-05-23 11:36:53 +01008505<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00501">compute_strides()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aa459796b5489eca8a9160cb5dcf1a103">ITensorInfo::element_size()</a>.</p>
8506<div class="fragment"><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="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">compute_strides</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.element_size());</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
8507<div class="ttc" id="namespacearm__compute_xhtml_a8c35748731709927597cb5a2c227e682"><div class="ttname"><a href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">arm_compute::compute_strides</a></div><div class="ttdeci">Strides compute_strides(const ITensorInfo &amp;info)</div><div class="ttdoc">Create a strides object based on the tensor dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00523">Helpers.h:523</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01008508</div><!-- fragment -->
8509</div>
8510</div>
Jenkins52ba29e2018-08-29 15:32:11 +00008511<a class="anchor" id="a3b0c016b53e97663b39c2f3875f46c24"></a>
8512<div class="memitem">
8513<div class="memproto">
8514<table class="mlabels">
8515 <tr>
8516 <td class="mlabels-left">
8517 <table class="memname">
8518 <tr>
8519 <td class="memname"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> arm_compute::compute_winograd_convolution_tiles </td>
8520 <td>(</td>
8521 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
8522 <td class="paramname"><em>in_dims</em>, </td>
8523 </tr>
8524 <tr>
8525 <td class="paramkey"></td>
8526 <td></td>
8527 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
8528 <td class="paramname"><em>kernel_size</em>, </td>
8529 </tr>
8530 <tr>
8531 <td class="paramkey"></td>
8532 <td></td>
8533 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
8534 <td class="paramname"><em>output_tile_size</em>, </td>
8535 </tr>
8536 <tr>
8537 <td class="paramkey"></td>
8538 <td></td>
8539 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;&#160;</td>
8540 <td class="paramname"><em>conv_info</em>&#160;</td>
8541 </tr>
8542 <tr>
8543 <td></td>
8544 <td>)</td>
8545 <td></td><td></td>
8546 </tr>
8547 </table>
8548 </td>
8549 <td class="mlabels-right">
8550<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8551 </tr>
8552</table>
8553</div><div class="memdoc">
8554
8555<p>Calculate the number of output tiles required by Winograd Convolution layer. </p>
8556<p>This utility function can be used by the Winograd input transform to know the number of tiles on the x and y direction</p>
8557<dl class="params"><dt>Parameters</dt><dd>
8558 <table class="params">
8559 <tr><td class="paramdir">[in]</td><td class="paramname">in_dims</td><td>Spatial dimensions of the input tensor of convolution layer </td></tr>
8560 <tr><td class="paramdir">[in]</td><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>
8561 <tr><td class="paramdir">[in]</td><td class="paramname">output_tile_size</td><td>Size of a single output tile </td></tr>
8562 <tr><td class="paramdir">[in]</td><td class="paramname">conv_info</td><td>Convolution info (i.e. pad, stride,...)</td></tr>
8563 </table>
8564 </dd>
8565</dl>
8566<dl class="section return"><dt>Returns</dt><dd>the number of output tiles along the x and y directions of size "output_tile_size" </dd></dl>
8567
8568<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00701">701</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
8569
8570<p>References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00658">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00643">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00648">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00653">PadStrideInfo::pad_top()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
8571
8572<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00287">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00197">arm_compute::test::validation::reference::winograd_input_transform()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00401">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
8573<div class="fragment"><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; <span class="keywordtype">int</span> num_tiles_x = std::ceil((in_dims.width - (kernel_size.width - 1) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_left() + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_right()) / static_cast&lt;float&gt;(output_tile_size.width));</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordtype">int</span> num_tiles_y = std::ceil((in_dims.height - (kernel_size.height - 1) + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_top() + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">conv_info</a>.pad_bottom()) / static_cast&lt;float&gt;(output_tile_size.height));</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="comment">// Clamp in case we provide paddings but we have 1D convolution</span></div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; num_tiles_x = std::min(num_tiles_x, static_cast&lt;int&gt;(in_dims.width));</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; num_tiles_y = std::min(num_tiles_y, static_cast&lt;int&gt;(in_dims.height));</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">return</span> Size2D(num_tiles_x, num_tiles_y);</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acbf8f8a6dd185de04c1981c57a8963cf"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acbf8f8a6dd185de04c1981c57a8963cf">arm_compute::test::validation::conv_info</a></div><div class="ttdeci">conv_info</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00572">Winograd.cpp:572</a></div></div>
8574</div><!-- fragment -->
8575</div>
8576</div>
8577<a class="anchor" id="afe3b7128bf77dd12c85eed944fe5b3d4"></a>
8578<div class="memitem">
8579<div class="memproto">
8580<table class="mlabels">
8581 <tr>
8582 <td class="mlabels-left">
8583 <table class="memname">
8584 <tr>
8585 <td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> arm_compute::convert_window_coord_to_position </td>
8586 <td>(</td>
8587 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
8588 <td class="paramname"><em>w</em>, </td>
8589 </tr>
8590 <tr>
8591 <td class="paramkey"></td>
8592 <td></td>
8593 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
8594 <td class="paramname"><em>offset</em>&#160;</td>
8595 </tr>
8596 <tr>
8597 <td></td>
8598 <td>)</td>
8599 <td></td><td></td>
8600 </tr>
8601 </table>
8602 </td>
8603 <td class="mlabels-right">
8604<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8605 </tr>
8606</table>
8607</div><div class="memdoc">
8608
8609<p>Convert an offset in window steps into absolute coordinates. </p>
8610<dl class="params"><dt>Parameters</dt><dd>
8611 <table class="params">
8612 <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> <code>offset</code> is related to. </td></tr>
8613 <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>Offset inside the window expressed in number of window steps.</td></tr>
8614 </table>
8615 </dd>
8616</dl>
8617<dl class="section return"><dt>Returns</dt><dd>Absolute coordinates. </dd></dl>
8618
8619<p>Definition at line <a class="el" href="_window_iterator_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_window_iterator_8h_source.xhtml">WindowIterator.h</a>.</p>
8620
8621<p>References <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>.</p>
8622<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; Coordinates position;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; Coordinates::num_max_dimensions; ++i)</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; position.set(i, w[i].start() + <a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>[i] * w[i].step());</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> position;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div><div class="ttc" id="helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00311">helpers.h:311</a></div></div>
8623</div><!-- fragment -->
8624</div>
8625</div>
Kaizen8938bd32017-09-28 14:38:23 +01008626<a class="anchor" id="ad95e1c14c3007ca18950bf8f4c5a5c93"></a>
8627<div class="memitem">
8628<div class="memproto">
8629<table class="mlabels">
8630 <tr>
8631 <td class="mlabels-left">
8632 <table class="memname">
8633 <tr>
8634 <td class="memname">int coords2index </td>
8635 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008636 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +01008637 <td class="paramname"><em>shape</em>, </td>
8638 </tr>
8639 <tr>
8640 <td class="paramkey"></td>
8641 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008642 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +01008643 <td class="paramname"><em>coord</em>&#160;</td>
8644 </tr>
8645 <tr>
8646 <td></td>
8647 <td>)</td>
8648 <td></td><td></td>
8649 </tr>
8650 </table>
8651 </td>
8652 <td class="mlabels-right">
8653<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8654 </tr>
8655</table>
8656</div><div class="memdoc">
8657
8658<p>Convert n-dimensional coordinates into a linear index. </p>
8659<dl class="params"><dt>Parameters</dt><dd>
8660 <table class="params">
8661 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
8662 <tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>N-dimensional coordinates.</td></tr>
8663 </table>
8664 </dd>
8665</dl>
8666<dl class="section return"><dt>Returns</dt><dd>linead index </dd></dl>
8667
Jenkins52ba29e2018-08-29 15:32:11 +00008668<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00308">308</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01008669
Jenkins52ba29e2018-08-29 15:32:11 +00008670<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008671
Jenkins52ba29e2018-08-29 15:32:11 +00008672<p>Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00197">arm_compute::test::validation::reference::winograd_input_transform()</a>.</p>
8673<div class="fragment"><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;{</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordtype">int</span> num_elements = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.total_size();</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(num_elements);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">&quot;Cannot create linear index from empty shape!&quot;</span>);</div><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; <span class="keywordtype">int</span> index = 0;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordtype">int</span> stride = 1;</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="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 0; d &lt; coord.num_dimensions(); ++d)</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; index += coord[d] * stride;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</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; <span class="keywordflow">return</span> index;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
8674<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</a></div></div>
8675<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008676</div><!-- fragment -->
8677</div>
8678</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008679<a class="anchor" id="a35fb9d1dde1b976f4b7d361aabcc7c0d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008680<div class="memitem">
8681<div class="memproto">
8682 <table class="memname">
8683 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008684 <td class="memname">std::unique_ptr&lt;<a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a>&gt; arm_compute::create_configure_kernel </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008685 <td>(</td>
8686 <td class="paramtype">T &amp;&amp;...&#160;</td>
8687 <td class="paramname"><em>args</em></td><td>)</td>
8688 <td></td>
8689 </tr>
8690 </table>
8691</div><div class="memdoc">
8692
Jenkinsb3a371b2018-05-23 11:36:53 +01008693<p>Helper function to create and return a unique_ptr pointed to a CL/GLES kernel object It also calls the kernel's configuration. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008694<dl class="params"><dt>Parameters</dt><dd>
8695 <table class="params">
8696 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>All the arguments that need pass to kernel's configuration.</td></tr>
8697 </table>
8698 </dd>
8699</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +01008700<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL/GLES kernel object </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008701
Jenkinsb3a371b2018-05-23 11:36:53 +01008702<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00074">74</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
8703<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;{</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; std::unique_ptr&lt;Kernel&gt; k = arm_compute::support::cpp14::make_unique&lt;Kernel&gt;();</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; k-&gt;configure(std::forward&lt;T&gt;(args)...);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> k;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01008704</div>
8705</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008706<a class="anchor" id="a3eee3c80d78ee4574a5eed0af5af919d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008707<div class="memitem">
8708<div class="memproto">
8709 <table class="memname">
8710 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008711 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> arm_compute::create_error </td>
8712 <td>(</td>
8713 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a>&#160;</td>
8714 <td class="paramname"><em>error_code</em>, </td>
8715 </tr>
8716 <tr>
8717 <td class="paramkey"></td>
8718 <td></td>
8719 <td class="paramtype">const char *&#160;</td>
8720 <td class="paramname"><em>function</em>, </td>
8721 </tr>
8722 <tr>
8723 <td class="paramkey"></td>
8724 <td></td>
8725 <td class="paramtype">const char *&#160;</td>
8726 <td class="paramname"><em>file</em>, </td>
8727 </tr>
8728 <tr>
8729 <td class="paramkey"></td>
8730 <td></td>
8731 <td class="paramtype">const int&#160;</td>
8732 <td class="paramname"><em>line</em>, </td>
8733 </tr>
8734 <tr>
8735 <td class="paramkey"></td>
8736 <td></td>
8737 <td class="paramtype">const char *&#160;</td>
8738 <td class="paramname"><em>msg</em>, </td>
8739 </tr>
8740 <tr>
8741 <td class="paramkey"></td>
8742 <td></td>
8743 <td class="paramtype">&#160;</td>
8744 <td class="paramname"><em>...</em>&#160;</td>
8745 </tr>
8746 <tr>
8747 <td></td>
8748 <td>)</td>
8749 <td></td><td></td>
8750 </tr>
8751 </table>
8752</div><div class="memdoc">
8753
8754<p>Creates an error containing the error message. </p>
8755<dl class="params"><dt>Parameters</dt><dd>
8756 <table class="params">
8757 <tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
8758 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
8759 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
8760 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
8761 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
8762 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message.</td></tr>
8763 </table>
8764 </dd>
8765</dl>
8766<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
8767
Jenkins52ba29e2018-08-29 15:32:11 +00008768<p>Referenced by <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008769
8770</div>
8771</div>
8772<a class="anchor" id="a2edb6ec8bea5c26d7d802d21caf64d02"></a>
8773<div class="memitem">
8774<div class="memproto">
8775 <table class="memname">
8776 <tr>
8777 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> arm_compute::create_error_va_list </td>
8778 <td>(</td>
8779 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a>&#160;</td>
8780 <td class="paramname"><em>error_code</em>, </td>
8781 </tr>
8782 <tr>
8783 <td class="paramkey"></td>
8784 <td></td>
8785 <td class="paramtype">const char *&#160;</td>
8786 <td class="paramname"><em>function</em>, </td>
8787 </tr>
8788 <tr>
8789 <td class="paramkey"></td>
8790 <td></td>
8791 <td class="paramtype">const char *&#160;</td>
8792 <td class="paramname"><em>file</em>, </td>
8793 </tr>
8794 <tr>
8795 <td class="paramkey"></td>
8796 <td></td>
8797 <td class="paramtype">const int&#160;</td>
8798 <td class="paramname"><em>line</em>, </td>
8799 </tr>
8800 <tr>
8801 <td class="paramkey"></td>
8802 <td></td>
8803 <td class="paramtype">const char *&#160;</td>
8804 <td class="paramname"><em>msg</em>, </td>
8805 </tr>
8806 <tr>
8807 <td class="paramkey"></td>
8808 <td></td>
8809 <td class="paramtype">va_list&#160;</td>
8810 <td class="paramname"><em>args</em>&#160;</td>
8811 </tr>
8812 <tr>
8813 <td></td>
8814 <td>)</td>
8815 <td></td><td></td>
8816 </tr>
8817 </table>
8818</div><div class="memdoc">
8819
8820<p>Creates an error containing the error message from variable argument list. </p>
8821<dl class="params"><dt>Parameters</dt><dd>
8822 <table class="params">
8823 <tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
8824 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
8825 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
8826 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
8827 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
8828 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>Variable argument list of the message.</td></tr>
8829 </table>
8830 </dd>
8831</dl>
8832<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
8833
Jenkins52ba29e2018-08-29 15:32:11 +00008834<p>Referenced by <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008835
8836</div>
8837</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008838<a class="anchor" id="abc72c95941485d8a068fa38372308574"></a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008839<div class="memitem">
8840<div class="memproto">
8841 <table class="memname">
8842 <tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00008843 <td class="memname">std::unique_ptr&lt;<a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a>&gt; arm_compute::create_kernel </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008844 <td>(</td>
8845 <td class="paramname"></td><td>)</td>
8846 <td></td>
8847 </tr>
8848 </table>
8849</div><div class="memdoc">
8850
Jenkinsb3a371b2018-05-23 11:36:53 +01008851<p>Helper function to create and return a unique_ptr pointed to a CL/GLES kernel object. </p>
8852<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a <a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> kernel object </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +01008853
Jenkinsb3a371b2018-05-23 11:36:53 +01008854<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00086">86</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008855
Jenkins52ba29e2018-08-29 15:32:11 +00008856<p>Referenced by <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00236">GCKernelLibrary::set_context()</a>, and <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00290">CLKernelLibrary::set_device()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +01008857<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; std::unique_ptr&lt;Kernel&gt; k = arm_compute::support::cpp14::make_unique&lt;Kernel&gt;();</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> k;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +01008858</div>
8859</div>
Jenkins52ba29e2018-08-29 15:32:11 +00008860<a class="anchor" id="aaf5f536bf7ec25ff83b912badcf61405"></a>
8861<div class="memitem">
8862<div class="memproto">
8863 <table class="memname">
8864 <tr>
8865 <td class="memname"><a class="el" href="classarm__compute_1_1_window_iterator.xhtml">WindowIterator</a>&lt;L&gt; arm_compute::create_window_iterator </td>
8866 <td>(</td>
8867 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
8868 <td class="paramname"><em>w</em>, </td>
8869 </tr>
8870 <tr>
8871 <td class="paramkey"></td>
8872 <td></td>
8873 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
8874 <td class="paramname"><em>start</em>, </td>
8875 </tr>
8876 <tr>
8877 <td class="paramkey"></td>
8878 <td></td>
8879 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
8880 <td class="paramname"><em>end</em>, </td>
8881 </tr>
8882 <tr>
8883 <td class="paramkey"></td>
8884 <td></td>
8885 <td class="paramtype">L &amp;&amp;&#160;</td>
8886 <td class="paramname"><em>lambda_function</em>&#160;</td>
8887 </tr>
8888 <tr>
8889 <td></td>
8890 <td>)</td>
8891 <td></td><td></td>
8892 </tr>
8893 </table>
8894</div><div class="memdoc">
8895
8896<p>Create a <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window. ">WindowIterator</a> object. </p>
8897<dl class="params"><dt>Parameters</dt><dd>
8898 <table class="params">
8899 <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 use for the iteration </td></tr>
8900 <tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Where to start iterating from (In <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> coordinates) </td></tr>
8901 <tr><td class="paramdir">[in]</td><td class="paramname">end</td><td>Where to stop iterating (In <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> coordinates). </td></tr>
8902 <tr><td class="paramdir">[in]</td><td class="paramname">lambda_function</td><td>Lambda function to call for every iteration between start and end. (It will be called last for end - 1)</td></tr>
8903 </table>
8904 </dd>
8905</dl>
8906<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classarm__compute_1_1_window_iterator.xhtml" title="Iterate over a portion of a Window. ">WindowIterator</a> object. </dd></dl>
8907
8908<p>Definition at line <a class="el" href="_window_iterator_8h_source.xhtml#l00304">304</a> of file <a class="el" href="_window_iterator_8h_source.xhtml">WindowIterator.h</a>.</p>
8909
8910<p>Referenced by <a class="el" href="_window_iterator_8cpp_source.xhtml#l00064">DATA_TEST_CASE()</a>.</p>
8911<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;{</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">return</span> WindowIterator&lt;L&gt;(w, start, end, std::move(lambda_function));</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;}</div></div><!-- fragment -->
8912</div>
8913</div>
8914<a class="anchor" id="a70c6f92f6b74982b31716cfd2fdf612a"></a>
8915<div class="memitem">
8916<div class="memproto">
8917 <table class="memname">
8918 <tr>
8919 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> arm_compute::data_layout_from_name </td>
8920 <td>(</td>
8921 <td class="paramtype">const std::string &amp;&#160;</td>
8922 <td class="paramname"><em>name</em></td><td>)</td>
8923 <td></td>
8924 </tr>
8925 </table>
8926</div><div class="memdoc">
8927
8928<p>Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. </p>
8929<dl class="params"><dt>Parameters</dt><dd>
8930 <table class="params">
8931 <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>String to convert</td></tr>
8932 </table>
8933 </dd>
8934</dl>
8935<dl class="section return"><dt>Returns</dt><dd>Converted DataLayout enumeration </dd></dl>
8936
8937<p>Referenced by <a class="el" href="_type_loader_8h_source.xhtml#l00048">operator&gt;&gt;()</a>.</p>
8938
8939</div>
8940</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008941<a class="anchor" id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
8942<div class="memitem">
8943<div class="memproto">
8944<table class="mlabels">
8945 <tr>
8946 <td class="mlabels-left">
8947 <table class="memname">
8948 <tr>
8949 <td class="memname">size_t arm_compute::data_size_from_type </td>
8950 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00008951 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00008952 <td class="paramname"><em>data_type</em></td><td>)</td>
8953 <td></td>
8954 </tr>
8955 </table>
8956 </td>
8957 <td class="mlabels-right">
8958<span class="mlabels"><span class="mlabel">inline</span></span> </td>
8959 </tr>
8960</table>
8961</div><div class="memdoc">
8962
8963<p>The size in bytes of the data type. </p>
8964<dl class="params"><dt>Parameters</dt><dd>
8965 <table class="params">
8966 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Input data type</td></tr>
8967 </table>
8968 </dd>
8969</dl>
8970<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
8971
Jenkinsb3a371b2018-05-23 11:36:53 +01008972<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00107">107</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008973
Jenkins52ba29e2018-08-29 15:32:11 +00008974<p>References <a class="el" href="_error_8h_source.xhtml#l00261">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#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00008975
Jenkins52ba29e2018-08-29 15:32:11 +00008976<p>Referenced by <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00091">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00240">TensorInfo::element_size()</a>.</p>
8977<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;{</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div><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">case</span> DataType::U8:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</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="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> 0;</div><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;}</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#l00261">Error.h:261</a></div></div>
8978<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00008979</div><!-- fragment -->
8980</div>
8981</div>
8982<a class="anchor" id="a01adc12d8e07c06cdb0f03c56a455bf3"></a>
8983<div class="memitem">
8984<div class="memproto">
8985<table class="mlabels">
8986 <tr>
8987 <td class="mlabels-left">
8988 <table class="memname">
8989 <tr>
8990 <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>
8991 <td>(</td>
8992 <td class="paramtype">const int16_t *&#160;</td>
8993 <td class="paramname"><em>conv_col</em>, </td>
8994 </tr>
8995 <tr>
8996 <td class="paramkey"></td>
8997 <td></td>
8998 <td class="paramtype">const int16_t *&#160;</td>
8999 <td class="paramname"><em>conv_row</em>, </td>
9000 </tr>
9001 <tr>
9002 <td class="paramkey"></td>
9003 <td></td>
9004 <td class="paramtype">size_t&#160;</td>
9005 <td class="paramname"><em>size</em>&#160;</td>
9006 </tr>
9007 <tr>
9008 <td></td>
9009 <td>)</td>
9010 <td></td><td></td>
9011 </tr>
9012 </table>
9013 </td>
9014 <td class="mlabels-right">
9015<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9016 </tr>
9017</table>
9018</div><div class="memdoc">
9019
9020<p>Calculate accurary required by the horizontal and vertical convolution computations. </p>
9021<dl class="params"><dt>Parameters</dt><dd>
9022 <table class="params">
9023 <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>
9024 <tr><td class="paramdir">[in]</td><td class="paramname">conv_row</td><td>Pointer to the horizontal vector of the convolution filter </td></tr>
9025 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of elements per vector of the separated matrix</td></tr>
9026 </table>
9027 </dd>
9028</dl>
9029<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>
9030
Jenkins52ba29e2018-08-29 15:32:11 +00009031<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00705">705</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009032
Kaizen8938bd32017-09-28 14:38:23 +01009033<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00009034<div class="fragment"><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;{</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &amp;v)</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; {</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; };</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</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="l00716"></a><span class="lineno"> 716</span>&#160; {</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">return</span> first + (second &lt; 0 ? second : 0);</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;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</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="l00721"></a><span class="lineno"> 721</span>&#160; {</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="keywordflow">return</span> first + (second &gt; 0 ? second : 0);</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; };</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</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="l00726"></a><span class="lineno"> 726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</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="l00730"></a><span class="lineno"> 730</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="l00731"></a><span class="lineno"> 731</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; first_stage = (max_row_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</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; second_stage = (max_value &lt;= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; }</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; {</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</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="l00739"></a><span class="lineno"> 739</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="l00740"></a><span class="lineno"> 740</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="l00741"></a><span class="lineno"> 741</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="l00742"></a><span class="lineno"> 742</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="l00743"></a><span class="lineno"> 743</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="l00744"></a><span class="lineno"> 744</span>&#160;</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</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="l00746"></a><span class="lineno"> 746</span>&#160;</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</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="l00748"></a><span class="lineno"> 748</span>&#160; }</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</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 Barbier06ea0482018-02-22 15:45:35 +00009035<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009036</div><!-- fragment -->
9037</div>
9038</div>
9039<a class="anchor" id="a3992df9e8723140a53e49dc194d89ef5"></a>
9040<div class="memitem">
9041<div class="memproto">
9042<table class="mlabels">
9043 <tr>
9044 <td class="mlabels-left">
9045 <table class="memname">
9046 <tr>
9047 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_for_convolution_matrix </td>
9048 <td>(</td>
9049 <td class="paramtype">const int16_t *&#160;</td>
9050 <td class="paramname"><em>conv</em>, </td>
9051 </tr>
9052 <tr>
9053 <td class="paramkey"></td>
9054 <td></td>
9055 <td class="paramtype">size_t&#160;</td>
9056 <td class="paramname"><em>size</em>&#160;</td>
9057 </tr>
9058 <tr>
9059 <td></td>
9060 <td>)</td>
9061 <td></td><td></td>
9062 </tr>
9063 </table>
9064 </td>
9065 <td class="mlabels-right">
9066<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9067 </tr>
9068</table>
9069</div><div class="memdoc">
9070
9071<p>Calculate the accuracy required by the squared convolution calculation. </p>
9072<dl class="params"><dt>Parameters</dt><dd>
9073 <table class="params">
9074 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>Pointer to the squared convolution matrix </td></tr>
9075 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The total size of the convolution matrix</td></tr>
9076 </table>
9077 </dd>
9078</dl>
9079<dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
9080
Jenkins52ba29e2018-08-29 15:32:11 +00009081<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">761</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009082
Jenkins52ba29e2018-08-29 15:32:11 +00009083<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00102">arm_compute::test::validation::a</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00091">arm_compute::test::validation::b</a>, <a class="el" href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00133">arm_compute::test::validation::border_mode</a>, <a class="el" href="namespacearm__compute.xhtml#afa7962c747457714d0944af80cb07058">calculate_same_pad()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00572">arm_compute::test::validation::conv_info</a>, <a class="el" href="namespacearm__compute.xhtml#a5c7b26988083a67a91cd3e7962f38521">deconvolution_output_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#a7d57332eb91a8735f173556b3caf6236">deconvolution_output_shape()</a>, <a class="el" href="namespacearm__compute.xhtml#a532fb45c0261724a4c2e755cfd3a44e6">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#ac78192301777700de24d8c75667baf35">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#aa7755f939796ad7076886813ff89ed77">string_from_data_layout()</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>, <a class="el" href="namespacearm__compute.xhtml#afb5698af5404d5d11e3516c87b6e7041">string_from_norm_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a84a03e85d2c40bf54ec8cdd5e3715c58">string_from_pooling_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
9084<div class="fragment"><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;{</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; {</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">return</span> v &gt;= 0;</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; };</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, gez);</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; <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; {</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0) * UINT8_MAX;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">if</span>(max_conv_value &lt;= UINT16_MAX)</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; {</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; }</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">else</span></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; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; }</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; {</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0, [](<span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; {</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">return</span> b &lt; 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; })</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; * UINT8_MAX;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</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>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a> + size, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; {</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">return</span> b &gt; 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; })</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; * UINT8_MAX;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</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="l00797"></a><span class="lineno"> 797</span>&#160; {</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; }</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; {</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="keywordflow">return</span> DataType::S32;</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; }</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">gemm configure &amp; a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00102">GEMM.cpp:102</a></div></div>
9085<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adf88bb8e946175c496fb362aa458128b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +01009086<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>
Jenkins52ba29e2018-08-29 15:32:11 +00009087<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">CLTensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00091">GEMM.cpp:91</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009088</div><!-- fragment -->
9089</div>
9090</div>
9091<a class="anchor" id="a59846ef5ca75cd81cdb7e8a1ce08f9db"></a>
9092<div class="memitem">
9093<div class="memproto">
9094<table class="mlabels">
9095 <tr>
9096 <td class="mlabels-left">
9097 <table class="memname">
9098 <tr>
9099 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_from_format </td>
9100 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009101 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009102 <td class="paramname"><em>format</em></td><td>)</td>
9103 <td></td>
9104 </tr>
9105 </table>
9106 </td>
9107 <td class="mlabels-right">
9108<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9109 </tr>
9110</table>
9111</div><div class="memdoc">
9112
9113<p>Return the data type used by a given single-planar pixel format. </p>
9114<dl class="params"><dt>Parameters</dt><dd>
9115 <table class="params">
9116 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
9117 </table>
9118 </dd>
9119</dl>
9120<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
9121
Jenkins52ba29e2018-08-29 15:32:11 +00009122<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00207">207</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009123
Jenkins52ba29e2018-08-29 15:32:11 +00009124<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009125
Jenkins52ba29e2018-08-29 15:32:11 +00009126<p>Referenced by <a class="el" href="validation_2_c_l_2_canny_edge_8cpp_source.xhtml#l00060">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00319">SimpleTensor&lt; T &gt;::data_type()</a>.</p>
9127<div class="fragment"><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; <span class="keywordflow">switch</span>(format)</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">case</span> Format::U8:</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</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="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</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#l00261">Error.h:261</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009128</div><!-- fragment -->
9129</div>
9130</div>
Jenkins52ba29e2018-08-29 15:32:11 +00009131<a class="anchor" id="ade65ba63cdf4becce903866f4a59815e"></a>
9132<div class="memitem">
9133<div class="memproto">
9134 <table class="memname">
9135 <tr>
9136 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> arm_compute::data_type_from_name </td>
9137 <td>(</td>
9138 <td class="paramtype">const std::string &amp;&#160;</td>
9139 <td class="paramname"><em>name</em></td><td>)</td>
9140 <td></td>
9141 </tr>
9142 </table>
9143</div><div class="memdoc">
9144
9145<p>Converts a string to a strong types enumeration <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. </p>
9146<dl class="params"><dt>Parameters</dt><dd>
9147 <table class="params">
9148 <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>String to convert</td></tr>
9149 </table>
9150 </dd>
9151</dl>
9152<dl class="section return"><dt>Returns</dt><dd>Converted DataType enumeration </dd></dl>
9153
9154<p>Referenced by <a class="el" href="_type_loader_8h_source.xhtml#l00048">operator&gt;&gt;()</a>.</p>
9155
9156</div>
9157</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009158<a class="anchor" id="a5c7b26988083a67a91cd3e7962f38521"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009159<div class="memitem">
9160<div class="memproto">
9161 <table class="memname">
9162 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009163 <td class="memname">const std::pair&lt;unsigned int, unsigned int&gt; arm_compute::deconvolution_output_dimensions </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009164 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009165 <td class="paramtype">unsigned int&#160;</td>
9166 <td class="paramname"><em>in_width</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009167 </tr>
9168 <tr>
9169 <td class="paramkey"></td>
9170 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009171 <td class="paramtype">unsigned int&#160;</td>
9172 <td class="paramname"><em>in_height</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009173 </tr>
9174 <tr>
9175 <td class="paramkey"></td>
9176 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009177 <td class="paramtype">unsigned int&#160;</td>
9178 <td class="paramname"><em>kernel_width</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009179 </tr>
9180 <tr>
9181 <td class="paramkey"></td>
9182 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009183 <td class="paramtype">unsigned int&#160;</td>
9184 <td class="paramname"><em>kernel_height</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009185 </tr>
9186 <tr>
9187 <td class="paramkey"></td>
9188 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009189 <td class="paramtype">unsigned int&#160;</td>
9190 <td class="paramname"><em>padx</em>, </td>
9191 </tr>
9192 <tr>
9193 <td class="paramkey"></td>
9194 <td></td>
9195 <td class="paramtype">unsigned int&#160;</td>
9196 <td class="paramname"><em>pady</em>, </td>
9197 </tr>
9198 <tr>
9199 <td class="paramkey"></td>
9200 <td></td>
9201 <td class="paramtype">unsigned int&#160;</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009202 <td class="paramname"><em>inner_border_right</em>, </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009203 </tr>
9204 <tr>
9205 <td class="paramkey"></td>
9206 <td></td>
9207 <td class="paramtype">unsigned int&#160;</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009208 <td class="paramname"><em>inner_border_top</em>, </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009209 </tr>
9210 <tr>
9211 <td class="paramkey"></td>
9212 <td></td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009213 <td class="paramtype">unsigned int&#160;</td>
9214 <td class="paramname"><em>stride_x</em>, </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009215 </tr>
9216 <tr>
9217 <td class="paramkey"></td>
9218 <td></td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009219 <td class="paramtype">unsigned int&#160;</td>
9220 <td class="paramname"><em>stride_y</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009221 </tr>
9222 <tr>
9223 <td></td>
9224 <td>)</td>
9225 <td></td><td></td>
9226 </tr>
9227 </table>
9228</div><div class="memdoc">
9229
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009230<p>Returns expected width and height of the deconvolution's output tensor. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009231<dl class="params"><dt>Parameters</dt><dd>
9232 <table class="params">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009233 <tr><td class="paramdir">[in]</td><td class="paramname">in_width</td><td>Width of input tensor (Number of columns) </td></tr>
9234 <tr><td class="paramdir">[in]</td><td class="paramname">in_height</td><td>Height of input tensor (Number of rows) </td></tr>
9235 <tr><td class="paramdir">[in]</td><td class="paramname">kernel_width</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> width. </td></tr>
9236 <tr><td class="paramdir">[in]</td><td class="paramname">kernel_height</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> height. </td></tr>
9237 <tr><td class="paramdir">[in]</td><td class="paramname">padx</td><td>X axis padding. </td></tr>
9238 <tr><td class="paramdir">[in]</td><td class="paramname">pady</td><td>Y axis padding. </td></tr>
Anthony Barbierf45d5a92018-01-24 16:23:15 +00009239 <tr><td class="paramdir">[in]</td><td class="paramname">inner_border_right</td><td>The number of zeros added to right edge of the input. </td></tr>
9240 <tr><td class="paramdir">[in]</td><td class="paramname">inner_border_top</td><td>The number of zeros added to top edge of the input. </td></tr>
9241 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>X axis input stride. </td></tr>
9242 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Y axis input stride.</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009243 </table>
9244 </dd>
9245</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009246<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>
9247
Jenkins52ba29e2018-08-29 15:32:11 +00009248<p>Referenced by <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00064">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009249
9250</div>
9251</div>
9252<a class="anchor" id="a7d57332eb91a8735f173556b3caf6236"></a>
9253<div class="memitem">
9254<div class="memproto">
9255 <table class="memname">
9256 <tr>
9257 <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::deconvolution_output_shape </td>
9258 <td>(</td>
9259 <td class="paramtype">const std::pair&lt; unsigned int, unsigned int &gt; &amp;&#160;</td>
9260 <td class="paramname"><em>out_dims</em>, </td>
9261 </tr>
9262 <tr>
9263 <td class="paramkey"></td>
9264 <td></td>
9265 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
9266 <td class="paramname"><em>input</em>, </td>
9267 </tr>
9268 <tr>
9269 <td class="paramkey"></td>
9270 <td></td>
9271 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
9272 <td class="paramname"><em>weights</em>&#160;</td>
9273 </tr>
9274 <tr>
9275 <td></td>
9276 <td>)</td>
9277 <td></td><td></td>
9278 </tr>
9279 </table>
9280</div><div class="memdoc">
9281
9282<p>Returns expected shape for the deconvolution output tensor. </p>
9283<dl class="params"><dt>Parameters</dt><dd>
9284 <table class="params">
9285 <tr><td class="paramdir">[in]</td><td class="paramname">out_dims</td><td>widht and height of the output tensor, these values can be obtained with the function deconvolution_output_dimensions. </td></tr>
9286 <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Shape of the input tensor. </td></tr>
9287 <tr><td class="paramdir">[in]</td><td class="paramname">weights</td><td>Shape of the weights tensor.</td></tr>
9288 </table>
9289 </dd>
9290</dl>
9291<dl class="section return"><dt>Returns</dt><dd>Deconvolution output tensor shape. </dd></dl>
9292
Jenkins52ba29e2018-08-29 15:32:11 +00009293<p>Referenced by <a class="el" href="_c_l_2_deconvolution_layer_8cpp_source.xhtml#l00064">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009294
9295</div>
9296</div>
Kaizen8938bd32017-09-28 14:38:23 +01009297<a class="anchor" id="ad656a27ce8a507e31096ca45683ba9a5"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009298<div class="memitem">
9299<div class="memproto">
9300<table class="mlabels">
9301 <tr>
9302 <td class="mlabels-left">
9303 <table class="memname">
9304 <tr>
Kaizen8938bd32017-09-28 14:38:23 +01009305 <td class="memname">T arm_compute::delta_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009306 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +01009307 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009308 <td class="paramname"><em>pixel_ptr</em>, </td>
9309 </tr>
9310 <tr>
9311 <td class="paramkey"></td>
9312 <td></td>
9313 <td class="paramtype">size_t&#160;</td>
9314 <td class="paramname"><em>stride</em>, </td>
9315 </tr>
9316 <tr>
9317 <td class="paramkey"></td>
9318 <td></td>
9319 <td class="paramtype">float&#160;</td>
9320 <td class="paramname"><em>dx</em>, </td>
9321 </tr>
9322 <tr>
9323 <td class="paramkey"></td>
9324 <td></td>
9325 <td class="paramtype">float&#160;</td>
9326 <td class="paramname"><em>dy</em>&#160;</td>
9327 </tr>
9328 <tr>
9329 <td></td>
9330 <td>)</td>
9331 <td></td><td></td>
9332 </tr>
9333 </table>
9334 </td>
9335 <td class="mlabels-right">
9336<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9337 </tr>
9338</table>
9339</div><div class="memdoc">
9340
9341<p>Computes bilinear interpolation using the pointer to the top-left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. </p>
Kaizen8938bd32017-09-28 14:38:23 +01009342<p>Input must be in single channel format.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009343<dl class="params"><dt>Parameters</dt><dd>
9344 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +01009345 <tr><td class="paramdir">[in]</td><td class="paramname">pixel_ptr</td><td>Pointer to the top-left pixel value of a single channel input. </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009346 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride to access the bottom-left and bottom-right pixel values </td></tr>
9347 <tr><td class="paramdir">[in]</td><td class="paramname">dx</td><td>Pixel's distance between the X real coordinate and the smallest X following integer </td></tr>
9348 <tr><td class="paramdir">[in]</td><td class="paramname">dy</td><td>Pixel's distance between the Y real coordinate and the smallest Y following integer</td></tr>
9349 </table>
9350 </dd>
9351</dl>
9352<dl class="section note"><dt>Note</dt><dd>dx and dy must be in the range [0, 1.0]</dd></dl>
9353<dl class="section return"><dt>Returns</dt><dd>The bilinear interpolated pixel value </dd></dl>
9354
Jenkinsb3a371b2018-05-23 11:36:53 +01009355<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">127</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009356
Jenkins52ba29e2018-08-29 15:32:11 +00009357<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009358
Jenkinsb3a371b2018-05-23 11:36:53 +01009359<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">pixel_bilinear_c1()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00009360<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">const</span> T a11 = *(pixel_ptr + stride + 1);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1 * dy1;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx * dy1;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dx1 * dy;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = dx * dy;</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="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a01 * w2 + a10 * w3 + a11 * w4);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</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#l00337">Error.h:337</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009361</div><!-- fragment -->
9362</div>
9363</div>
9364<a class="anchor" id="a6174495b626531de015ae2b810859287"></a>
9365<div class="memitem">
9366<div class="memproto">
9367<table class="mlabels">
9368 <tr>
9369 <td class="mlabels-left">
9370 <table class="memname">
9371 <tr>
9372 <td class="memname">T arm_compute::delta_linear_c1_x </td>
9373 <td>(</td>
9374 <td class="paramtype">const T *&#160;</td>
9375 <td class="paramname"><em>pixel_ptr</em>, </td>
9376 </tr>
9377 <tr>
9378 <td class="paramkey"></td>
9379 <td></td>
9380 <td class="paramtype">float&#160;</td>
9381 <td class="paramname"><em>dx</em>&#160;</td>
9382 </tr>
9383 <tr>
9384 <td></td>
9385 <td>)</td>
9386 <td></td><td></td>
9387 </tr>
9388 </table>
9389 </td>
9390 <td class="mlabels-right">
9391<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9392 </tr>
9393</table>
9394</div><div class="memdoc">
9395
9396<p>Computes linear interpolation using the pointer to the left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. </p>
9397<p>Input must be in single channel format.</p>
9398<dl class="params"><dt>Parameters</dt><dd>
9399 <table class="params">
9400 <tr><td class="paramdir">[in]</td><td class="paramname">pixel_ptr</td><td>Pointer to the left pixel value of a single channel input. </td></tr>
9401 <tr><td class="paramdir">[in]</td><td class="paramname">dx</td><td>Pixel's distance between the X real coordinate and the smallest X following integer</td></tr>
9402 </table>
9403 </dd>
9404</dl>
9405<dl class="section note"><dt>Note</dt><dd>dx must be in the range [0, 1.0]</dd></dl>
9406<dl class="section return"><dt>Returns</dt><dd>The linear interpolated pixel value </dd></dl>
9407
Jenkinsb3a371b2018-05-23 11:36:53 +01009408<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">184</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009409
Jenkins52ba29e2018-08-29 15:32:11 +00009410<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009411
Jenkinsb3a371b2018-05-23 11:36:53 +01009412<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00009413<div class="fragment"><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;{</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div><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="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx;</div><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; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a01 * w2);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</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#l00337">Error.h:337</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009414</div><!-- fragment -->
9415</div>
9416</div>
9417<a class="anchor" id="ad5fa8bacf824e9538014bfb0dcdaab52"></a>
9418<div class="memitem">
9419<div class="memproto">
9420<table class="mlabels">
9421 <tr>
9422 <td class="mlabels-left">
9423 <table class="memname">
9424 <tr>
9425 <td class="memname">T arm_compute::delta_linear_c1_y </td>
9426 <td>(</td>
9427 <td class="paramtype">const T *&#160;</td>
9428 <td class="paramname"><em>pixel_ptr</em>, </td>
9429 </tr>
9430 <tr>
9431 <td class="paramkey"></td>
9432 <td></td>
9433 <td class="paramtype">size_t&#160;</td>
9434 <td class="paramname"><em>stride</em>, </td>
9435 </tr>
9436 <tr>
9437 <td class="paramkey"></td>
9438 <td></td>
9439 <td class="paramtype">float&#160;</td>
9440 <td class="paramname"><em>dy</em>&#160;</td>
9441 </tr>
9442 <tr>
9443 <td></td>
9444 <td>)</td>
9445 <td></td><td></td>
9446 </tr>
9447 </table>
9448 </td>
9449 <td class="mlabels-right">
9450<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9451 </tr>
9452</table>
9453</div><div class="memdoc">
9454
9455<p>Computes linear interpolation using the pointer to the top pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. </p>
9456<p>Input must be in single channel format.</p>
9457<dl class="params"><dt>Parameters</dt><dd>
9458 <table class="params">
9459 <tr><td class="paramdir">[in]</td><td class="paramname">pixel_ptr</td><td>Pointer to the top pixel value of a single channel input. </td></tr>
9460 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride to access the bottom pixel value </td></tr>
9461 <tr><td class="paramdir">[in]</td><td class="paramname">dy</td><td>Pixel's distance between the Y real coordinate and the smallest Y following integer</td></tr>
9462 </table>
9463 </dd>
9464</dl>
9465<dl class="section note"><dt>Note</dt><dd>dy must be in the range [0, 1.0]</dd></dl>
9466<dl class="section return"><dt>Returns</dt><dd>The linear interpolated pixel value </dd></dl>
9467
Jenkinsb3a371b2018-05-23 11:36:53 +01009468<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">159</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009469
Jenkins52ba29e2018-08-29 15:32:11 +00009470<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009471
Jenkinsb3a371b2018-05-23 11:36:53 +01009472<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +00009473<div class="fragment"><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; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</div><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; <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dy1;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dy;</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; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(a00 * w1 + a10 * w3);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</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#l00337">Error.h:337</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009474</div><!-- fragment -->
9475</div>
9476</div>
Jenkinsb3a371b2018-05-23 11:36:53 +01009477<a class="anchor" id="a94de99589574c0072be98be1ba806cad"></a>
9478<div class="memitem">
9479<div class="memproto">
9480 <table class="memname">
9481 <tr>
9482 <td class="memname">bool arm_compute::device_supports_extension </td>
9483 <td>(</td>
9484 <td class="paramtype">const cl::Device &amp;&#160;</td>
9485 <td class="paramname"><em>device</em>, </td>
9486 </tr>
9487 <tr>
9488 <td class="paramkey"></td>
9489 <td></td>
9490 <td class="paramtype">const char *&#160;</td>
9491 <td class="paramname"><em>extension_name</em>&#160;</td>
9492 </tr>
9493 <tr>
9494 <td></td>
9495 <td>)</td>
9496 <td></td><td></td>
9497 </tr>
9498 </table>
9499</div><div class="memdoc">
9500
9501<p>Helper function to check whether a given extension is supported. </p>
9502<dl class="params"><dt>Parameters</dt><dd>
9503 <table class="params">
9504 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device </td></tr>
9505 <tr><td class="paramdir">[in]</td><td class="paramname">extension_name</td><td>Name of the extension to be checked</td></tr>
9506 </table>
9507 </dd>
9508</dl>
9509<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
9510
Jenkinsb3a371b2018-05-23 11:36:53 +01009511</div>
9512</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009513<a class="anchor" id="a12705a88669cb9fb90451ebe0db53c41"></a>
9514<div class="memitem">
9515<div class="memproto">
9516 <table class="memname">
9517 <tr>
9518 <td class="memname">constexpr auto arm_compute::DIV_CEIL </td>
9519 <td>(</td>
9520 <td class="paramtype">S&#160;</td>
9521 <td class="paramname"><em>val</em>, </td>
9522 </tr>
9523 <tr>
9524 <td class="paramkey"></td>
9525 <td></td>
9526 <td class="paramtype">T&#160;</td>
9527 <td class="paramname"><em>m</em>&#160;</td>
9528 </tr>
9529 <tr>
9530 <td></td>
9531 <td>)</td>
9532 <td></td><td> -&gt; decltype((val + m - 1) / m)
9533</td>
9534 </tr>
9535 </table>
9536</div><div class="memdoc">
9537
9538<p>Calculate the rounded up quotient of val / m. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +01009539<dl class="params"><dt>Parameters</dt><dd>
9540 <table class="params">
9541 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Value to divide and round up. </td></tr>
9542 <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Value to divide by.</td></tr>
9543 </table>
9544 </dd>
9545</dl>
9546<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009547
Jenkinsb3a371b2018-05-23 11:36:53 +01009548<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00051">51</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009549
Jenkinsb3a371b2018-05-23 11:36:53 +01009550<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00064">ceil_to_multiple()</a>.</p>
9551<div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> (val + m - 1) / m;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +00009552</div>
9553</div>
Jenkins52ba29e2018-08-29 15:32:11 +00009554<a class="anchor" id="a5b3ca013e6190e8a57de25064bf7caad"></a>
9555<div class="memitem">
9556<div class="memproto">
9557 <table class="memname">
9558 <tr>
9559 <td class="memname">bool arm_compute::dot8_acc_supported </td>
9560 <td>(</td>
9561 <td class="paramtype">const cl::Device &amp;&#160;</td>
9562 <td class="paramname"><em>device</em></td><td>)</td>
9563 <td></td>
9564 </tr>
9565 </table>
9566</div><div class="memdoc">
9567
9568<p>Helper function to check whether the cl_arm_integer_dot_product_accumulate_int8 extension is supported. </p>
9569<dl class="params"><dt>Parameters</dt><dd>
9570 <table class="params">
9571 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
9572 </table>
9573 </dd>
9574</dl>
9575<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
9576
9577</div>
9578</div>
9579<a class="anchor" id="a3e1a11146f191cc0dc152e1be09b9339"></a>
9580<div class="memitem">
9581<div class="memproto">
9582 <table class="memname">
9583 <tr>
9584 <td class="memname">bool arm_compute::dot8_supported </td>
9585 <td>(</td>
9586 <td class="paramtype">const cl::Device &amp;&#160;</td>
9587 <td class="paramname"><em>device</em></td><td>)</td>
9588 <td></td>
9589 </tr>
9590 </table>
9591</div><div class="memdoc">
9592
9593<p>Helper function to check whether the cl_arm_integer_dot_product_int8 extension is supported. </p>
9594<dl class="params"><dt>Parameters</dt><dd>
9595 <table class="params">
9596 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
9597 </table>
9598 </dd>
9599</dl>
9600<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
9601
9602</div>
9603</div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009604<a class="anchor" id="a34b06c0cd94808a77b697e79880b84b0"></a>
9605<div class="memitem">
9606<div class="memproto">
9607<table class="mlabels">
9608 <tr>
9609 <td class="mlabels-left">
9610 <table class="memname">
9611 <tr>
9612 <td class="memname">size_t arm_compute::element_size_from_data_type </td>
9613 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009614 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009615 <td class="paramname"><em>dt</em></td><td>)</td>
9616 <td></td>
9617 </tr>
9618 </table>
9619 </td>
9620 <td class="mlabels-right">
9621<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9622 </tr>
9623</table>
9624</div><div class="memdoc">
9625
9626<p>The size in bytes of the data type. </p>
9627<dl class="params"><dt>Parameters</dt><dd>
9628 <table class="params">
9629 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type</td></tr>
9630 </table>
9631 </dd>
9632</dl>
9633<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
9634
Jenkins52ba29e2018-08-29 15:32:11 +00009635<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00179">179</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009636
Jenkins52ba29e2018-08-29 15:32:11 +00009637<p>References <a class="el" href="_error_8h_source.xhtml#l00261">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#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +01009638
Jenkins52ba29e2018-08-29 15:32:11 +00009639<p>Referenced by <a class="el" href="_simple_tensor_8h_source.xhtml#l00288">SimpleTensor&lt; T &gt;::element_size()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00177">arm_compute::test::validation::validate()</a>.</p>
9640<div class="fragment"><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="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</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="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> 0;</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;}</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#l00261">Error.h:261</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009641</div><!-- fragment -->
9642</div>
9643</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009644<a class="anchor" id="ab36bc98bdbf6c4d7bee0cb099513c806"></a>
9645<div class="memitem">
9646<div class="memproto">
9647 <table class="memname">
9648 <tr>
9649 <td class="memname">void arm_compute::enqueue </td>
9650 <td>(</td>
9651 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a> &amp;&#160;</td>
9652 <td class="paramname"><em>kernel</em>, </td>
9653 </tr>
9654 <tr>
9655 <td class="paramkey"></td>
9656 <td></td>
9657 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
9658 <td class="paramname"><em>window</em>, </td>
9659 </tr>
9660 <tr>
9661 <td class="paramkey"></td>
9662 <td></td>
9663 <td class="paramtype">const <a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> &amp;&#160;</td>
9664 <td class="paramname"><em>lws</em> = <code><a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a>(1U,&#160;1U,&#160;1U)</code>&#160;</td>
9665 </tr>
9666 <tr>
9667 <td></td>
9668 <td>)</td>
9669 <td></td><td></td>
9670 </tr>
9671 </table>
9672</div><div class="memdoc">
9673
9674<p>Add the kernel to the command queue with the given window. </p>
9675<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
9676<dd>
9677If kernel-&gt;kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
9678<dl class="params"><dt>Parameters</dt><dd>
9679 <table class="params">
9680 <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>
9681 <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>
9682 <tr><td class="paramdir">[in]</td><td class="paramname">lws</td><td>Local workgroup size requested, by default (1, 1, 1)</td></tr>
9683 </table>
9684 </dd>
9685</dl>
9686<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>
9687
9688</div>
9689</div>
Kaizen8938bd32017-09-28 14:38:23 +01009690<a class="anchor" id="a0f68015f649819f1102aa73d7b88b29e"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00009691<div class="memitem">
9692<div class="memproto">
9693 <table class="memname">
9694 <tr>
9695 <td class="memname">void arm_compute::enqueue </td>
9696 <td>(</td>
9697 <td class="paramtype">cl::CommandQueue &amp;&#160;</td>
9698 <td class="paramname"><em>queue</em>, </td>
9699 </tr>
9700 <tr>
9701 <td class="paramkey"></td>
9702 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009703 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009704 <td class="paramname"><em>kernel</em>, </td>
9705 </tr>
9706 <tr>
9707 <td class="paramkey"></td>
9708 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009709 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009710 <td class="paramname"><em>window</em>, </td>
9711 </tr>
9712 <tr>
9713 <td class="paramkey"></td>
9714 <td></td>
9715 <td class="paramtype">const cl::NDRange &amp;&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009716 <td class="paramname"><em>lws_hint</em> = <code><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get</a>().default_ndrange()</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009717 </tr>
9718 <tr>
9719 <td></td>
9720 <td>)</td>
9721 <td></td><td></td>
9722 </tr>
9723 </table>
9724</div><div class="memdoc">
9725
9726<p>Add the kernel to the command queue with the given window. </p>
9727<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
9728<dd>
9729If kernel-&gt;kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
9730<dl class="params"><dt>Parameters</dt><dd>
9731 <table class="params">
9732 <tr><td class="paramdir">[in,out]</td><td class="paramname">queue</td><td>OpenCL command queue. </td></tr>
9733 <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>
9734 <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>
Jenkinsb3a371b2018-05-23 11:36:53 +01009735 <tr><td class="paramdir">[in]</td><td class="paramname">lws_hint</td><td>Local workgroup size requested. Default is based on the device target.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00009736 </table>
9737 </dd>
9738</dl>
9739<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>
9740
Jenkins52ba29e2018-08-29 15:32:11 +00009741<p>Referenced by <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00122">IGCKernel::get_target()</a>, and <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00258">ICLKernel::get_target()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009742
Anthony Barbier871448e2017-03-24 14:54:29 +00009743</div>
9744</div>
9745<a class="anchor" id="a568b0fbfa3d903099d9c9f7b6acf188d"></a>
9746<div class="memitem">
9747<div class="memproto">
9748 <table class="memname">
9749 <tr>
9750 <td class="memname">void arm_compute::error </td>
9751 <td>(</td>
9752 <td class="paramtype">const char *&#160;</td>
9753 <td class="paramname"><em>function</em>, </td>
9754 </tr>
9755 <tr>
9756 <td class="paramkey"></td>
9757 <td></td>
9758 <td class="paramtype">const char *&#160;</td>
9759 <td class="paramname"><em>file</em>, </td>
9760 </tr>
9761 <tr>
9762 <td class="paramkey"></td>
9763 <td></td>
9764 <td class="paramtype">const int&#160;</td>
9765 <td class="paramname"><em>line</em>, </td>
9766 </tr>
9767 <tr>
9768 <td class="paramkey"></td>
9769 <td></td>
9770 <td class="paramtype">const char *&#160;</td>
9771 <td class="paramname"><em>msg</em>, </td>
9772 </tr>
9773 <tr>
9774 <td class="paramkey"></td>
9775 <td></td>
9776 <td class="paramtype">&#160;</td>
9777 <td class="paramname"><em>...</em>&#160;</td>
9778 </tr>
9779 <tr>
9780 <td></td>
9781 <td>)</td>
9782 <td></td><td></td>
9783 </tr>
9784 </table>
9785</div><div class="memdoc">
9786
9787<p>Print an error message then throw an std::runtime_error. </p>
9788<dl class="params"><dt>Parameters</dt><dd>
9789 <table class="params">
9790 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9791 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9792 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9793 <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
9794 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
9795 </table>
9796 </dd>
9797</dl>
9798
Jenkins52ba29e2018-08-29 15:32:11 +00009799<p>Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00261">Framework::error_on_missing_assets()</a>, <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, and <a class="el" href="_error_8h_source.xhtml#l00102">Status::throw_if_error()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +01009800
Anthony Barbier871448e2017-03-24 14:54:29 +00009801</div>
9802</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009803<a class="anchor" id="ae7fcde610527b8fa3d9acdf398187962"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00009804<div class="memitem">
9805<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009806<table class="mlabels">
9807 <tr>
9808 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +00009809 <table class="memname">
9810 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009811 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_channel_not_in </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009812 <td>(</td>
9813 <td class="paramtype">const char *&#160;</td>
9814 <td class="paramname"><em>function</em>, </td>
9815 </tr>
9816 <tr>
9817 <td class="paramkey"></td>
9818 <td></td>
9819 <td class="paramtype">const char *&#160;</td>
9820 <td class="paramname"><em>file</em>, </td>
9821 </tr>
9822 <tr>
9823 <td class="paramkey"></td>
9824 <td></td>
9825 <td class="paramtype">const int&#160;</td>
9826 <td class="paramname"><em>line</em>, </td>
9827 </tr>
9828 <tr>
9829 <td class="paramkey"></td>
9830 <td></td>
9831 <td class="paramtype">T&#160;</td>
9832 <td class="paramname"><em>cn</em>, </td>
9833 </tr>
9834 <tr>
9835 <td class="paramkey"></td>
9836 <td></td>
9837 <td class="paramtype">T &amp;&amp;&#160;</td>
9838 <td class="paramname"><em>channel</em>, </td>
9839 </tr>
9840 <tr>
9841 <td class="paramkey"></td>
9842 <td></td>
9843 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
9844 <td class="paramname"><em>channels</em>&#160;</td>
9845 </tr>
9846 <tr>
9847 <td></td>
9848 <td>)</td>
9849 <td></td><td></td>
9850 </tr>
9851 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009852 </td>
9853 <td class="mlabels-right">
9854<span class="mlabels"><span class="mlabel">inline</span></span> </td>
9855 </tr>
9856</table>
Anthony Barbier871448e2017-03-24 14:54:29 +00009857</div><div class="memdoc">
9858
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009859<p>Return an error if the channel is not in channels. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009860<dl class="params"><dt>Parameters</dt><dd>
9861 <table class="params">
9862 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9863 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9864 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9865 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>Input channel </td></tr>
9866 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>First channel allowed. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009867 <tr><td class="paramdir">[in]</td><td class="paramname">channels</td><td>(Optional) Further allowed channels.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00009868 </table>
9869 </dd>
9870</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009871<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009872
Jenkins52ba29e2018-08-29 15:32:11 +00009873<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00820">820</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009874
Jenkins52ba29e2018-08-29 15:32:11 +00009875<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
9876<div class="fragment"><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;{</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(cn == Channel::UNKNOWN, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</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="l00826"></a><span class="lineno"> 826</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_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="l00827"></a><span class="lineno"> 827</span>&#160; {</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">return</span> f == cn;</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; }),</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
9877<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +00009878</div><!-- fragment -->
9879</div>
9880</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009881<a class="anchor" id="aa2af31a4685af1fb5ecef784c5e96da0"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00009882<div class="memitem">
9883<div class="memproto">
9884 <table class="memname">
9885 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009886 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_channel_not_in_known_format </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009887 <td>(</td>
9888 <td class="paramtype">const char *&#160;</td>
9889 <td class="paramname"><em>function</em>, </td>
9890 </tr>
9891 <tr>
9892 <td class="paramkey"></td>
9893 <td></td>
9894 <td class="paramtype">const char *&#160;</td>
9895 <td class="paramname"><em>file</em>, </td>
9896 </tr>
9897 <tr>
9898 <td class="paramkey"></td>
9899 <td></td>
9900 <td class="paramtype">const int&#160;</td>
9901 <td class="paramname"><em>line</em>, </td>
9902 </tr>
9903 <tr>
9904 <td class="paramkey"></td>
9905 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009906 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009907 <td class="paramname"><em>fmt</em>, </td>
9908 </tr>
9909 <tr>
9910 <td class="paramkey"></td>
9911 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009912 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009913 <td class="paramname"><em>cn</em>&#160;</td>
9914 </tr>
9915 <tr>
9916 <td></td>
9917 <td>)</td>
9918 <td></td><td></td>
9919 </tr>
9920 </table>
9921</div><div class="memdoc">
9922
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009923<p>Return an error if the channel is not in format. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009924<dl class="params"><dt>Parameters</dt><dd>
9925 <table class="params">
9926 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9927 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9928 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9929 <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Input channel </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009930 <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>First channel allowed.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00009931 </table>
9932 </dd>
9933</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009934<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009935
9936</div>
9937</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009938<a class="anchor" id="a454f8112fcca60b99883f19ff43daf9f"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00009939<div class="memitem">
9940<div class="memproto">
9941 <table class="memname">
9942 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009943 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_coordinates_dimensions_gte </td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009944 <td>(</td>
9945 <td class="paramtype">const char *&#160;</td>
9946 <td class="paramname"><em>function</em>, </td>
9947 </tr>
9948 <tr>
9949 <td class="paramkey"></td>
9950 <td></td>
9951 <td class="paramtype">const char *&#160;</td>
9952 <td class="paramname"><em>file</em>, </td>
9953 </tr>
9954 <tr>
9955 <td class="paramkey"></td>
9956 <td></td>
9957 <td class="paramtype">const int&#160;</td>
9958 <td class="paramname"><em>line</em>, </td>
9959 </tr>
9960 <tr>
9961 <td class="paramkey"></td>
9962 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009963 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +00009964 <td class="paramname"><em>pos</em>, </td>
9965 </tr>
9966 <tr>
9967 <td class="paramkey"></td>
9968 <td></td>
9969 <td class="paramtype">unsigned int&#160;</td>
9970 <td class="paramname"><em>max_dim</em>&#160;</td>
9971 </tr>
9972 <tr>
9973 <td></td>
9974 <td>)</td>
9975 <td></td><td></td>
9976 </tr>
9977 </table>
9978</div><div class="memdoc">
9979
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009980<p>Return an error if the passed coordinates have too many dimensions. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +00009981<p>The coordinates have too many dimensions if any of the dimensions greater or equal to max_dim is different from 0.</p>
9982<dl class="params"><dt>Parameters</dt><dd>
9983 <table class="params">
9984 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
9985 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
9986 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
9987 <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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009988 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +00009989 </table>
9990 </dd>
9991</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009992<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +00009993
9994</div>
9995</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009996<a class="anchor" id="a499a45039b9bba66384504843d5823d4"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +00009997<div class="memitem">
9998<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +00009999<table class="mlabels">
10000 <tr>
10001 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000010002 <table class="memname">
10003 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010004 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_type_channel_not_in </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010005 <td>(</td>
10006 <td class="paramtype">const char *&#160;</td>
10007 <td class="paramname"><em>function</em>, </td>
10008 </tr>
10009 <tr>
10010 <td class="paramkey"></td>
10011 <td></td>
10012 <td class="paramtype">const char *&#160;</td>
10013 <td class="paramname"><em>file</em>, </td>
10014 </tr>
10015 <tr>
10016 <td class="paramkey"></td>
10017 <td></td>
10018 <td class="paramtype">const int&#160;</td>
10019 <td class="paramname"><em>line</em>, </td>
10020 </tr>
10021 <tr>
10022 <td class="paramkey"></td>
10023 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010024 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
10025 <td class="paramname"><em>tensor_info</em>, </td>
10026 </tr>
10027 <tr>
10028 <td class="paramkey"></td>
10029 <td></td>
10030 <td class="paramtype">size_t&#160;</td>
10031 <td class="paramname"><em>num_channels</em>, </td>
10032 </tr>
10033 <tr>
10034 <td class="paramkey"></td>
10035 <td></td>
10036 <td class="paramtype">T &amp;&amp;&#160;</td>
10037 <td class="paramname"><em>dt</em>, </td>
10038 </tr>
10039 <tr>
10040 <td class="paramkey"></td>
10041 <td></td>
10042 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10043 <td class="paramname"><em>dts</em>&#160;</td>
10044 </tr>
10045 <tr>
10046 <td></td>
10047 <td>)</td>
10048 <td></td><td></td>
10049 </tr>
10050 </table>
10051 </td>
10052 <td class="mlabels-right">
10053<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10054 </tr>
10055</table>
10056</div><div class="memdoc">
10057
10058<p>Return an error if the data type or the number of channels of the passed tensor info does not match any of the data types and number of channels provided. </p>
10059<dl class="params"><dt>Parameters</dt><dd>
10060 <table class="params">
10061 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10062 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10063 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10064 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info to validate. </td></tr>
10065 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
10066 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
10067 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
10068 </table>
10069 </dd>
10070</dl>
10071<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
10072
Jenkins52ba29e2018-08-29 15:32:11 +000010073<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00709">709</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010074
Jenkins52ba29e2018-08-29 15:32:11 +000010075<p>References <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00656">error_on_data_type_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ad7829ae79223ab87f9da4c0bd7d229ba">ITensorInfo::num_channels()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010076
Jenkins52ba29e2018-08-29 15:32:11 +000010077<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00730">error_on_data_type_channel_not_in()</a>.</p>
10078<div class="fragment"><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;{</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor_info, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor_info-&gt;num_channels();</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_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="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
10079<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
10080<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
10081<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Return an error if the data type of the passed tensor info does not match any of the data types provi...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00656">Validate.h:656</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010082</div><!-- fragment -->
10083</div>
10084</div>
10085<a class="anchor" id="ad3137e73dbd78133d25751abd84540d8"></a>
10086<div class="memitem">
10087<div class="memproto">
10088<table class="mlabels">
10089 <tr>
10090 <td class="mlabels-left">
10091 <table class="memname">
10092 <tr>
10093 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_type_channel_not_in </td>
10094 <td>(</td>
10095 <td class="paramtype">const char *&#160;</td>
10096 <td class="paramname"><em>function</em>, </td>
10097 </tr>
10098 <tr>
10099 <td class="paramkey"></td>
10100 <td></td>
10101 <td class="paramtype">const char *&#160;</td>
10102 <td class="paramname"><em>file</em>, </td>
10103 </tr>
10104 <tr>
10105 <td class="paramkey"></td>
10106 <td></td>
10107 <td class="paramtype">const int&#160;</td>
10108 <td class="paramname"><em>line</em>, </td>
10109 </tr>
10110 <tr>
10111 <td class="paramkey"></td>
10112 <td></td>
10113 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010114 <td class="paramname"><em>tensor</em>, </td>
10115 </tr>
10116 <tr>
10117 <td class="paramkey"></td>
10118 <td></td>
10119 <td class="paramtype">size_t&#160;</td>
10120 <td class="paramname"><em>num_channels</em>, </td>
10121 </tr>
10122 <tr>
10123 <td class="paramkey"></td>
10124 <td></td>
10125 <td class="paramtype">T &amp;&amp;&#160;</td>
10126 <td class="paramname"><em>dt</em>, </td>
10127 </tr>
10128 <tr>
10129 <td class="paramkey"></td>
10130 <td></td>
10131 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10132 <td class="paramname"><em>dts</em>&#160;</td>
10133 </tr>
10134 <tr>
10135 <td></td>
10136 <td>)</td>
10137 <td></td><td></td>
10138 </tr>
10139 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010140 </td>
10141 <td class="mlabels-right">
10142<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10143 </tr>
10144</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000010145</div><div class="memdoc">
10146
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010147<p>Return 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>
Anthony Barbier871448e2017-03-24 14:54:29 +000010148<dl class="params"><dt>Parameters</dt><dd>
10149 <table class="params">
10150 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10151 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10152 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10153 <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>
10154 <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
10155 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010156 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000010157 </table>
10158 </dd>
10159</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010160<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000010161
Jenkins52ba29e2018-08-29 15:32:11 +000010162<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00730">730</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010163
Jenkins52ba29e2018-08-29 15:32:11 +000010164<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00709">error_on_data_type_channel_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
10165<div class="fragment"><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;{</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">error_on_data_type_channel_not_in</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), num_channels, std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
10166<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
10167<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
10168<div class="ttc" id="namespacearm__compute_xhtml_ad3137e73dbd78133d25751abd84540d8"><div class="ttname"><a href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">arm_compute::error_on_data_type_channel_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_channel_not_in(const char *function, const char *file, const int line, const ITensor *tensor, size_t num_channels, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Return an error if the data type or the number of channels of the passed tensor does not match any of...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00730">Validate.h:730</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010169</div><!-- fragment -->
10170</div>
10171</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010172<a class="anchor" id="a774ec1fdc7bd1e7973c866d13734bc21"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010173<div class="memitem">
10174<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010175<table class="mlabels">
10176 <tr>
10177 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000010178 <table class="memname">
10179 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010180 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_type_not_in </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010181 <td>(</td>
10182 <td class="paramtype">const char *&#160;</td>
10183 <td class="paramname"><em>function</em>, </td>
10184 </tr>
10185 <tr>
10186 <td class="paramkey"></td>
10187 <td></td>
10188 <td class="paramtype">const char *&#160;</td>
10189 <td class="paramname"><em>file</em>, </td>
10190 </tr>
10191 <tr>
10192 <td class="paramkey"></td>
10193 <td></td>
10194 <td class="paramtype">const int&#160;</td>
10195 <td class="paramname"><em>line</em>, </td>
10196 </tr>
10197 <tr>
10198 <td class="paramkey"></td>
10199 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010200 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
10201 <td class="paramname"><em>tensor_info</em>, </td>
10202 </tr>
10203 <tr>
10204 <td class="paramkey"></td>
10205 <td></td>
10206 <td class="paramtype">T &amp;&amp;&#160;</td>
10207 <td class="paramname"><em>dt</em>, </td>
10208 </tr>
10209 <tr>
10210 <td class="paramkey"></td>
10211 <td></td>
10212 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10213 <td class="paramname"><em>dts</em>&#160;</td>
10214 </tr>
10215 <tr>
10216 <td></td>
10217 <td>)</td>
10218 <td></td><td></td>
10219 </tr>
10220 </table>
10221 </td>
10222 <td class="mlabels-right">
10223<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10224 </tr>
10225</table>
10226</div><div class="memdoc">
10227
10228<p>Return an error if the data type of the passed tensor info does not match any of the data types provided. </p>
10229<dl class="params"><dt>Parameters</dt><dd>
10230 <table class="params">
10231 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10232 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10233 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10234 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info to validate. </td></tr>
10235 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
10236 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
10237 </table>
10238 </dd>
10239</dl>
10240<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
10241
Jenkins52ba29e2018-08-29 15:32:11 +000010242<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00656">656</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010243
Jenkins52ba29e2018-08-29 15:32:11 +000010244<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010245
Jenkins52ba29e2018-08-29 15:32:11 +000010246<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00709">error_on_data_type_channel_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00684">error_on_data_type_not_in()</a>.</p>
10247<div class="fragment"><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;{</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;tensor_dt = tensor_info-&gt;data_type(); <span class="comment">//NOLINT</span></div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_dt == DataType::UNKNOWN, <span class="keyword">function</span>, file, line);</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; <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="l00665"></a><span class="lineno"> 665</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_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="l00666"></a><span class="lineno"> 666</span>&#160; {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">return</span> d == tensor_dt;</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; <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="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
10248<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010010249<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>
Jenkins52ba29e2018-08-29 15:32:11 +000010250<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000010251<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010252</div><!-- fragment -->
10253</div>
10254</div>
10255<a class="anchor" id="a4ae0ca8176fce8caa48601dc8324ca97"></a>
10256<div class="memitem">
10257<div class="memproto">
10258<table class="mlabels">
10259 <tr>
10260 <td class="mlabels-left">
10261 <table class="memname">
10262 <tr>
10263 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_type_not_in </td>
10264 <td>(</td>
10265 <td class="paramtype">const char *&#160;</td>
10266 <td class="paramname"><em>function</em>, </td>
10267 </tr>
10268 <tr>
10269 <td class="paramkey"></td>
10270 <td></td>
10271 <td class="paramtype">const char *&#160;</td>
10272 <td class="paramname"><em>file</em>, </td>
10273 </tr>
10274 <tr>
10275 <td class="paramkey"></td>
10276 <td></td>
10277 <td class="paramtype">const int&#160;</td>
10278 <td class="paramname"><em>line</em>, </td>
10279 </tr>
10280 <tr>
10281 <td class="paramkey"></td>
10282 <td></td>
10283 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010284 <td class="paramname"><em>tensor</em>, </td>
10285 </tr>
10286 <tr>
10287 <td class="paramkey"></td>
10288 <td></td>
10289 <td class="paramtype">T &amp;&amp;&#160;</td>
10290 <td class="paramname"><em>dt</em>, </td>
10291 </tr>
10292 <tr>
10293 <td class="paramkey"></td>
10294 <td></td>
10295 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10296 <td class="paramname"><em>dts</em>&#160;</td>
10297 </tr>
10298 <tr>
10299 <td></td>
10300 <td>)</td>
10301 <td></td><td></td>
10302 </tr>
10303 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010304 </td>
10305 <td class="mlabels-right">
10306<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10307 </tr>
10308</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000010309</div><div class="memdoc">
10310
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010311<p>Return an error if the data type of the passed tensor does not match any of the data types provided. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010312<dl class="params"><dt>Parameters</dt><dd>
10313 <table class="params">
10314 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10315 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10316 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10317 <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>
10318 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010319 <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000010320 </table>
10321 </dd>
10322</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010323<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000010324
Jenkins52ba29e2018-08-29 15:32:11 +000010325<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00684">684</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010326
Jenkins52ba29e2018-08-29 15:32:11 +000010327<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00656">error_on_data_type_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
10328<div class="fragment"><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;{</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), std::forward&lt;T&gt;(dt), std::forward&lt;Ts&gt;(dts)...));</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
10329<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
10330<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
10331<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &amp;&amp;dt, Ts &amp;&amp;...dts)</div><div class="ttdoc">Return an error if the data type of the passed tensor info does not match any of the data types provi...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00656">Validate.h:656</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010332</div><!-- fragment -->
10333</div>
10334</div>
10335<a class="anchor" id="a0b360558b516e256f0af005a164c674e"></a>
10336<div class="memitem">
10337<div class="memproto">
10338 <table class="memname">
10339 <tr>
10340 <td class="memname">void arm_compute::error_on_format_not_in </td>
10341 <td>(</td>
10342 <td class="paramtype">const char *&#160;</td>
10343 <td class="paramname"><em>function</em>, </td>
10344 </tr>
10345 <tr>
10346 <td class="paramkey"></td>
10347 <td></td>
10348 <td class="paramtype">const char *&#160;</td>
10349 <td class="paramname"><em>file</em>, </td>
10350 </tr>
10351 <tr>
10352 <td class="paramkey"></td>
10353 <td></td>
10354 <td class="paramtype">const int&#160;</td>
10355 <td class="paramname"><em>line</em>, </td>
10356 </tr>
10357 <tr>
10358 <td class="paramkey"></td>
10359 <td></td>
10360 <td class="paramtype">const T *&#160;</td>
10361 <td class="paramname"><em>object</em>, </td>
10362 </tr>
10363 <tr>
10364 <td class="paramkey"></td>
10365 <td></td>
10366 <td class="paramtype">F &amp;&amp;&#160;</td>
10367 <td class="paramname"><em>format</em>, </td>
10368 </tr>
10369 <tr>
10370 <td class="paramkey"></td>
10371 <td></td>
10372 <td class="paramtype">Fs &amp;&amp;...&#160;</td>
10373 <td class="paramname"><em>formats</em>&#160;</td>
10374 </tr>
10375 <tr>
10376 <td></td>
10377 <td>)</td>
10378 <td></td><td></td>
10379 </tr>
10380 </table>
10381</div><div class="memdoc">
10382
10383<p>Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. </p>
10384<dl class="params"><dt>Parameters</dt><dd>
10385 <table class="params">
10386 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10387 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10388 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10389 <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>Tensor/multi-image to validate. </td></tr>
10390 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>First format allowed. </td></tr>
10391 <tr><td class="paramdir">[in]</td><td class="paramname">formats</td><td>(Optional) Further allowed formats. </td></tr>
10392 </table>
10393 </dd>
10394</dl>
10395
Jenkins52ba29e2018-08-29 15:32:11 +000010396<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00623">623</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010397
Jenkins52ba29e2018-08-29 15:32:11 +000010398<p>References <a class="el" href="_error_8h_source.xhtml#l00347">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00329">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00160">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
10399<div class="fragment"><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;{</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</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="l00627"></a><span class="lineno"> 627</span>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</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="l00629"></a><span class="lineno"> 629</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(object_format);</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; <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="l00632"></a><span class="lineno"> 632</span>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</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="l00634"></a><span class="lineno"> 634</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(formats_array);</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</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="l00637"></a><span class="lineno"> 637</span>&#160; {</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">return</span> f == object_format;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; }),</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</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="l00641"></a><span class="lineno"> 641</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#l00329">Error.h:329</a></div></div>
10400<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00160">Error.h:160</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000010401<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a></div><div class="ttdeci">Format</div><div class="ttdoc">Image colour formats. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00050">Types.h:50</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000010402<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#l00347">Error.h:347</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000010403<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>
10404</div><!-- fragment -->
10405</div>
10406</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010407<a class="anchor" id="adf16abfe081654f8bb2b9a4fee09100e"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010408<div class="memitem">
10409<div class="memproto">
10410 <table class="memname">
10411 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010412 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_multi_hog </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010413 <td>(</td>
10414 <td class="paramtype">const char *&#160;</td>
10415 <td class="paramname"><em>function</em>, </td>
10416 </tr>
10417 <tr>
10418 <td class="paramkey"></td>
10419 <td></td>
10420 <td class="paramtype">const char *&#160;</td>
10421 <td class="paramname"><em>file</em>, </td>
10422 </tr>
10423 <tr>
10424 <td class="paramkey"></td>
10425 <td></td>
10426 <td class="paramtype">const int&#160;</td>
10427 <td class="paramname"><em>line</em>, </td>
10428 </tr>
10429 <tr>
10430 <td class="paramkey"></td>
10431 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010432 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010433 <td class="paramname"><em>multi_hog</em>&#160;</td>
10434 </tr>
10435 <tr>
10436 <td></td>
10437 <td>)</td>
10438 <td></td><td></td>
10439 </tr>
10440 </table>
10441</div><div class="memdoc">
10442
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010443<p>Return an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010444<p>An <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid if:</p>
10445<ol type="1">
10446<li>it is a nullptr</li>
10447<li>it doesn't contain models</li>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010448<li>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)</li>
10449</ol>
Anthony Barbier871448e2017-03-24 14:54:29 +000010450<dl class="params"><dt>Parameters</dt><dd>
10451 <table class="params">
10452 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10453 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10454 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010455 <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>
Anthony Barbier871448e2017-03-24 14:54:29 +000010456 </table>
10457 </dd>
10458</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010459<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000010460
10461</div>
10462</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010463<a class="anchor" id="a7fdf77ab857ef3a644eef09389cc808d"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010464<div class="memitem">
10465<div class="memproto">
10466 <table class="memname">
10467 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010468 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_subtensor </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010469 <td>(</td>
10470 <td class="paramtype">const char *&#160;</td>
10471 <td class="paramname"><em>function</em>, </td>
10472 </tr>
10473 <tr>
10474 <td class="paramkey"></td>
10475 <td></td>
10476 <td class="paramtype">const char *&#160;</td>
10477 <td class="paramname"><em>file</em>, </td>
10478 </tr>
10479 <tr>
10480 <td class="paramkey"></td>
10481 <td></td>
10482 <td class="paramtype">const int&#160;</td>
10483 <td class="paramname"><em>line</em>, </td>
10484 </tr>
10485 <tr>
10486 <td class="paramkey"></td>
10487 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010488 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010489 <td class="paramname"><em>parent_shape</em>, </td>
10490 </tr>
10491 <tr>
10492 <td class="paramkey"></td>
10493 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010494 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010495 <td class="paramname"><em>coords</em>, </td>
10496 </tr>
10497 <tr>
10498 <td class="paramkey"></td>
10499 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010500 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010501 <td class="paramname"><em>shape</em>&#160;</td>
10502 </tr>
10503 <tr>
10504 <td></td>
10505 <td>)</td>
10506 <td></td><td></td>
10507 </tr>
10508 </table>
10509</div><div class="memdoc">
10510
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010511<p>Return an error if if the coordinates and shape of the subtensor are within the parent tensor. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010512<dl class="params"><dt>Parameters</dt><dd>
10513 <table class="params">
10514 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10515 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10516 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10517 <tr><td class="paramdir">[in]</td><td class="paramname">parent_shape</td><td>Parent tensor shape </td></tr>
10518 <tr><td class="paramdir">[in]</td><td class="paramname">coords</td><td><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> inside the parent tensor where the first element of the subtensor is </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010519 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the subtensor</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010520 </table>
10521 </dd>
10522</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010523<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010524
10525</div>
10526</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010527<a class="anchor" id="a74dd77930a4d0ccf755c1cc648601c63"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010528<div class="memitem">
10529<div class="memproto">
10530 <table class="memname">
10531 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010532 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_subtensor_valid_region </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010533 <td>(</td>
10534 <td class="paramtype">const char *&#160;</td>
10535 <td class="paramname"><em>function</em>, </td>
10536 </tr>
10537 <tr>
10538 <td class="paramkey"></td>
10539 <td></td>
10540 <td class="paramtype">const char *&#160;</td>
10541 <td class="paramname"><em>file</em>, </td>
10542 </tr>
10543 <tr>
10544 <td class="paramkey"></td>
10545 <td></td>
10546 <td class="paramtype">const int&#160;</td>
10547 <td class="paramname"><em>line</em>, </td>
10548 </tr>
10549 <tr>
10550 <td class="paramkey"></td>
10551 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010552 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010553 <td class="paramname"><em>parent_valid_region</em>, </td>
10554 </tr>
10555 <tr>
10556 <td class="paramkey"></td>
10557 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010558 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010559 <td class="paramname"><em>valid_region</em>&#160;</td>
10560 </tr>
10561 <tr>
10562 <td></td>
10563 <td>)</td>
10564 <td></td><td></td>
10565 </tr>
10566 </table>
10567</div><div class="memdoc">
10568
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010569<p>Return an error if the valid region of a subtensor is not inside the valid region of the parent tensor. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010570<dl class="params"><dt>Parameters</dt><dd>
10571 <table class="params">
10572 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10573 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10574 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10575 <tr><td class="paramdir">[in]</td><td class="paramname">parent_valid_region</td><td>Parent valid region. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010576 <tr><td class="paramdir">[in]</td><td class="paramname">valid_region</td><td>Valid region of subtensor.</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010577 </table>
10578 </dd>
10579</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010580<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010581
10582</div>
10583</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010584<a class="anchor" id="aceb8dd0f6a4e2539b39b5a69a1c345b4"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010585<div class="memitem">
10586<div class="memproto">
10587 <table class="memname">
10588 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010589 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_subwindow </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010590 <td>(</td>
10591 <td class="paramtype">const char *&#160;</td>
10592 <td class="paramname"><em>function</em>, </td>
10593 </tr>
10594 <tr>
10595 <td class="paramkey"></td>
10596 <td></td>
10597 <td class="paramtype">const char *&#160;</td>
10598 <td class="paramname"><em>file</em>, </td>
10599 </tr>
10600 <tr>
10601 <td class="paramkey"></td>
10602 <td></td>
10603 <td class="paramtype">const int&#160;</td>
10604 <td class="paramname"><em>line</em>, </td>
10605 </tr>
10606 <tr>
10607 <td class="paramkey"></td>
10608 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010609 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010610 <td class="paramname"><em>full</em>, </td>
10611 </tr>
10612 <tr>
10613 <td class="paramkey"></td>
10614 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010615 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010616 <td class="paramname"><em>sub</em>&#160;</td>
10617 </tr>
10618 <tr>
10619 <td></td>
10620 <td>)</td>
10621 <td></td><td></td>
10622 </tr>
10623 </table>
10624</div><div class="memdoc">
10625
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010626<p>Return an error if the passed subwindow is invalid. </p>
10627<p>The subwindow is invalid if:</p><ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000010628<li>It is not a valid window.</li>
10629<li>It is not fully contained inside the full window</li>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010630<li>The step for each of its dimension is not identical to the corresponding one of the full window.</li>
10631</ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000010632<dl class="params"><dt>Parameters</dt><dd>
10633 <table class="params">
10634 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10635 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10636 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10637 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010638 <tr><td class="paramdir">[in]</td><td class="paramname">sub</td><td>Sub-window to validate.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000010639 </table>
10640 </dd>
10641</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010642<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000010643
10644</div>
10645</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010010646<a class="anchor" id="adc72c7263d6751e6e1a71fd33c6f8955"></a>
10647<div class="memitem">
10648<div class="memproto">
10649<table class="mlabels">
10650 <tr>
10651 <td class="mlabels-left">
10652 <table class="memname">
10653 <tr>
10654 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_data_layouts </td>
10655 <td>(</td>
10656 <td class="paramtype">const char *&#160;</td>
10657 <td class="paramname"><em>function</em>, </td>
10658 </tr>
10659 <tr>
10660 <td class="paramkey"></td>
10661 <td></td>
10662 <td class="paramtype">const char *&#160;</td>
10663 <td class="paramname"><em>file</em>, </td>
10664 </tr>
10665 <tr>
10666 <td class="paramkey"></td>
10667 <td></td>
10668 <td class="paramtype">const int&#160;</td>
10669 <td class="paramname"><em>line</em>, </td>
10670 </tr>
10671 <tr>
10672 <td class="paramkey"></td>
10673 <td></td>
10674 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
10675 <td class="paramname"><em>tensor_info</em>, </td>
10676 </tr>
10677 <tr>
10678 <td class="paramkey"></td>
10679 <td></td>
10680 <td class="paramtype">Ts...&#160;</td>
10681 <td class="paramname"><em>tensor_infos</em>&#160;</td>
10682 </tr>
10683 <tr>
10684 <td></td>
10685 <td>)</td>
10686 <td></td><td></td>
10687 </tr>
10688 </table>
10689 </td>
10690 <td class="mlabels-right">
10691<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10692 </tr>
10693</table>
10694</div><div class="memdoc">
10695
10696<p>Return an error if the passed tensor infos have different data layouts. </p>
10697<dl class="params"><dt>Parameters</dt><dd>
10698 <table class="params">
10699 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10700 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10701 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10702 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>The first tensor info to be compared. </td></tr>
10703 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
10704 </table>
10705 </dd>
10706</dl>
10707<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
10708
10709<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00457">457</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
10710
Jenkins52ba29e2018-08-29 15:32:11 +000010711<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010010712
10713<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00483">error_on_mismatching_data_layouts()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000010714<div class="fragment"><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;{</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</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; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &amp;&amp;tensor_data_layout = tensor_info-&gt;data_layout();</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensorInfo *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_infos_array{ { std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_infos_array.begin(), tensors_infos_array.end(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info_obj)</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; {</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">return</span> tensor_info_obj-&gt;data_layout() != tensor_data_layout;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; }),</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data layouts&quot;</span>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010010715<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000010716<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
10717<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
10718<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
10719<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdoc">Supported tensor data layouts. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00107">Types.h:107</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010010720</div><!-- fragment -->
10721</div>
10722</div>
10723<a class="anchor" id="a8571c7d34a35bcbddf5e4e2538ea0b10"></a>
10724<div class="memitem">
10725<div class="memproto">
10726<table class="mlabels">
10727 <tr>
10728 <td class="mlabels-left">
10729 <table class="memname">
10730 <tr>
10731 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_data_layouts </td>
10732 <td>(</td>
10733 <td class="paramtype">const char *&#160;</td>
10734 <td class="paramname"><em>function</em>, </td>
10735 </tr>
10736 <tr>
10737 <td class="paramkey"></td>
10738 <td></td>
10739 <td class="paramtype">const char *&#160;</td>
10740 <td class="paramname"><em>file</em>, </td>
10741 </tr>
10742 <tr>
10743 <td class="paramkey"></td>
10744 <td></td>
10745 <td class="paramtype">const int&#160;</td>
10746 <td class="paramname"><em>line</em>, </td>
10747 </tr>
10748 <tr>
10749 <td class="paramkey"></td>
10750 <td></td>
10751 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
10752 <td class="paramname"><em>tensor</em>, </td>
10753 </tr>
10754 <tr>
10755 <td class="paramkey"></td>
10756 <td></td>
10757 <td class="paramtype">Ts...&#160;</td>
10758 <td class="paramname"><em>tensors</em>&#160;</td>
10759 </tr>
10760 <tr>
10761 <td></td>
10762 <td>)</td>
10763 <td></td><td></td>
10764 </tr>
10765 </table>
10766 </td>
10767 <td class="mlabels-right">
10768<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10769 </tr>
10770</table>
10771</div><div class="memdoc">
10772
10773<p>Return an error if the passed tensors have different data layouts. </p>
10774<dl class="params"><dt>Parameters</dt><dd>
10775 <table class="params">
10776 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10777 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10778 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10779 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>The first tensor to be compared. </td></tr>
10780 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
10781 </table>
10782 </dd>
10783</dl>
10784<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
10785
10786<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00483">483</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
10787
Jenkins52ba29e2018-08-29 15:32:11 +000010788<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00457">error_on_mismatching_data_layouts()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010010789<div class="fragment"><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;{</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#adc72c7263d6751e6e1a71fd33c6f8955">arm_compute::error_on_mismatching_data_layouts</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(),</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000010790<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
10791<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
10792<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010010793<div class="ttc" id="namespacearm__compute_xhtml_adc72c7263d6751e6e1a71fd33c6f8955"><div class="ttname"><a href="namespacearm__compute.xhtml#adc72c7263d6751e6e1a71fd33c6f8955">arm_compute::error_on_mismatching_data_layouts</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_data_layouts(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed tensor infos have different data layouts. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00457">Validate.h:457</a></div></div>
10794</div><!-- fragment -->
10795</div>
10796</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010797<a class="anchor" id="a00672eb7b5db5f6396b39b241eaf12f7"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000010798<div class="memitem">
10799<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010800<table class="mlabels">
10801 <tr>
10802 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000010803 <table class="memname">
10804 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010805 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_data_types </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010806 <td>(</td>
10807 <td class="paramtype">const char *&#160;</td>
10808 <td class="paramname"><em>function</em>, </td>
10809 </tr>
10810 <tr>
10811 <td class="paramkey"></td>
10812 <td></td>
10813 <td class="paramtype">const char *&#160;</td>
10814 <td class="paramname"><em>file</em>, </td>
10815 </tr>
10816 <tr>
10817 <td class="paramkey"></td>
10818 <td></td>
10819 <td class="paramtype">const int&#160;</td>
10820 <td class="paramname"><em>line</em>, </td>
10821 </tr>
10822 <tr>
10823 <td class="paramkey"></td>
10824 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010825 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
10826 <td class="paramname"><em>tensor_info</em>, </td>
10827 </tr>
10828 <tr>
10829 <td class="paramkey"></td>
10830 <td></td>
10831 <td class="paramtype">Ts...&#160;</td>
10832 <td class="paramname"><em>tensor_infos</em>&#160;</td>
10833 </tr>
10834 <tr>
10835 <td></td>
10836 <td>)</td>
10837 <td></td><td></td>
10838 </tr>
10839 </table>
10840 </td>
10841 <td class="mlabels-right">
10842<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10843 </tr>
10844</table>
10845</div><div class="memdoc">
10846
10847<p>Return an error if the passed two tensor infos have different data types. </p>
10848<dl class="params"><dt>Parameters</dt><dd>
10849 <table class="params">
10850 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10851 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10852 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
10853 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>The first tensor info to be compared. </td></tr>
10854 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
10855 </table>
10856 </dd>
10857</dl>
10858<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
10859
Jenkinsb3a371b2018-05-23 11:36:53 +010010860<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00508">508</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010861
Jenkins52ba29e2018-08-29 15:32:11 +000010862<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010863
Jenkinsb3a371b2018-05-23 11:36:53 +010010864<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00534">error_on_mismatching_data_types()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000010865<div class="fragment"><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; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</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; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;tensor_data_type = tensor_info-&gt;data_type();</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> ITensorInfo *, <span class="keyword">sizeof</span>...(Ts)&gt; tensors_infos_array{ { std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_infos_array.begin(), tensors_infos_array.end(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info_obj)</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; <span class="keywordflow">return</span> tensor_info_obj-&gt;data_type() != tensor_data_type;</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">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different data types&quot;</span>);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010010866<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000010867<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
10868<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
10869<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000010870<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010871</div><!-- fragment -->
10872</div>
10873</div>
10874<a class="anchor" id="a709c2aef39aa212b840c6395fc20ce17"></a>
10875<div class="memitem">
10876<div class="memproto">
10877<table class="mlabels">
10878 <tr>
10879 <td class="mlabels-left">
10880 <table class="memname">
10881 <tr>
10882 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_data_types </td>
10883 <td>(</td>
10884 <td class="paramtype">const char *&#160;</td>
10885 <td class="paramname"><em>function</em>, </td>
10886 </tr>
10887 <tr>
10888 <td class="paramkey"></td>
10889 <td></td>
10890 <td class="paramtype">const char *&#160;</td>
10891 <td class="paramname"><em>file</em>, </td>
10892 </tr>
10893 <tr>
10894 <td class="paramkey"></td>
10895 <td></td>
10896 <td class="paramtype">const int&#160;</td>
10897 <td class="paramname"><em>line</em>, </td>
10898 </tr>
10899 <tr>
10900 <td class="paramkey"></td>
10901 <td></td>
10902 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010010903 <td class="paramname"><em>tensor</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000010904 </tr>
10905 <tr>
10906 <td class="paramkey"></td>
10907 <td></td>
10908 <td class="paramtype">Ts...&#160;</td>
10909 <td class="paramname"><em>tensors</em>&#160;</td>
10910 </tr>
10911 <tr>
10912 <td></td>
10913 <td>)</td>
10914 <td></td><td></td>
10915 </tr>
10916 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010917 </td>
10918 <td class="mlabels-right">
10919<span class="mlabels"><span class="mlabel">inline</span></span> </td>
10920 </tr>
10921</table>
Anthony Barbier871448e2017-03-24 14:54:29 +000010922</div><div class="memdoc">
10923
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010924<p>Return an error if the passed two tensors have different data types. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010925<dl class="params"><dt>Parameters</dt><dd>
10926 <table class="params">
10927 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
10928 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
10929 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010010930 <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>The first tensor to be compared. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010931 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000010932 </table>
10933 </dd>
10934</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010935<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000010936
Jenkinsb3a371b2018-05-23 11:36:53 +010010937<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00534">534</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000010938
Jenkins52ba29e2018-08-29 15:32:11 +000010939<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00508">error_on_mismatching_data_types()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010010940<div class="fragment"><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; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">arm_compute::error_on_mismatching_data_types</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(),</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000010941<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
10942<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
10943<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010010944<div class="ttc" id="namespacearm__compute_xhtml_a00672eb7b5db5f6396b39b241eaf12f7"><div class="ttname"><a href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">arm_compute::error_on_mismatching_data_types</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_data_types(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed two tensor infos have different data types. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00508">Validate.h:508</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010945</div><!-- fragment -->
10946</div>
10947</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010948<a class="anchor" id="ab3f385292b90327061e1276f3e3445c7"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010949<div class="memitem">
10950<div class="memproto">
10951 <table class="memname">
10952 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010953 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_dimensions </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010954 <td>(</td>
10955 <td class="paramtype">const char *&#160;</td>
10956 <td class="paramname"><em>function</em>, </td>
10957 </tr>
10958 <tr>
10959 <td class="paramkey"></td>
10960 <td></td>
10961 <td class="paramtype">const char *&#160;</td>
10962 <td class="paramname"><em>file</em>, </td>
10963 </tr>
10964 <tr>
10965 <td class="paramkey"></td>
10966 <td></td>
10967 <td class="paramtype">int&#160;</td>
10968 <td class="paramname"><em>line</em>, </td>
10969 </tr>
10970 <tr>
10971 <td class="paramkey"></td>
10972 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010973 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010974 <td class="paramname"><em>dim1</em>, </td>
10975 </tr>
10976 <tr>
10977 <td class="paramkey"></td>
10978 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010979 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010980 <td class="paramname"><em>dim2</em>, </td>
10981 </tr>
10982 <tr>
10983 <td class="paramkey"></td>
10984 <td></td>
10985 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
10986 <td class="paramname"><em>dims</em>&#160;</td>
10987 </tr>
10988 <tr>
10989 <td></td>
10990 <td>)</td>
10991 <td></td><td></td>
10992 </tr>
10993 </table>
10994</div><div class="memdoc">
10995
Anthony Barbier8140e1e2017-12-14 23:48:46 +000010996<p>Return an error if the passed dimension objects differ. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010010997<dl class="params"><dt>Parameters</dt><dd>
10998 <table class="params">
10999 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11000 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11001 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11002 <tr><td class="paramdir">[in]</td><td class="paramname">dim1</td><td>The first object to be compared. </td></tr>
11003 <tr><td class="paramdir">[in]</td><td class="paramname">dim2</td><td>The second object to be compared. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011004 <tr><td class="paramdir">[in]</td><td class="paramname">dims</td><td>(Optional) Further allowed objects.</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011005 </table>
11006 </dd>
11007</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011008<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011009
Jenkinsb3a371b2018-05-23 11:36:53 +010011010<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00280">280</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011011
Jenkins52ba29e2018-08-29 15:32:11 +000011012<p>References <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, and <a class="el" href="_validate_8h_source.xhtml#l00108">arm_compute::detail::for_each_error()</a>.</p>
11013<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;{</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute_1_1detail.xhtml#a2fa22dee7227625fa4516f267235667c">detail::for_each_error</a>(detail::compare_dimension&lt;T&gt;(dim1, <span class="keyword">function</span>, file, line), dim2, std::forward&lt;Ts&gt;(dims)...));</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
11014<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010011015<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a2fa22dee7227625fa4516f267235667c"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a2fa22dee7227625fa4516f267235667c">arm_compute::detail::for_each_error</a></div><div class="ttdeci">arm_compute::Status for_each_error(F &amp;&amp;func, T &amp;&amp;arg, Ts &amp;&amp;...args)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00114">Validate.h:114</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011016</div><!-- fragment -->
11017</div>
11018</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011019<a class="anchor" id="af4c3199d58278db542e1cdfb72a41901"></a>
11020<div class="memitem">
11021<div class="memproto">
11022<table class="mlabels">
11023 <tr>
11024 <td class="mlabels-left">
11025 <table class="memname">
11026 <tr>
11027 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_quantization_info </td>
11028 <td>(</td>
11029 <td class="paramtype">const char *&#160;</td>
11030 <td class="paramname"><em>function</em>, </td>
11031 </tr>
11032 <tr>
11033 <td class="paramkey"></td>
11034 <td></td>
11035 <td class="paramtype">const char *&#160;</td>
11036 <td class="paramname"><em>file</em>, </td>
11037 </tr>
11038 <tr>
11039 <td class="paramkey"></td>
11040 <td></td>
11041 <td class="paramtype">const int&#160;</td>
11042 <td class="paramname"><em>line</em>, </td>
11043 </tr>
11044 <tr>
11045 <td class="paramkey"></td>
11046 <td></td>
11047 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11048 <td class="paramname"><em>tensor_info_1</em>, </td>
11049 </tr>
11050 <tr>
11051 <td class="paramkey"></td>
11052 <td></td>
11053 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11054 <td class="paramname"><em>tensor_info_2</em>, </td>
11055 </tr>
11056 <tr>
11057 <td class="paramkey"></td>
11058 <td></td>
11059 <td class="paramtype">Ts...&#160;</td>
11060 <td class="paramname"><em>tensor_infos</em>&#160;</td>
11061 </tr>
11062 <tr>
11063 <td></td>
11064 <td>)</td>
11065 <td></td><td></td>
11066 </tr>
11067 </table>
11068 </td>
11069 <td class="mlabels-right">
11070<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11071 </tr>
11072</table>
11073</div><div class="memdoc">
11074
11075<p>Return an error if the passed tensor infos have different asymmetric quantized data types or different quantization info. </p>
11076<dl class="section note"><dt>Note</dt><dd>: If the first tensor info doesn't have asymmetric quantized data type, the function returns without throwing an error</dd></dl>
11077<dl class="params"><dt>Parameters</dt><dd>
11078 <table class="params">
11079 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11080 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11081 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11082 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
11083 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
11084 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
11085 </table>
11086 </dd>
11087</dl>
11088<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
11089
Jenkins52ba29e2018-08-29 15:32:11 +000011090<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00562">562</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011091
Jenkins52ba29e2018-08-29 15:32:11 +000011092<p>References <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00992">is_data_type_quantized_asymmetric()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011093
Jenkins52ba29e2018-08-29 15:32:11 +000011094<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00601">error_on_mismatching_quantization_info()</a>.</p>
11095<div class="fragment"><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; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&amp;first_data_type = tensor_info_1-&gt;data_type();</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keyword">const</span> QuantizationInfo first_quantization_info = tensor_info_1-&gt;quantization_info();</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(first_data_type))</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; }</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> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensor_infos_array{ { tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensor_infos_array.begin(), tensor_infos_array.end(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">return</span> tensor_info-&gt;data_type() != first_data_type;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }),</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different asymmetric quantized data types&quot;</span>);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensor_infos_array.begin(), tensor_infos_array.end(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; {</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">return</span> tensor_info-&gt;quantization_info() != first_quantization_info;</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; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensors have different quantization information&quot;</span>);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
11096<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
11097<div class="ttc" id="namespacearm__compute_xhtml_a14f46283f316e7f0fad301d5c1507e9f"><div class="ttname"><a href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">arm_compute::is_data_type_quantized_asymmetric</a></div><div class="ttdeci">bool is_data_type_quantized_asymmetric(DataType dt)</div><div class="ttdoc">Check if a given data type is of asymmetric quantized type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00992">Utils.h:992</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000011098<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00072">Types.h:72</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011099</div><!-- fragment -->
11100</div>
11101</div>
11102<a class="anchor" id="a5be375b525bba68610a75da0a043df3a"></a>
11103<div class="memitem">
11104<div class="memproto">
11105<table class="mlabels">
11106 <tr>
11107 <td class="mlabels-left">
11108 <table class="memname">
11109 <tr>
11110 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_quantization_info </td>
11111 <td>(</td>
11112 <td class="paramtype">const char *&#160;</td>
11113 <td class="paramname"><em>function</em>, </td>
11114 </tr>
11115 <tr>
11116 <td class="paramkey"></td>
11117 <td></td>
11118 <td class="paramtype">const char *&#160;</td>
11119 <td class="paramname"><em>file</em>, </td>
11120 </tr>
11121 <tr>
11122 <td class="paramkey"></td>
11123 <td></td>
11124 <td class="paramtype">const int&#160;</td>
11125 <td class="paramname"><em>line</em>, </td>
11126 </tr>
11127 <tr>
11128 <td class="paramkey"></td>
11129 <td></td>
11130 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11131 <td class="paramname"><em>tensor_1</em>, </td>
11132 </tr>
11133 <tr>
11134 <td class="paramkey"></td>
11135 <td></td>
11136 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11137 <td class="paramname"><em>tensor_2</em>, </td>
11138 </tr>
11139 <tr>
11140 <td class="paramkey"></td>
11141 <td></td>
11142 <td class="paramtype">Ts...&#160;</td>
11143 <td class="paramname"><em>tensors</em>&#160;</td>
11144 </tr>
11145 <tr>
11146 <td></td>
11147 <td>)</td>
11148 <td></td><td></td>
11149 </tr>
11150 </table>
11151 </td>
11152 <td class="mlabels-right">
11153<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11154 </tr>
11155</table>
11156</div><div class="memdoc">
11157
11158<p>Return an error if the passed tensor have different asymmetric quantized data types or different quantization info. </p>
11159<dl class="section note"><dt>Note</dt><dd>: If the first tensor doesn't have asymmetric quantized data type, the function returns without throwing an error</dd></dl>
11160<dl class="params"><dt>Parameters</dt><dd>
11161 <table class="params">
11162 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11163 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11164 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11165 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
11166 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
11167 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
11168 </table>
11169 </dd>
11170</dl>
11171<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
11172
Jenkins52ba29e2018-08-29 15:32:11 +000011173<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00601">601</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011174
Jenkins52ba29e2018-08-29 15:32:11 +000011175<p>References <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
11176<div class="fragment"><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;{</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a>(<span class="keyword">function</span>, file, line, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4c3199d58278db542e1cdfb72a41901"><div class="ttname"><a href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_quantization_info(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed tensor infos have different asymmetric quantized data types or differen...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00562">Validate.h:562</a></div></div>
11177<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
11178<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011179</div><!-- fragment -->
11180</div>
11181</div>
11182<a class="anchor" id="aea117e0cebca5f4642ed3f269217a09e"></a>
11183<div class="memitem">
11184<div class="memproto">
11185<table class="mlabels">
11186 <tr>
11187 <td class="mlabels-left">
11188 <table class="memname">
11189 <tr>
11190 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
11191 <td>(</td>
11192 <td class="paramtype">const char *&#160;</td>
11193 <td class="paramname"><em>function</em>, </td>
11194 </tr>
11195 <tr>
11196 <td class="paramkey"></td>
11197 <td></td>
11198 <td class="paramtype">const char *&#160;</td>
11199 <td class="paramname"><em>file</em>, </td>
11200 </tr>
11201 <tr>
11202 <td class="paramkey"></td>
11203 <td></td>
11204 <td class="paramtype">const int&#160;</td>
11205 <td class="paramname"><em>line</em>, </td>
11206 </tr>
11207 <tr>
11208 <td class="paramkey"></td>
11209 <td></td>
11210 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11211 <td class="paramname"><em>tensor_info_1</em>, </td>
11212 </tr>
11213 <tr>
11214 <td class="paramkey"></td>
11215 <td></td>
11216 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11217 <td class="paramname"><em>tensor_info_2</em>, </td>
11218 </tr>
11219 <tr>
11220 <td class="paramkey"></td>
11221 <td></td>
11222 <td class="paramtype">Ts...&#160;</td>
11223 <td class="paramname"><em>tensor_infos</em>&#160;</td>
11224 </tr>
11225 <tr>
11226 <td></td>
11227 <td>)</td>
11228 <td></td><td></td>
11229 </tr>
11230 </table>
11231 </td>
11232 <td class="mlabels-right">
11233<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11234 </tr>
11235</table>
11236</div><div class="memdoc">
11237
11238<p>Return an error if the passed two tensor infos have different shapes from the given dimension. </p>
11239<dl class="params"><dt>Parameters</dt><dd>
11240 <table class="params">
11241 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11242 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11243 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11244 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
11245 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
11246 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
11247 </table>
11248 </dd>
11249</dl>
11250<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
11251
Jenkinsb3a371b2018-05-23 11:36:53 +010011252<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00368">368</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011253
Anthony Barbierdbdab852017-06-23 15:42:00 +010011254<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011255
Jenkinsb3a371b2018-05-23 11:36:53 +010011256<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00385">error_on_mismatching_shapes()</a>.</p>
11257<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0U, tensor_info_1, tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)...);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_afa04b5bdea84e0effab066e3b1324ec5"><div class="ttname"><a href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, unsigned int upper_dim, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors)</div><div class="ttdoc">Return an error if the passed two tensors have different shapes from the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00431">Validate.h:431</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011258</div><!-- fragment -->
11259</div>
11260</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011261<a class="anchor" id="a41328dd4b943d34c1cc61410571fd6fa"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011262<div class="memitem">
11263<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011264<table class="mlabels">
11265 <tr>
11266 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010011267 <table class="memname">
11268 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011269 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
11270 <td>(</td>
11271 <td class="paramtype">const char *&#160;</td>
11272 <td class="paramname"><em>function</em>, </td>
11273 </tr>
11274 <tr>
11275 <td class="paramkey"></td>
11276 <td></td>
11277 <td class="paramtype">const char *&#160;</td>
11278 <td class="paramname"><em>file</em>, </td>
11279 </tr>
11280 <tr>
11281 <td class="paramkey"></td>
11282 <td></td>
11283 <td class="paramtype">const int&#160;</td>
11284 <td class="paramname"><em>line</em>, </td>
11285 </tr>
11286 <tr>
11287 <td class="paramkey"></td>
11288 <td></td>
11289 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11290 <td class="paramname"><em>tensor_1</em>, </td>
11291 </tr>
11292 <tr>
11293 <td class="paramkey"></td>
11294 <td></td>
11295 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11296 <td class="paramname"><em>tensor_2</em>, </td>
11297 </tr>
11298 <tr>
11299 <td class="paramkey"></td>
11300 <td></td>
11301 <td class="paramtype">Ts...&#160;</td>
11302 <td class="paramname"><em>tensors</em>&#160;</td>
11303 </tr>
11304 <tr>
11305 <td></td>
11306 <td>)</td>
11307 <td></td><td></td>
11308 </tr>
11309 </table>
11310 </td>
11311 <td class="mlabels-right">
11312<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11313 </tr>
11314</table>
11315</div><div class="memdoc">
11316
11317<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
11318<dl class="params"><dt>Parameters</dt><dd>
11319 <table class="params">
11320 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11321 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11322 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11323 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
11324 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
11325 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
11326 </table>
11327 </dd>
11328</dl>
11329<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
11330
Jenkinsb3a371b2018-05-23 11:36:53 +010011331<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00385">385</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011332
Jenkinsb3a371b2018-05-23 11:36:53 +010011333<p>References <a class="el" href="_validate_8h_source.xhtml#l00368">error_on_mismatching_shapes()</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
11334<div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;{</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0U, tensor_1, tensor_2, std::forward&lt;Ts&gt;(tensors)...);</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_afa04b5bdea84e0effab066e3b1324ec5"><div class="ttname"><a href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, unsigned int upper_dim, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors)</div><div class="ttdoc">Return an error if the passed two tensors have different shapes from the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00431">Validate.h:431</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011335</div><!-- fragment -->
11336</div>
11337</div>
11338<a class="anchor" id="aac6150cce1c9c666600e4b320a0066e9"></a>
11339<div class="memitem">
11340<div class="memproto">
11341<table class="mlabels">
11342 <tr>
11343 <td class="mlabels-left">
11344 <table class="memname">
11345 <tr>
11346 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011347 <td>(</td>
11348 <td class="paramtype">const char *&#160;</td>
11349 <td class="paramname"><em>function</em>, </td>
11350 </tr>
11351 <tr>
11352 <td class="paramkey"></td>
11353 <td></td>
11354 <td class="paramtype">const char *&#160;</td>
11355 <td class="paramname"><em>file</em>, </td>
11356 </tr>
11357 <tr>
11358 <td class="paramkey"></td>
11359 <td></td>
11360 <td class="paramtype">const int&#160;</td>
11361 <td class="paramname"><em>line</em>, </td>
11362 </tr>
11363 <tr>
11364 <td class="paramkey"></td>
11365 <td></td>
11366 <td class="paramtype">unsigned int&#160;</td>
11367 <td class="paramname"><em>upper_dim</em>, </td>
11368 </tr>
11369 <tr>
11370 <td class="paramkey"></td>
11371 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011372 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11373 <td class="paramname"><em>tensor_info_1</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011374 </tr>
11375 <tr>
11376 <td class="paramkey"></td>
11377 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011378 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11379 <td class="paramname"><em>tensor_info_2</em>, </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011380 </tr>
11381 <tr>
11382 <td class="paramkey"></td>
11383 <td></td>
11384 <td class="paramtype">Ts...&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011385 <td class="paramname"><em>tensor_infos</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011386 </tr>
11387 <tr>
11388 <td></td>
11389 <td>)</td>
11390 <td></td><td></td>
11391 </tr>
11392 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011393 </td>
11394 <td class="mlabels-right">
11395<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11396 </tr>
11397</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011398</div><div class="memdoc">
11399
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011400<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011401<dl class="params"><dt>Parameters</dt><dd>
11402 <table class="params">
11403 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11404 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11405 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11406 <tr><td class="paramdir">[in]</td><td class="paramname">upper_dim</td><td>The dimension from which to check. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011407 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
11408 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
11409 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011410 </table>
11411 </dd>
11412</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011413<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011414
Jenkinsb3a371b2018-05-23 11:36:53 +010011415<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00403">403</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011416
Jenkins52ba29e2018-08-29 15:32:11 +000011417<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
11418<div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;{</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info_1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info_2 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensor_infos)...));</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensorInfo *, 2 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor_info_1, tensor_info_2, std::forward&lt;Ts&gt;(tensor_infos)... } };</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(std::next(tensors_info_array.cbegin()), tensors_info_array.cend(), [&amp;](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><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_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>((*tensors_info_array.cbegin())-&gt;tensor_shape(), tensor_info-&gt;tensor_shape(), upper_dim);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }),</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</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="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010011419<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000011420<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
11421<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
11422<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011423<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a45d610a8bc262f7007c934293361e888"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">arm_compute::detail::have_different_dimensions</a></div><div class="ttdeci">bool have_different_dimensions(const Dimensions&lt; T &gt; &amp;dim1, const Dimensions&lt; T &gt; &amp;dim2, unsigned int upper_dim)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00051">Validate.h:51</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000011424</div><!-- fragment -->
11425</div>
11426</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011427<a class="anchor" id="afa04b5bdea84e0effab066e3b1324ec5"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000011428<div class="memitem">
11429<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011430<table class="mlabels">
11431 <tr>
11432 <td class="mlabels-left">
Anthony Barbier871448e2017-03-24 14:54:29 +000011433 <table class="memname">
11434 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011435 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011436 <td>(</td>
11437 <td class="paramtype">const char *&#160;</td>
11438 <td class="paramname"><em>function</em>, </td>
11439 </tr>
11440 <tr>
11441 <td class="paramkey"></td>
11442 <td></td>
11443 <td class="paramtype">const char *&#160;</td>
11444 <td class="paramname"><em>file</em>, </td>
11445 </tr>
11446 <tr>
11447 <td class="paramkey"></td>
11448 <td></td>
11449 <td class="paramtype">const int&#160;</td>
11450 <td class="paramname"><em>line</em>, </td>
11451 </tr>
11452 <tr>
11453 <td class="paramkey"></td>
11454 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011455 <td class="paramtype">unsigned int&#160;</td>
11456 <td class="paramname"><em>upper_dim</em>, </td>
11457 </tr>
11458 <tr>
11459 <td class="paramkey"></td>
11460 <td></td>
11461 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11462 <td class="paramname"><em>tensor_1</em>, </td>
11463 </tr>
11464 <tr>
11465 <td class="paramkey"></td>
11466 <td></td>
11467 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11468 <td class="paramname"><em>tensor_2</em>, </td>
11469 </tr>
11470 <tr>
11471 <td class="paramkey"></td>
11472 <td></td>
11473 <td class="paramtype">Ts...&#160;</td>
11474 <td class="paramname"><em>tensors</em>&#160;</td>
11475 </tr>
11476 <tr>
11477 <td></td>
11478 <td>)</td>
11479 <td></td><td></td>
11480 </tr>
11481 </table>
11482 </td>
11483 <td class="mlabels-right">
11484<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11485 </tr>
11486</table>
11487</div><div class="memdoc">
11488
11489<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
11490<dl class="params"><dt>Parameters</dt><dd>
11491 <table class="params">
11492 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11493 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11494 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11495 <tr><td class="paramdir">[in]</td><td class="paramname">upper_dim</td><td>The dimension from which to check. </td></tr>
11496 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
11497 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
11498 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
11499 </table>
11500 </dd>
11501</dl>
11502<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
11503
Jenkinsb3a371b2018-05-23 11:36:53 +010011504<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00431">431</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011505
Jenkins52ba29e2018-08-29 15:32:11 +000011506<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00368">error_on_mismatching_shapes()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010011507<div class="fragment"><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;{</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_2 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">arm_compute::error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, upper_dim, tensor_1-&gt;info(), tensor_2-&gt;info(),</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; detail::get_tensor_info_t&lt;ITensorInfo *&gt;()(tensors)...));</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000011508<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010011509<div class="ttc" id="namespacearm__compute_xhtml_aea117e0cebca5f4642ed3f269217a09e"><div class="ttname"><a href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed two tensor infos have different shapes from the given dimension...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00368">Validate.h:368</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000011510<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
11511<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011512</div><!-- fragment -->
11513</div>
11514</div>
11515<a class="anchor" id="a75738bb24f735248ab9584cd24544234"></a>
11516<div class="memitem">
11517<div class="memproto">
11518 <table class="memname">
11519 <tr>
11520 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_windows </td>
11521 <td>(</td>
11522 <td class="paramtype">const char *&#160;</td>
11523 <td class="paramname"><em>function</em>, </td>
11524 </tr>
11525 <tr>
11526 <td class="paramkey"></td>
11527 <td></td>
11528 <td class="paramtype">const char *&#160;</td>
11529 <td class="paramname"><em>file</em>, </td>
11530 </tr>
11531 <tr>
11532 <td class="paramkey"></td>
11533 <td></td>
11534 <td class="paramtype">const int&#160;</td>
11535 <td class="paramname"><em>line</em>, </td>
11536 </tr>
11537 <tr>
11538 <td class="paramkey"></td>
11539 <td></td>
11540 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011541 <td class="paramname"><em>full</em>, </td>
11542 </tr>
11543 <tr>
11544 <td class="paramkey"></td>
11545 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011546 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011547 <td class="paramname"><em>win</em>&#160;</td>
11548 </tr>
11549 <tr>
11550 <td></td>
11551 <td>)</td>
11552 <td></td><td></td>
11553 </tr>
11554 </table>
11555</div><div class="memdoc">
11556
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011557<p>Return an error if the passed window is invalid. </p>
11558<p>The subwindow is invalid if:</p><ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000011559<li>It is not a valid window.</li>
11560<li>Its dimensions don't match the full window's ones</li>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011561<li>The step for each of its dimension is not identical to the corresponding one of the full window.</li>
11562</ul>
Anthony Barbier871448e2017-03-24 14:54:29 +000011563<dl class="params"><dt>Parameters</dt><dd>
11564 <table class="params">
11565 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11566 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11567 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11568 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011569 <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>
Anthony Barbier871448e2017-03-24 14:54:29 +000011570 </table>
11571 </dd>
11572</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011573<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000011574
11575</div>
11576</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011577<a class="anchor" id="af4587cd36ddbf2e4dde217d1a1007940"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011578<div class="memitem">
11579<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011580<table class="mlabels">
11581 <tr>
11582 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010011583 <table class="memname">
11584 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011585 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_nullptr </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011586 <td>(</td>
11587 <td class="paramtype">const char *&#160;</td>
11588 <td class="paramname"><em>function</em>, </td>
11589 </tr>
11590 <tr>
11591 <td class="paramkey"></td>
11592 <td></td>
11593 <td class="paramtype">const char *&#160;</td>
11594 <td class="paramname"><em>file</em>, </td>
11595 </tr>
11596 <tr>
11597 <td class="paramkey"></td>
11598 <td></td>
11599 <td class="paramtype">const int&#160;</td>
11600 <td class="paramname"><em>line</em>, </td>
11601 </tr>
11602 <tr>
11603 <td class="paramkey"></td>
11604 <td></td>
11605 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
11606 <td class="paramname"><em>pointers</em>&#160;</td>
11607 </tr>
11608 <tr>
11609 <td></td>
11610 <td>)</td>
11611 <td></td><td></td>
11612 </tr>
11613 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011614 </td>
11615 <td class="mlabels-right">
11616<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11617 </tr>
11618</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011619</div><div class="memdoc">
11620
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011621<p>Create an error if one of the pointers is a nullptr. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011622<dl class="params"><dt>Parameters</dt><dd>
11623 <table class="params">
11624 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11625 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11626 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011627 <tr><td class="paramdir">[in]</td><td class="paramname">pointers</td><td>Pointers to check against nullptr.</td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011628 </table>
11629 </dd>
11630</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011631<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011632
Jenkinsb3a371b2018-05-23 11:36:53 +010011633<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00151">151</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011634
Jenkins52ba29e2018-08-29 15:32:11 +000011635<p>References <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011636
Jenkinsb3a371b2018-05-23 11:36:53 +010011637<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00457">error_on_mismatching_data_layouts()</a>, <a class="el" href="_validate_8h_source.xhtml#l00508">error_on_mismatching_data_types()</a>, <a class="el" href="_validate_8h_source.xhtml#l00403">error_on_mismatching_shapes()</a>, <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_tensors_not_even()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00336">error_on_tensors_not_subsampled()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000011638<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">const</span> std::array&lt;<span class="keyword">const</span> <span class="keywordtype">void</span> *, <span class="keyword">sizeof</span>...(Ts)&gt; pointers_array{ { std::forward&lt;Ts&gt;(pointers)... } };</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordtype">bool</span> has_nullptr = std::any_of(pointers_array.begin(), pointers_array.end(), [&amp;](<span class="keyword">const</span> <span class="keywordtype">void</span> *ptr)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> (ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; });</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(has_nullptr, <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Nullptr object!&quot;</span>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
11639<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011640</div><!-- fragment -->
11641</div>
11642</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011643<a class="anchor" id="a9f37a1ead28d12ce216e27209dae2a81"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000011644<div class="memitem">
11645<div class="memproto">
11646 <table class="memname">
11647 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011648 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_tensor_not_2d </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011649 <td>(</td>
11650 <td class="paramtype">const char *&#160;</td>
11651 <td class="paramname"><em>function</em>, </td>
11652 </tr>
11653 <tr>
11654 <td class="paramkey"></td>
11655 <td></td>
11656 <td class="paramtype">const char *&#160;</td>
11657 <td class="paramname"><em>file</em>, </td>
11658 </tr>
11659 <tr>
11660 <td class="paramkey"></td>
11661 <td></td>
11662 <td class="paramtype">const int&#160;</td>
11663 <td class="paramname"><em>line</em>, </td>
11664 </tr>
11665 <tr>
11666 <td class="paramkey"></td>
11667 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011668 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011669 <td class="paramname"><em>tensor</em>&#160;</td>
11670 </tr>
11671 <tr>
11672 <td></td>
11673 <td>)</td>
11674 <td></td><td></td>
11675 </tr>
11676 </table>
11677</div><div class="memdoc">
11678
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011679<p>Return an error if the tensor is not 2D. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011680<dl class="params"><dt>Parameters</dt><dd>
11681 <table class="params">
11682 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11683 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11684 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011685 <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>
Anthony Barbier871448e2017-03-24 14:54:29 +000011686 </table>
11687 </dd>
11688</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011689<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000011690
Jenkins52ba29e2018-08-29 15:32:11 +000011691<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00771">error_on_unsupported_fp16()</a>.</p>
11692
11693</div>
11694</div>
11695<a class="anchor" id="a6aca7957ee1166144ae3999c7cf42d29"></a>
11696<div class="memitem">
11697<div class="memproto">
11698 <table class="memname">
11699 <tr>
11700 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_tensor_not_2d </td>
11701 <td>(</td>
11702 <td class="paramtype">const char *&#160;</td>
11703 <td class="paramname"><em>function</em>, </td>
11704 </tr>
11705 <tr>
11706 <td class="paramkey"></td>
11707 <td></td>
11708 <td class="paramtype">const char *&#160;</td>
11709 <td class="paramname"><em>file</em>, </td>
11710 </tr>
11711 <tr>
11712 <td class="paramkey"></td>
11713 <td></td>
11714 <td class="paramtype">const int&#160;</td>
11715 <td class="paramname"><em>line</em>, </td>
11716 </tr>
11717 <tr>
11718 <td class="paramkey"></td>
11719 <td></td>
11720 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11721 <td class="paramname"><em>tensor</em>&#160;</td>
11722 </tr>
11723 <tr>
11724 <td></td>
11725 <td>)</td>
11726 <td></td><td></td>
11727 </tr>
11728 </table>
11729</div><div class="memdoc">
11730
11731<p>Return an error if the tensor info is not 2D. </p>
11732<dl class="params"><dt>Parameters</dt><dd>
11733 <table class="params">
11734 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11735 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11736 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11737 <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> info to validate.</td></tr>
11738 </table>
11739 </dd>
11740</dl>
11741<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
11742
Anthony Barbier871448e2017-03-24 14:54:29 +000011743</div>
11744</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000011745<a class="anchor" id="a5bee409f8a6904df028626835b3a19be"></a>
11746<div class="memitem">
11747<div class="memproto">
11748 <table class="memname">
11749 <tr>
11750 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_tensors_not_even </td>
11751 <td>(</td>
11752 <td class="paramtype">const char *&#160;</td>
11753 <td class="paramname"><em>function</em>, </td>
11754 </tr>
11755 <tr>
11756 <td class="paramkey"></td>
11757 <td></td>
11758 <td class="paramtype">const char *&#160;</td>
11759 <td class="paramname"><em>file</em>, </td>
11760 </tr>
11761 <tr>
11762 <td class="paramkey"></td>
11763 <td></td>
11764 <td class="paramtype">int&#160;</td>
11765 <td class="paramname"><em>line</em>, </td>
11766 </tr>
11767 <tr>
11768 <td class="paramkey"></td>
11769 <td></td>
11770 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
11771 <td class="paramname"><em>format</em>, </td>
11772 </tr>
11773 <tr>
11774 <td class="paramkey"></td>
11775 <td></td>
11776 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11777 <td class="paramname"><em>tensor1</em>, </td>
11778 </tr>
11779 <tr>
11780 <td class="paramkey"></td>
11781 <td></td>
11782 <td class="paramtype">Ts...&#160;</td>
11783 <td class="paramname"><em>tensors</em>&#160;</td>
11784 </tr>
11785 <tr>
11786 <td></td>
11787 <td>)</td>
11788 <td></td><td></td>
11789 </tr>
11790 </table>
11791</div><div class="memdoc">
11792
11793<p>Return an error if the passed tensor objects are not even. </p>
11794<dl class="params"><dt>Parameters</dt><dd>
11795 <table class="params">
11796 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11797 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11798 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11799 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to check if odd shape is allowed </td></tr>
11800 <tr><td class="paramdir">[in]</td><td class="paramname">tensor1</td><td>The first object to be compared for odd shape. </td></tr>
11801 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed objects.</td></tr>
11802 </table>
11803 </dd>
11804</dl>
11805<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
11806
Jenkinsb3a371b2018-05-23 11:36:53 +010011807<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00303">303</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000011808
Jenkins52ba29e2018-08-29 15:32:11 +000011809<p>References <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00646">adjust_odd_shape()</a>, <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
11810<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;{</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor1, std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_info_array.cbegin(), tensors_info_array.cend(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</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; <span class="keyword">const</span> TensorShape correct_shape = <a class="code" href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">adjust_odd_shape</a>(tensor-&gt;info()-&gt;tensor_shape(), format);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor-&gt;info()-&gt;tensor_shape(), correct_shape, 2);</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; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensor shape has odd dimensions&quot;</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010011811<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000011812<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
11813<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
11814<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000011815<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a45d610a8bc262f7007c934293361e888"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">arm_compute::detail::have_different_dimensions</a></div><div class="ttdeci">bool have_different_dimensions(const Dimensions&lt; T &gt; &amp;dim1, const Dimensions&lt; T &gt; &amp;dim2, unsigned int upper_dim)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00051">Validate.h:51</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000011816<div class="ttc" id="namespacearm__compute_xhtml_add7f7487c235331a6518dd16ad1e3b38"><div class="ttname"><a href="namespacearm__compute.xhtml#add7f7487c235331a6518dd16ad1e3b38">arm_compute::adjust_odd_shape</a></div><div class="ttdeci">TensorShape adjust_odd_shape(const TensorShape &amp;shape, Format format)</div><div class="ttdoc">Adjust tensor shape size if width or height are odd for a given multi-planar format. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00646">Utils.h:646</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010011817</div><!-- fragment -->
11818</div>
11819</div>
11820<a class="anchor" id="ade35257cf58582ca7c3f6c7d1ceff5f2"></a>
11821<div class="memitem">
11822<div class="memproto">
11823 <table class="memname">
11824 <tr>
11825 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_tensors_not_subsampled </td>
11826 <td>(</td>
11827 <td class="paramtype">const char *&#160;</td>
11828 <td class="paramname"><em>function</em>, </td>
11829 </tr>
11830 <tr>
11831 <td class="paramkey"></td>
11832 <td></td>
11833 <td class="paramtype">const char *&#160;</td>
11834 <td class="paramname"><em>file</em>, </td>
11835 </tr>
11836 <tr>
11837 <td class="paramkey"></td>
11838 <td></td>
11839 <td class="paramtype">int&#160;</td>
11840 <td class="paramname"><em>line</em>, </td>
11841 </tr>
11842 <tr>
11843 <td class="paramkey"></td>
11844 <td></td>
11845 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
11846 <td class="paramname"><em>format</em>, </td>
11847 </tr>
11848 <tr>
11849 <td class="paramkey"></td>
11850 <td></td>
11851 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
11852 <td class="paramname"><em>shape</em>, </td>
11853 </tr>
11854 <tr>
11855 <td class="paramkey"></td>
11856 <td></td>
11857 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
11858 <td class="paramname"><em>tensor1</em>, </td>
11859 </tr>
11860 <tr>
11861 <td class="paramkey"></td>
11862 <td></td>
11863 <td class="paramtype">Ts...&#160;</td>
11864 <td class="paramname"><em>tensors</em>&#160;</td>
11865 </tr>
11866 <tr>
11867 <td></td>
11868 <td>)</td>
11869 <td></td><td></td>
11870 </tr>
11871 </table>
11872</div><div class="memdoc">
11873
11874<p>Return an error if the passed tensor objects are not sub-sampled. </p>
11875<dl class="params"><dt>Parameters</dt><dd>
11876 <table class="params">
11877 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11878 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11879 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
11880 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to check if sub-sampling allowed. </td></tr>
11881 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>The tensor shape to calculate sub-sampling from. </td></tr>
11882 <tr><td class="paramdir">[in]</td><td class="paramname">tensor1</td><td>The first object to be compared. </td></tr>
11883 <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed objects.</td></tr>
11884 </table>
11885 </dd>
11886</dl>
11887<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
11888
11889<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00336">336</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
11890
Jenkins52ba29e2018-08-29 15:32:11 +000011891<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00673">calculate_subsampled_shape()</a>, <a class="el" href="_validate_8h_source.xhtml#l00151">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
11892<div class="fragment"><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward&lt;Ts&gt;(tensors)...));</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">const</span> TensorShape sub2_shape = <a class="code" href="namespacearm__compute.xhtml#a9d714e1b7d9d7818309138b7d830ebcb">calculate_subsampled_shape</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, format);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keyword">const</span> std::array &lt; <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) &gt; tensors_info_array{ { tensor1, std::forward&lt;Ts&gt;(tensors)... } };</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_info_array.cbegin(), tensors_info_array.cend(), [&amp;](<span class="keyword">const</span> ITensor * tensor)</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>(tensor-&gt;info()-&gt;tensor_shape(), sub2_shape, 2);</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; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Tensor shape has mismatch dimensions for sub-sampling&quot;</span>);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
11893<div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
11894<div class="ttc" id="namespacearm__compute_xhtml_a9d714e1b7d9d7818309138b7d830ebcb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9d714e1b7d9d7818309138b7d830ebcb">arm_compute::calculate_subsampled_shape</a></div><div class="ttdeci">TensorShape calculate_subsampled_shape(const TensorShape &amp;shape, Format format, Channel channel=Channel::UNKNOWN)</div><div class="ttdoc">Calculate subsampled shape for a given format and channel. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00673">Utils.h:673</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010011895<div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &amp;&amp;...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00151">Validate.h:151</a></div></div>
Jenkins52ba29e2018-08-29 15:32:11 +000011896<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
11897<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
11898<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010011899<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a45d610a8bc262f7007c934293361e888"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">arm_compute::detail::have_different_dimensions</a></div><div class="ttdeci">bool have_different_dimensions(const Dimensions&lt; T &gt; &amp;dim1, const Dimensions&lt; T &gt; &amp;dim2, unsigned int upper_dim)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00051">Validate.h:51</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000011900</div><!-- fragment -->
11901</div>
11902</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011903<a class="anchor" id="a33278ff3c7798e50c453599576f58bd8"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000011904<div class="memitem">
11905<div class="memproto">
11906 <table class="memname">
11907 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011908 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unconfigured_kernel </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011909 <td>(</td>
11910 <td class="paramtype">const char *&#160;</td>
11911 <td class="paramname"><em>function</em>, </td>
11912 </tr>
11913 <tr>
11914 <td class="paramkey"></td>
11915 <td></td>
11916 <td class="paramtype">const char *&#160;</td>
11917 <td class="paramname"><em>file</em>, </td>
11918 </tr>
11919 <tr>
11920 <td class="paramkey"></td>
11921 <td></td>
11922 <td class="paramtype">const int&#160;</td>
11923 <td class="paramname"><em>line</em>, </td>
11924 </tr>
11925 <tr>
11926 <td class="paramkey"></td>
11927 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011928 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> *&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000011929 <td class="paramname"><em>kernel</em>&#160;</td>
11930 </tr>
11931 <tr>
11932 <td></td>
11933 <td>)</td>
11934 <td></td><td></td>
11935 </tr>
11936 </table>
11937</div><div class="memdoc">
11938
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011939<p>Return an error if the kernel is not configured. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000011940<dl class="params"><dt>Parameters</dt><dd>
11941 <table class="params">
11942 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
11943 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
11944 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010011945 <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>
Anthony Barbier871448e2017-03-24 14:54:29 +000011946 </table>
11947 </dd>
11948</dl>
Jenkinsb3a371b2018-05-23 11:36:53 +010011949<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000011950
11951</div>
11952</div>
Jenkins52ba29e2018-08-29 15:32:11 +000011953<a class="anchor" id="a8e79316e933e15539e39cace39ba0e35"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011954<div class="memitem">
11955<div class="memproto">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011956<table class="mlabels">
11957 <tr>
11958 <td class="mlabels-left">
Anthony Barbierdbdab852017-06-23 15:42:00 +010011959 <table class="memname">
11960 <tr>
Jenkins52ba29e2018-08-29 15:32:11 +000011961 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_cpu_fp16 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011962 <td>(</td>
11963 <td class="paramtype">const char *&#160;</td>
11964 <td class="paramname"><em>function</em>, </td>
11965 </tr>
11966 <tr>
11967 <td class="paramkey"></td>
11968 <td></td>
11969 <td class="paramtype">const char *&#160;</td>
11970 <td class="paramname"><em>file</em>, </td>
11971 </tr>
11972 <tr>
11973 <td class="paramkey"></td>
11974 <td></td>
Jenkins52ba29e2018-08-29 15:32:11 +000011975 <td class="paramtype">const int&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010011976 <td class="paramname"><em>line</em>, </td>
11977 </tr>
11978 <tr>
11979 <td class="paramkey"></td>
11980 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011981 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
11982 <td class="paramname"><em>tensor_info</em>&#160;</td>
11983 </tr>
11984 <tr>
11985 <td></td>
11986 <td>)</td>
11987 <td></td><td></td>
11988 </tr>
11989 </table>
11990 </td>
11991 <td class="mlabels-right">
11992<span class="mlabels"><span class="mlabel">inline</span></span> </td>
11993 </tr>
11994</table>
11995</div><div class="memdoc">
11996
Jenkins52ba29e2018-08-29 15:32:11 +000011997<p>Return an error if the data type of the passed tensor info is FP16 and FP16 support is not compiled in. </p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000011998<dl class="params"><dt>Parameters</dt><dd>
11999 <table class="params">
12000 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12001 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12002 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +000012003 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info to validate.</td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012004 </table>
12005 </dd>
12006</dl>
12007<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
12008
Jenkins52ba29e2018-08-29 15:32:11 +000012009<p>Definition at line <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_c_p_p_2_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012010
Jenkins52ba29e2018-08-29 15:32:11 +000012011<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012012
Jenkins52ba29e2018-08-29 15:32:11 +000012013<p>Referenced by <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00060">error_on_unsupported_cpu_fp16()</a>.</p>
12014<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#ifndef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_info-&gt;data_type() == DataType::F16,</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;This CPU architecture does not support F16 data type, you need v8.2 or above&quot;</span>);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> {};</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
12015<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
12016<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012017</div><!-- fragment -->
12018</div>
12019</div>
Jenkins52ba29e2018-08-29 15:32:11 +000012020<a class="anchor" id="af2619085e2d6192b99df91fd805d8d30"></a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012021<div class="memitem">
12022<div class="memproto">
12023<table class="mlabels">
12024 <tr>
12025 <td class="mlabels-left">
12026 <table class="memname">
12027 <tr>
Jenkins52ba29e2018-08-29 15:32:11 +000012028 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_cpu_fp16 </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012029 <td>(</td>
12030 <td class="paramtype">const char *&#160;</td>
12031 <td class="paramname"><em>function</em>, </td>
12032 </tr>
12033 <tr>
12034 <td class="paramkey"></td>
12035 <td></td>
12036 <td class="paramtype">const char *&#160;</td>
12037 <td class="paramname"><em>file</em>, </td>
12038 </tr>
12039 <tr>
12040 <td class="paramkey"></td>
12041 <td></td>
Jenkins52ba29e2018-08-29 15:32:11 +000012042 <td class="paramtype">const int&#160;</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012043 <td class="paramname"><em>line</em>, </td>
12044 </tr>
12045 <tr>
12046 <td class="paramkey"></td>
12047 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012048 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012049 <td class="paramname"><em>tensor</em>&#160;</td>
12050 </tr>
12051 <tr>
12052 <td></td>
12053 <td>)</td>
12054 <td></td><td></td>
12055 </tr>
12056 </table>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012057 </td>
12058 <td class="mlabels-right">
12059<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12060 </tr>
12061</table>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012062</div><div class="memdoc">
12063
Jenkins52ba29e2018-08-29 15:32:11 +000012064<p>Return an error if the data type of the passed tensor is FP16 and FP16 support is not compiled in. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012065<dl class="params"><dt>Parameters</dt><dd>
12066 <table class="params">
12067 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12068 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12069 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +000012070 <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>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012071 </table>
12072 </dd>
12073</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012074<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012075
Jenkins52ba29e2018-08-29 15:32:11 +000012076<p>Definition at line <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00060">60</a> of file <a class="el" href="_c_p_p_2_validate_8h_source.xhtml">Validate.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012077
Jenkins52ba29e2018-08-29 15:32:11 +000012078<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_c_p_p_2_validate_8h_source.xhtml#l00040">error_on_unsupported_cpu_fp16()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
12079<div class="fragment"><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;{</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a8e79316e933e15539e39cace39ba0e35">arm_compute::error_on_unsupported_cpu_fp16</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info()));</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
12080<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
12081<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
12082<div class="ttc" id="namespacearm__compute_xhtml_a8e79316e933e15539e39cace39ba0e35"><div class="ttname"><a href="namespacearm__compute.xhtml#a8e79316e933e15539e39cace39ba0e35">arm_compute::error_on_unsupported_cpu_fp16</a></div><div class="ttdeci">arm_compute::Status error_on_unsupported_cpu_fp16(const char *function, const char *file, const int line, const ITensorInfo *tensor_info)</div><div class="ttdoc">Return an error if the data type of the passed tensor info is FP16 and FP16 support is not compiled i...</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_2_validate_8h_source.xhtml#l00040">Validate.h:40</a></div></div>
12083</div><!-- fragment -->
12084</div>
12085</div>
12086<a class="anchor" id="a76433394f276fbc92390850a15bd2cae"></a>
12087<div class="memitem">
12088<div class="memproto">
12089<table class="mlabels">
12090 <tr>
12091 <td class="mlabels-left">
12092 <table class="memname">
12093 <tr>
12094 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_fp16 </td>
12095 <td>(</td>
12096 <td class="paramtype">const char *&#160;</td>
12097 <td class="paramname"><em>function</em>, </td>
12098 </tr>
12099 <tr>
12100 <td class="paramkey"></td>
12101 <td></td>
12102 <td class="paramtype">const char *&#160;</td>
12103 <td class="paramname"><em>file</em>, </td>
12104 </tr>
12105 <tr>
12106 <td class="paramkey"></td>
12107 <td></td>
12108 <td class="paramtype">const int&#160;</td>
12109 <td class="paramname"><em>line</em>, </td>
12110 </tr>
12111 <tr>
12112 <td class="paramkey"></td>
12113 <td></td>
12114 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
12115 <td class="paramname"><em>tensor_info</em>, </td>
12116 </tr>
12117 <tr>
12118 <td class="paramkey"></td>
12119 <td></td>
12120 <td class="paramtype">bool&#160;</td>
12121 <td class="paramname"><em>is_fp16_supported</em>&#160;</td>
12122 </tr>
12123 <tr>
12124 <td></td>
12125 <td>)</td>
12126 <td></td><td></td>
12127 </tr>
12128 </table>
12129 </td>
12130 <td class="mlabels-right">
12131<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12132 </tr>
12133</table>
12134</div><div class="memdoc">
12135
12136<p>Return an error if the data type of the passed tensor info is FP16 and FP16 extension is not supported by the device. </p>
12137<dl class="params"><dt>Parameters</dt><dd>
12138 <table class="params">
12139 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12140 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12141 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12142 <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info to validate. </td></tr>
12143 <tr><td class="paramdir">[in]</td><td class="paramname">is_fp16_supported</td><td>Is fp16 supported by the device.</td></tr>
12144 </table>
12145 </dd>
12146</dl>
12147<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
12148
12149<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00752">752</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
12150
12151<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>.</p>
12152
12153<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00771">error_on_unsupported_fp16()</a>.</p>
12154<div class="fragment"><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;{</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <a class="code" href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>((tensor_info-&gt;data_type() == DataType::F16 &amp;&amp; !is_fp16_supported),</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;FP16 not supported by the device&quot;</span>);</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
12155<div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
12156<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
12157</div><!-- fragment -->
12158</div>
12159</div>
12160<a class="anchor" id="aea2b331c31943c1f726c9f552348c89c"></a>
12161<div class="memitem">
12162<div class="memproto">
12163<table class="mlabels">
12164 <tr>
12165 <td class="mlabels-left">
12166 <table class="memname">
12167 <tr>
12168 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_fp16 </td>
12169 <td>(</td>
12170 <td class="paramtype">const char *&#160;</td>
12171 <td class="paramname"><em>function</em>, </td>
12172 </tr>
12173 <tr>
12174 <td class="paramkey"></td>
12175 <td></td>
12176 <td class="paramtype">const char *&#160;</td>
12177 <td class="paramname"><em>file</em>, </td>
12178 </tr>
12179 <tr>
12180 <td class="paramkey"></td>
12181 <td></td>
12182 <td class="paramtype">const int&#160;</td>
12183 <td class="paramname"><em>line</em>, </td>
12184 </tr>
12185 <tr>
12186 <td class="paramkey"></td>
12187 <td></td>
12188 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
12189 <td class="paramname"><em>tensor</em>, </td>
12190 </tr>
12191 <tr>
12192 <td class="paramkey"></td>
12193 <td></td>
12194 <td class="paramtype">bool&#160;</td>
12195 <td class="paramname"><em>is_fp16_supported</em>&#160;</td>
12196 </tr>
12197 <tr>
12198 <td></td>
12199 <td>)</td>
12200 <td></td><td></td>
12201 </tr>
12202 </table>
12203 </td>
12204 <td class="mlabels-right">
12205<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12206 </tr>
12207</table>
12208</div><div class="memdoc">
12209
12210<p>Return an error if the data type of the passed tensor is FP16 and FP16 extension is not supported by the device. </p>
12211<dl class="params"><dt>Parameters</dt><dd>
12212 <table class="params">
12213 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12214 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12215 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12216 <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>
12217 <tr><td class="paramdir">[in]</td><td class="paramname">is_fp16_supported</td><td>Is fp16 supported by the device.</td></tr>
12218 </table>
12219 </dd>
12220</dl>
12221<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
12222
12223<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00771">771</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
12224
12225<p>References <a class="el" href="_error_8h_source.xhtml#l00254">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00193">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a9f37a1ead28d12ce216e27209dae2a81">error_on_tensor_not_2d()</a>, <a class="el" href="_validate_8h_source.xhtml#l00752">error_on_unsupported_fp16()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
12226<div class="fragment"><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;{</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <a class="code" href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <a class="code" href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a76433394f276fbc92390850a15bd2cae">arm_compute::error_on_unsupported_fp16</a>(<span class="keyword">function</span>, file, line, tensor-&gt;info(), is_fp16_supported));</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00254">Error.h:254</a></div></div>
12227<div class="ttc" id="_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00193">Error.h:193</a></div></div>
12228<div class="ttc" id="namespacearm__compute_xhtml_a76433394f276fbc92390850a15bd2cae"><div class="ttname"><a href="namespacearm__compute.xhtml#a76433394f276fbc92390850a15bd2cae">arm_compute::error_on_unsupported_fp16</a></div><div class="ttdeci">arm_compute::Status error_on_unsupported_fp16(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, bool is_fp16_supported)</div><div class="ttdoc">Return an error if the data type of the passed tensor info is FP16 and FP16 extension is not supporte...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00752">Validate.h:752</a></div></div>
12229<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
12230</div><!-- fragment -->
12231</div>
12232</div>
12233<a class="anchor" id="a5c8dc3902d1a2de5b20aa249fb483eea"></a>
12234<div class="memitem">
12235<div class="memproto">
12236<table class="mlabels">
12237 <tr>
12238 <td class="mlabels-left">
12239 <table class="memname">
12240 <tr>
12241 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unsupported_int64_base_atomics </td>
12242 <td>(</td>
12243 <td class="paramtype">const char *&#160;</td>
12244 <td class="paramname"><em>function</em>, </td>
12245 </tr>
12246 <tr>
12247 <td class="paramkey"></td>
12248 <td></td>
12249 <td class="paramtype">const char *&#160;</td>
12250 <td class="paramname"><em>file</em>, </td>
12251 </tr>
12252 <tr>
12253 <td class="paramkey"></td>
12254 <td></td>
12255 <td class="paramtype">const int&#160;</td>
12256 <td class="paramname"><em>line</em>&#160;</td>
12257 </tr>
12258 <tr>
12259 <td></td>
12260 <td>)</td>
12261 <td></td><td></td>
12262 </tr>
12263 </table>
12264 </td>
12265 <td class="mlabels-right">
12266<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12267 </tr>
12268</table>
12269</div><div class="memdoc">
12270
12271<p>Return an error if int64_base_atomics extension is not supported by the device. </p>
12272<dl class="params"><dt>Parameters</dt><dd>
12273 <table class="params">
12274 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12275 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12276 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred.</td></tr>
12277 </table>
12278 </dd>
12279</dl>
12280<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
12281
12282<p>Definition at line <a class="el" href="_c_l_validate_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_c_l_validate_8h_source.xhtml">CLValidate.h</a>.</p>
12283
12284<p>References <a class="el" href="_error_8h_source.xhtml#l00177">ARM_COMPUTE_CREATE_ERROR_LOC</a>, <a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get()</a>, and <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">UNSUPPORTED_EXTENSION_USE</a>.</p>
12285<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span>(!CLKernelLibrary::get().int64_base_atomics_supported())</div><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; <span class="keywordflow">return</span> <a class="code" href="_error_8h.xhtml#ac00c754f27b1201dd72c74b73239ff47">ARM_COMPUTE_CREATE_ERROR_LOC</a>(<a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a>, <span class="keyword">function</span>, file, line, <span class="stringliteral">&quot;Atomic functions are not supported&quot;</span>);</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> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa0ffe8be9137815d1266845a195c053c7">arm_compute::ErrorCode::UNSUPPORTED_EXTENSION_USE</a></div><div class="ttdoc">Unsupported extension used. </div></div>
12286<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00052">Error.h:52</a></div></div>
12287<div class="ttc" id="_error_8h_xhtml_ac00c754f27b1201dd72c74b73239ff47"><div class="ttname"><a href="_error_8h.xhtml#ac00c754f27b1201dd72c74b73239ff47">ARM_COMPUTE_CREATE_ERROR_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_CREATE_ERROR_LOC(error_code, func, file, line,...)</div><div class="ttdoc">Creates an error on location with a given message. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00177">Error.h:177</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012288</div><!-- fragment -->
12289</div>
12290</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012291<a class="anchor" id="a1b1ebe735a15f66be7ebe8dccdbcee15"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000012292<div class="memitem">
12293<div class="memproto">
12294 <table class="memname">
12295 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012296 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_window_dimensions_gte </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012297 <td>(</td>
12298 <td class="paramtype">const char *&#160;</td>
12299 <td class="paramname"><em>function</em>, </td>
12300 </tr>
12301 <tr>
12302 <td class="paramkey"></td>
12303 <td></td>
12304 <td class="paramtype">const char *&#160;</td>
12305 <td class="paramname"><em>file</em>, </td>
12306 </tr>
12307 <tr>
12308 <td class="paramkey"></td>
12309 <td></td>
12310 <td class="paramtype">const int&#160;</td>
12311 <td class="paramname"><em>line</em>, </td>
12312 </tr>
12313 <tr>
12314 <td class="paramkey"></td>
12315 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012316 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012317 <td class="paramname"><em>win</em>, </td>
12318 </tr>
12319 <tr>
12320 <td class="paramkey"></td>
12321 <td></td>
12322 <td class="paramtype">unsigned int&#160;</td>
12323 <td class="paramname"><em>max_dim</em>&#160;</td>
12324 </tr>
12325 <tr>
12326 <td></td>
12327 <td>)</td>
12328 <td></td><td></td>
12329 </tr>
12330 </table>
12331</div><div class="memdoc">
12332
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012333<p>Return an error if the passed window has too many dimensions. </p>
Anthony Barbier871448e2017-03-24 14:54:29 +000012334<p>The window has too many dimensions if any of the dimension greater or equal to max_dim is different from 0.</p>
12335<dl class="params"><dt>Parameters</dt><dd>
12336 <table class="params">
12337 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12338 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12339 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12340 <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>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012341 <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000012342 </table>
12343 </dd>
12344</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012345<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000012346
12347</div>
12348</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012349<a class="anchor" id="a220627e9e23de1058191022aea58e1cf"></a>
Kaizen8938bd32017-09-28 14:38:23 +010012350<div class="memitem">
12351<div class="memproto">
12352 <table class="memname">
12353 <tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012354 <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_window_not_collapsable_at_dimension </td>
Kaizen8938bd32017-09-28 14:38:23 +010012355 <td>(</td>
12356 <td class="paramtype">const char *&#160;</td>
12357 <td class="paramname"><em>function</em>, </td>
12358 </tr>
12359 <tr>
12360 <td class="paramkey"></td>
12361 <td></td>
12362 <td class="paramtype">const char *&#160;</td>
12363 <td class="paramname"><em>file</em>, </td>
12364 </tr>
12365 <tr>
12366 <td class="paramkey"></td>
12367 <td></td>
12368 <td class="paramtype">const int&#160;</td>
12369 <td class="paramname"><em>line</em>, </td>
12370 </tr>
12371 <tr>
12372 <td class="paramkey"></td>
12373 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012374 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010012375 <td class="paramname"><em>full</em>, </td>
12376 </tr>
12377 <tr>
12378 <td class="paramkey"></td>
12379 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012380 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010012381 <td class="paramname"><em>window</em>, </td>
12382 </tr>
12383 <tr>
12384 <td class="paramkey"></td>
12385 <td></td>
12386 <td class="paramtype">const int&#160;</td>
12387 <td class="paramname"><em>dim</em>&#160;</td>
12388 </tr>
12389 <tr>
12390 <td></td>
12391 <td>)</td>
12392 <td></td><td></td>
12393 </tr>
12394 </table>
12395</div><div class="memdoc">
12396
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012397<p>Return an error if the window can't be collapsed at the given dimension. </p>
Kaizen8938bd32017-09-28 14:38:23 +010012398<p>The window cannot be collapsed if the given dimension not equal to the full window's dimension or not start from 0.</p>
12399<dl class="params"><dt>Parameters</dt><dd>
12400 <table class="params">
12401 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
12402 <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
12403 <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
12404 <tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
12405 <tr><td class="paramdir">[in]</td><td class="paramname">window</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to be collapsed. </td></tr>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012406 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Dimension need to be checked.</td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010012407 </table>
12408 </dd>
12409</dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012410<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010012411
12412</div>
12413</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012414<a class="anchor" id="a6c0dcc38187027dcb89cd9724bc5a823"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000012415<div class="memitem">
12416<div class="memproto">
12417<table class="mlabels">
12418 <tr>
12419 <td class="mlabels-left">
12420 <table class="memname">
12421 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012422 <td class="memname">void execute_window_loop </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012423 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012424 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012425 <td class="paramname"><em>w</em>, </td>
12426 </tr>
12427 <tr>
12428 <td class="paramkey"></td>
12429 <td></td>
12430 <td class="paramtype">L &amp;&amp;&#160;</td>
12431 <td class="paramname"><em>lambda_function</em>, </td>
12432 </tr>
12433 <tr>
12434 <td class="paramkey"></td>
12435 <td></td>
12436 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
12437 <td class="paramname"><em>iterators</em>&#160;</td>
12438 </tr>
12439 <tr>
12440 <td></td>
12441 <td>)</td>
12442 <td></td><td></td>
12443 </tr>
12444 </table>
12445 </td>
12446 <td class="mlabels-right">
12447<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12448 </tr>
12449</table>
12450</div><div class="memdoc">
12451
12452<p>Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. </p>
12453<p>It passes the x and y positions to the lambda_function for each iteration</p>
12454<dl class="params"><dt>Parameters</dt><dd>
12455 <table class="params">
12456 <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>
12457 <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>
12458 <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>
12459 </table>
12460 </dd>
12461</dl>
12462
Anthony Barbierf45d5a92018-01-24 16:23:15 +000012463<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00122">122</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000012464
Jenkins52ba29e2018-08-29 15:32:11 +000012465<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>, and <a class="el" href="_window_8inl_source.xhtml#l00152">Window::validate()</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012466
Jenkins52ba29e2018-08-29 15:32:11 +000012467<p>Referenced by <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00601">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00482">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00816">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00649">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00419">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00758">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00918">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00875">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00312">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00962">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00343">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00698">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00546">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00374">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00740">arm_compute::utils::compare_tensor()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00424">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00177">IImageLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00735">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00257">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00686">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00357">NPYLoader::fill_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00639">arm_compute::utils::load_trained_data()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00083">CaffePreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00060">TFPreproccessor::preprocess()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00494">RandomAccessor::RandomAccessor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00576">arm_compute::utils::save_to_npy()</a>, and <a class="el" href="utils_2_utils_8h_source.xhtml#l00495">arm_compute::utils::save_to_ppm()</a>.</p>
12468<div class="fragment"><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; w.validate();</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; Coordinates::num_max_dimensions; ++i)</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(w[i].step() == 0);</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;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; Coordinates id;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; ForEachDimension&lt;Coordinates::num_max_dimensions&gt;::unroll(w, <span class="keywordtype">id</span>, std::forward&lt;L&gt;(lambda_function), std::forward&lt;Ts&gt;(iterators)...);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</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#l00337">Error.h:337</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000012469</div><!-- fragment -->
12470</div>
12471</div>
12472<a class="anchor" id="a695a8105065167f7e4596d31f23a3573"></a>
12473<div class="memitem">
12474<div class="memproto">
12475 <table class="memname">
12476 <tr>
12477 <td class="memname">uint8x16_t arm_compute::finalize_quantization </td>
12478 <td>(</td>
12479 <td class="paramtype">int32x4x4_t &amp;&#160;</td>
12480 <td class="paramname"><em>in_s32</em>, </td>
12481 </tr>
12482 <tr>
12483 <td class="paramkey"></td>
12484 <td></td>
12485 <td class="paramtype">int&#160;</td>
12486 <td class="paramname"><em>result_fixedpoint_multiplier</em>, </td>
12487 </tr>
12488 <tr>
12489 <td class="paramkey"></td>
12490 <td></td>
12491 <td class="paramtype">int32_t&#160;</td>
12492 <td class="paramname"><em>result_shift</em>, </td>
12493 </tr>
12494 <tr>
12495 <td class="paramkey"></td>
12496 <td></td>
12497 <td class="paramtype">int32x4_t&#160;</td>
12498 <td class="paramname"><em>result_offset_after_shift_s32</em>, </td>
12499 </tr>
12500 <tr>
12501 <td class="paramkey"></td>
12502 <td></td>
12503 <td class="paramtype">uint8x16_t&#160;</td>
12504 <td class="paramname"><em>min_u8</em>, </td>
12505 </tr>
12506 <tr>
12507 <td class="paramkey"></td>
12508 <td></td>
12509 <td class="paramtype">uint8x16_t&#160;</td>
12510 <td class="paramname"><em>max_u8</em>&#160;</td>
12511 </tr>
12512 <tr>
12513 <td></td>
12514 <td>)</td>
12515 <td></td><td></td>
12516 </tr>
12517 </table>
12518</div><div class="memdoc">
12519
12520<p>Performs final quantization step on 16 elements. </p>
12521<dl class="tparams"><dt>Template Parameters</dt><dd>
12522 <table class="tparams">
12523 <tr><td class="paramname">is_bounded_relu</td><td>Specified if a fused bounded relu should be applied</td></tr>
12524 </table>
12525 </dd>
12526</dl>
12527<dl class="params"><dt>Parameters</dt><dd>
12528 <table class="params">
12529 <tr><td class="paramname">in_s32</td><td>Input to be quantized. </td></tr>
12530 <tr><td class="paramname">result_fixedpoint_multiplier</td><td>Result multiplier parameter </td></tr>
12531 <tr><td class="paramname">result_shift</td><td>Result shift parameter </td></tr>
12532 <tr><td class="paramname">result_offset_after_shift_s32</td><td>Result offset parameter </td></tr>
12533 <tr><td class="paramname">min_u8</td><td>Relu lower bound </td></tr>
12534 <tr><td class="paramname">max_u8</td><td>Relu upper bound</td></tr>
12535 </table>
12536 </dd>
12537</dl>
12538<dl class="section return"><dt>Returns</dt><dd>Quantized values </dd></dl>
12539
12540<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00074">74</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
12541
12542<p>References <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">rounding_divide_by_pow2()</a>.</p>
12543<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">const</span> <span class="keyword">static</span> int32x4_t zero_s32 = vdupq_n_s32(0);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// Fixed point multiplication with vector saturating rounding doubling multiply high with scalar</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; in_s32.val[0] = vqrdmulhq_n_s32(in_s32.val[0], result_fixedpoint_multiplier);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; in_s32.val[1] = vqrdmulhq_n_s32(in_s32.val[1], result_fixedpoint_multiplier);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; in_s32.val[2] = vqrdmulhq_n_s32(in_s32.val[2], result_fixedpoint_multiplier);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; in_s32.val[3] = vqrdmulhq_n_s32(in_s32.val[3], result_fixedpoint_multiplier);</div><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="comment">// Round to the nearest division by a power-of-two using result_shift_s32</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; in_s32.val[0] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[0], result_shift);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; in_s32.val[1] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[1], result_shift);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; in_s32.val[2] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[2], result_shift);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; in_s32.val[3] = <a class="code" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a>(in_s32.val[3], result_shift);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="comment">// Add the offset terms</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; in_s32.val[0] = vaddq_s32(in_s32.val[0], result_offset_after_shift_s32);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; in_s32.val[1] = vaddq_s32(in_s32.val[1], result_offset_after_shift_s32);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; in_s32.val[2] = vaddq_s32(in_s32.val[2], result_offset_after_shift_s32);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; in_s32.val[3] = vaddq_s32(in_s32.val[3], result_offset_after_shift_s32);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// Saturate negative values</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; in_s32.val[0] = vmaxq_s32(in_s32.val[0], zero_s32);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; in_s32.val[1] = vmaxq_s32(in_s32.val[1], zero_s32);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; in_s32.val[2] = vmaxq_s32(in_s32.val[2], zero_s32);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; in_s32.val[3] = vmaxq_s32(in_s32.val[3], zero_s32);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">// Convert S32 to S16</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">const</span> int16x8x2_t in_s16 =</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><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; vcombine_s16(vqmovn_s32(in_s32.val[0]), vqmovn_s32(in_s32.val[1])),</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; vcombine_s16(vqmovn_s32(in_s32.val[2]), vqmovn_s32(in_s32.val[3]))</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</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;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="comment">// Convert S16 to U8</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; uint8x16_t out_u8 = vcombine_u8(vqmovun_s16(in_s16.val[0]), vqmovun_s16(in_s16.val[1]));</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">if</span>(is_bounded_relu)</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; out_u8 = vmaxq_u8(out_u8, min_u8);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; out_u8 = vminq_u8(out_u8, max_u8);</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;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> out_u8;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a5e28a3911204ac952601f512c82b48f1"><div class="ttname"><a href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">arm_compute::rounding_divide_by_pow2</a></div><div class="ttdeci">int32x4_t rounding_divide_by_pow2(int32x4_t x, int exponent)</div><div class="ttdoc">Round to the nearest division by a power-of-two using exponent. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_asymm_8inl_source.xhtml#l00026">NEAsymm.inl:26</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010012544</div><!-- fragment -->
12545</div>
12546</div>
12547<a class="anchor" id="a9cd394c15b73f79ca1d98f5328064be2"></a>
12548<div class="memitem">
12549<div class="memproto">
12550<table class="mlabels">
12551 <tr>
12552 <td class="mlabels-left">
12553 <table class="memname">
12554 <tr>
12555 <td class="memname">std::string arm_compute::float_to_string_with_full_precision </td>
12556 <td>(</td>
12557 <td class="paramtype">float&#160;</td>
12558 <td class="paramname"><em>val</em></td><td>)</td>
12559 <td></td>
12560 </tr>
12561 </table>
12562 </td>
12563 <td class="mlabels-right">
12564<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12565 </tr>
12566</table>
12567</div><div class="memdoc">
12568
12569<p>Create a string with the float in full precision. </p>
12570<dl class="params"><dt>Parameters</dt><dd>
12571 <table class="params">
12572 <tr><td class="paramname">val</td><td>Floating point value</td></tr>
12573 </table>
12574 </dd>
12575</dl>
12576<dl class="section return"><dt>Returns</dt><dd>String with the floating point value. </dd></dl>
12577
Jenkins52ba29e2018-08-29 15:32:11 +000012578<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01009">1009</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
12579<div class="fragment"><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;{</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; std::stringstream ss;</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; ss.precision(std::numeric_limits&lt;float&gt;::digits10 + 1);</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; ss &lt;&lt; val;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000012580</div>
12581</div>
12582<a class="anchor" id="a6959e681668a37a9242d2aae4e8b4375"></a>
12583<div class="memitem">
12584<div class="memproto">
12585<table class="mlabels">
12586 <tr>
12587 <td class="mlabels-left">
12588 <table class="memname">
12589 <tr>
12590 <td class="memname">auto arm_compute::floor_to_multiple </td>
12591 <td>(</td>
12592 <td class="paramtype">S&#160;</td>
12593 <td class="paramname"><em>value</em>, </td>
12594 </tr>
12595 <tr>
12596 <td class="paramkey"></td>
12597 <td></td>
12598 <td class="paramtype">T&#160;</td>
12599 <td class="paramname"><em>divisor</em>&#160;</td>
12600 </tr>
12601 <tr>
12602 <td></td>
12603 <td>)</td>
Jenkinsb3a371b2018-05-23 11:36:53 +010012604 <td></td><td> -&gt; decltype((value / divisor) * divisor)
Anthony Barbier871448e2017-03-24 14:54:29 +000012605</td>
12606 </tr>
12607 </table>
12608 </td>
12609 <td class="mlabels-right">
12610<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12611 </tr>
12612</table>
12613</div><div class="memdoc">
12614
12615<p>Computes the largest number smaller or equal to value that is a multiple of divisor. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010012616<dl class="params"><dt>Parameters</dt><dd>
12617 <table class="params">
12618 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Upper bound value </td></tr>
12619 <tr><td class="paramdir">[in]</td><td class="paramname">divisor</td><td>Value to compute multiple of.</td></tr>
12620 </table>
12621 </dd>
12622</dl>
12623<dl class="section return"><dt>Returns</dt><dd>the result. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000012624
Jenkinsb3a371b2018-05-23 11:36:53 +010012625<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00078">78</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000012626
Jenkins52ba29e2018-08-29 15:32:11 +000012627<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file()</a>.</p>
12628<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</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="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> (value / divisor) * divisor;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</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#l00337">Error.h:337</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012629</div><!-- fragment -->
12630</div>
12631</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010012632<a class="anchor" id="aa5e9f3429ae4136235c87f98ecb46c9d"></a>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012633<div class="memitem">
12634<div class="memproto">
12635 <table class="memname">
12636 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010012637 <td class="memname">bool arm_compute::fp16_supported </td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012638 <td>(</td>
12639 <td class="paramtype">const cl::Device &amp;&#160;</td>
12640 <td class="paramname"><em>device</em></td><td>)</td>
12641 <td></td>
12642 </tr>
12643 </table>
12644</div><div class="memdoc">
12645
12646<p>Helper function to check whether the cl_khr_fp16 extension is supported. </p>
12647<dl class="params"><dt>Parameters</dt><dd>
12648 <table class="params">
12649 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
12650 </table>
12651 </dd>
12652</dl>
12653<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
12654
Jenkins52ba29e2018-08-29 15:32:11 +000012655<p>Referenced by <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00326">CLKernelLibrary::get_built_programs()</a>.</p>
12656
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012657</div>
12658</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012659<a class="anchor" id="a4a351d5c39dec88af98a671da1c43fd6"></a>
12660<div class="memitem">
12661<div class="memproto">
12662 <table class="memname">
12663 <tr>
12664 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_arch_from_target </td>
12665 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012666 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012667 <td class="paramname"><em>target</em></td><td>)</td>
12668 <td></td>
12669 </tr>
12670 </table>
12671</div><div class="memdoc">
12672
12673<p>Helper function to get the GPU arch. </p>
12674<dl class="params"><dt>Parameters</dt><dd>
12675 <table class="params">
12676 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>GPU target</td></tr>
12677 </table>
12678 </dd>
12679</dl>
12680<dl class="section return"><dt>Returns</dt><dd>the GPU target which shows the arch </dd></dl>
12681
Jenkins52ba29e2018-08-29 15:32:11 +000012682<p>Referenced by <a class="el" href="_tuners_8h_source.xhtml#l00040">TunerFactory::create_tuner()</a>.</p>
12683
Anthony Barbierdbdab852017-06-23 15:42:00 +010012684</div>
12685</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000012686<a class="anchor" id="ab04905b0c6c0e4091160561eae870101"></a>
12687<div class="memitem">
12688<div class="memproto">
12689 <table class="memname">
12690 <tr>
12691 <td class="memname">std::string arm_compute::get_cl_type_from_data_type </td>
12692 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012693 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012694 <td class="paramname"><em>dt</em></td><td>)</td>
12695 <td></td>
12696 </tr>
12697 </table>
12698</div><div class="memdoc">
12699
12700<p>Translates a tensor data type to the appropriate OpenCL type. </p>
12701<dl class="params"><dt>Parameters</dt><dd>
12702 <table class="params">
12703 <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>
12704 </table>
12705 </dd>
12706</dl>
12707<dl class="section return"><dt>Returns</dt><dd>The string specifying the OpenCL type to be used. </dd></dl>
12708
12709</div>
12710</div>
Kaizen8938bd32017-09-28 14:38:23 +010012711<a class="anchor" id="a54c9b94a266f8065b64f001c47815b68"></a>
12712<div class="memitem">
12713<div class="memproto">
12714 <table class="memname">
12715 <tr>
12716 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> arm_compute::get_cl_version </td>
12717 <td>(</td>
12718 <td class="paramtype">const cl::Device &amp;&#160;</td>
12719 <td class="paramname"><em>device</em></td><td>)</td>
12720 <td></td>
12721 </tr>
12722 </table>
12723</div><div class="memdoc">
12724
12725<p>Helper function to get the highest OpenCL version supported. </p>
12726<dl class="params"><dt>Parameters</dt><dd>
12727 <table class="params">
12728 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
12729 </table>
12730 </dd>
12731</dl>
12732<dl class="section return"><dt>Returns</dt><dd>the highest OpenCL version supported </dd></dl>
12733
Jenkinsb3a371b2018-05-23 11:36:53 +010012734</div>
12735</div>
12736<a class="anchor" id="aba90ba1790209a7ec569f3ce897be586"></a>
12737<div class="memitem">
12738<div class="memproto">
12739 <table class="memname">
12740 <tr>
12741 <td class="memname">void arm_compute::get_cpu_configuration </td>
12742 <td>(</td>
12743 <td class="paramtype"><a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a> &amp;&#160;</td>
12744 <td class="paramname"><em>cpuinfo</em></td><td>)</td>
12745 <td></td>
12746 </tr>
12747 </table>
12748</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012749
Jenkinsb3a371b2018-05-23 11:36:53 +010012750<p>This function will try to detect the CPU configuration on the system and will fill the cpuinfo object accordingly to reflect this. </p>
12751<dl class="params"><dt>Parameters</dt><dd>
12752 <table class="params">
12753 <tr><td class="paramdir">[out]</td><td class="paramname">cpuinfo</td><td><a class="el" href="classarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a> to be used to hold the system's cpu configuration. </td></tr>
12754 </table>
12755 </dd>
12756</dl>
12757
12758</div>
12759</div>
12760<a class="anchor" id="a46e938020a3ac8c926d0590b7fe957db"></a>
12761<div class="memitem">
12762<div class="memproto">
12763<table class="mlabels">
12764 <tr>
12765 <td class="mlabels-left">
12766 <table class="memname">
12767 <tr>
12768 <td class="memname">size_t get_data_layout_dimension_index </td>
12769 <td>(</td>
12770 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
12771 <td class="paramname"><em>data_layout</em>, </td>
12772 </tr>
12773 <tr>
12774 <td class="paramkey"></td>
12775 <td></td>
12776 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a>&#160;</td>
12777 <td class="paramname"><em>data_layout_dimension</em>&#160;</td>
12778 </tr>
12779 <tr>
12780 <td></td>
12781 <td>)</td>
12782 <td></td><td></td>
12783 </tr>
12784 </table>
12785 </td>
12786 <td class="mlabels-right">
12787<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12788 </tr>
12789</table>
12790</div><div class="memdoc">
12791
12792<p>Get the index of the given dimension. </p>
12793<dl class="params"><dt>Parameters</dt><dd>
12794 <table class="params">
12795 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>The data layout. </td></tr>
12796 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout_dimension</td><td>The dimension which this index is requested for.</td></tr>
12797 </table>
12798 </dd>
12799</dl>
12800<dl class="section return"><dt>Returns</dt><dd>The int conversion of the requested data layout index. </dd></dl>
12801
Jenkins52ba29e2018-08-29 15:32:11 +000012802<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00326">326</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010012803
Jenkins52ba29e2018-08-29 15:32:11 +000012804<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010012805
Jenkins52ba29e2018-08-29 15:32:11 +000012806<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00341">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00169">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00202">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00376">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00039">arm_compute::misc::shape_calculator::compute_vector_to_tensor_output_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00272">arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00287">arm_compute::misc::shape_calculator::compute_winograd_input_transform_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00315">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="validation_2_n_e_o_n_2_scale_8cpp_source.xhtml#l00128">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_sub_tensor_info_8h_source.xhtml#l00124">SubTensorInfo::dimension()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00227">TensorInfo::dimension()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00257">IImageLoader::fill_planar_tensor()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00683">get_normalization_dimension_index()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00083">CaffePreproccessor::preprocess()</a>, and <a class="el" href="reference_2_winograd_8cpp_source.xhtml#l00401">arm_compute::test::validation::reference::winograd_output_transform()</a>.</p>
12807<div class="fragment"><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;{</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::UNKNOWN, <span class="stringliteral">&quot;Cannot retrieve the dimension index for an unknown layout!&quot;</span>);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="comment">/* Return the index based on the data layout</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="comment"> * [N C H W]</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<span class="comment"> * [3 2 1 0]</span></div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="comment"> * [N H W C]</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">switch</span>(data_layout_dimension)</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW) ? 2 : 0;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW) ? 1 : 2;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> == DataLayout::NCHW) ? 0 : 1;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Data layout index not supported!&quot;</span>);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">break</span>;</div><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;}</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#l00261">Error.h:261</a></div></div>
12808<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</a></div></div>
12809<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010012810</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010012811</div>
12812</div>
12813<a class="anchor" id="ae5f4dd9f672832f7dce02fc14487f544"></a>
12814<div class="memitem">
12815<div class="memproto">
12816 <table class="memname">
12817 <tr>
12818 <td class="memname">std::string arm_compute::get_data_size_from_data_type </td>
12819 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012820 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010012821 <td class="paramname"><em>dt</em></td><td>)</td>
12822 <td></td>
12823 </tr>
12824 </table>
12825</div><div class="memdoc">
12826
12827<p>Get the size of a data type in number of bits. </p>
12828<dl class="params"><dt>Parameters</dt><dd>
12829 <table class="params">
12830 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>.</td></tr>
12831 </table>
12832 </dd>
12833</dl>
12834<dl class="section return"><dt>Returns</dt><dd>Number of bits in the data type specified. </dd></dl>
12835
12836</div>
12837</div>
Jenkins52ba29e2018-08-29 15:32:11 +000012838<a class="anchor" id="ae76431f34048289454a9cb6dc66d7c6b"></a>
12839<div class="memitem">
12840<div class="memproto">
12841<table class="mlabels">
12842 <tr>
12843 <td class="mlabels-left">
12844 <table class="memname">
12845 <tr>
12846 <td class="memname">unsigned int arm_compute::get_normalization_dimension_index </td>
12847 <td>(</td>
12848 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
12849 <td class="paramname"><em>layout</em>, </td>
12850 </tr>
12851 <tr>
12852 <td class="paramkey"></td>
12853 <td></td>
12854 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> &amp;&#160;</td>
12855 <td class="paramname"><em>info</em>&#160;</td>
12856 </tr>
12857 <tr>
12858 <td></td>
12859 <td>)</td>
12860 <td></td><td></td>
12861 </tr>
12862 </table>
12863 </td>
12864 <td class="mlabels-right">
12865<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12866 </tr>
12867</table>
12868</div><div class="memdoc">
12869
12870<p>Calculate the normalization dimension index for a given normalization type. </p>
12871<dl class="params"><dt>Parameters</dt><dd>
12872 <table class="params">
12873 <tr><td class="paramdir">[in]</td><td class="paramname">layout</td><td>Data layout of the input and output tensor </td></tr>
12874 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Normalization info</td></tr>
12875 </table>
12876 </dd>
12877</dl>
12878<dl class="section return"><dt>Returns</dt><dd>Normalization dimension index </dd></dl>
12879
12880<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00683">683</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
12881
12882<p>References <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00947">NormalizationLayerInfo::is_in_map()</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
12883<div class="fragment"><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;{</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width_idx = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(layout, DataLayoutDimension::WIDTH);</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel_idx = <a class="code" href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">get_data_layout_dimension_index</a>(layout, DataLayoutDimension::CHANNEL);</div><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; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_in_map() ? width_idx : channel_idx;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
12884<div class="ttc" id="namespacearm__compute_xhtml_a46e938020a3ac8c926d0590b7fe957db"><div class="ttname"><a href="namespacearm__compute.xhtml#a46e938020a3ac8c926d0590b7fe957db">arm_compute::get_data_layout_dimension_index</a></div><div class="ttdeci">size_t get_data_layout_dimension_index(const DataLayout data_layout, const DataLayoutDimension data_layout_dimension)</div><div class="ttdoc">Get the index of the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00326">Helpers.inl:326</a></div></div>
12885</div><!-- fragment -->
12886</div>
12887</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012888<a class="anchor" id="a5e4254e9c71fffafb79b99d972df8f81"></a>
12889<div class="memitem">
12890<div class="memproto">
12891<table class="mlabels">
12892 <tr>
12893 <td class="mlabels-left">
12894 <table class="memname">
12895 <tr>
12896 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::get_promoted_data_type </td>
12897 <td>(</td>
12898 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
12899 <td class="paramname"><em>dt</em></td><td>)</td>
12900 <td></td>
12901 </tr>
12902 </table>
12903 </td>
12904 <td class="mlabels-right">
12905<span class="mlabels"><span class="mlabel">inline</span></span> </td>
12906 </tr>
12907</table>
12908</div><div class="memdoc">
12909
12910<p>Return the promoted data type of a given data type. </p>
12911<dl class="section note"><dt>Note</dt><dd>If promoted data type is not supported an error will be thrown</dd></dl>
12912<dl class="params"><dt>Parameters</dt><dd>
12913 <table class="params">
12914 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type to get the promoted type of.</td></tr>
12915 </table>
12916 </dd>
12917</dl>
12918<dl class="section return"><dt>Returns</dt><dd>Promoted data type </dd></dl>
12919
Jenkins52ba29e2018-08-29 15:32:11 +000012920<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00511">511</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012921
Jenkins52ba29e2018-08-29 15:32:11 +000012922<p>References <a class="el" href="_error_8h_source.xhtml#l00261">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#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
12923<div class="fragment"><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="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Unsupported data type promotions!&quot;</span>);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Undefined data type!&quot;</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::UNKNOWN;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</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#l00261">Error.h:261</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000012924</div><!-- fragment -->
12925</div>
12926</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010012927<a class="anchor" id="ac2b27a559f3ff7deecfcd13e1e24194b"></a>
12928<div class="memitem">
12929<div class="memproto">
12930 <table class="memname">
12931 <tr>
12932 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_target_from_device </td>
12933 <td>(</td>
12934 <td class="paramname"></td><td>)</td>
12935 <td></td>
12936 </tr>
12937 </table>
12938</div><div class="memdoc">
12939
12940<p>Helper function to get the GPU target from GLES using GL_RENDERER enum. </p>
12941<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
12942
12943</div>
12944</div>
Jenkins52ba29e2018-08-29 15:32:11 +000012945<a class="anchor" id="a22bd4d0de8eb9d2989a9fe61b1003e70"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000012946<div class="memitem">
12947<div class="memproto">
Anthony Barbier871448e2017-03-24 14:54:29 +000012948 <table class="memname">
12949 <tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012950 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_target_from_device </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012951 <td>(</td>
Jenkins52ba29e2018-08-29 15:32:11 +000012952 <td class="paramtype">const cl::Device &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010012953 <td class="paramname"><em>device</em></td><td>)</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012954 <td></td>
Anthony Barbier871448e2017-03-24 14:54:29 +000012955 </tr>
12956 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000012957</div><div class="memdoc">
12958
Anthony Barbierdbdab852017-06-23 15:42:00 +010012959<p>Helper function to get the GPU target from CL device. </p>
12960<dl class="params"><dt>Parameters</dt><dd>
12961 <table class="params">
12962 <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
12963 </table>
12964 </dd>
12965</dl>
12966<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000012967
Jenkins52ba29e2018-08-29 15:32:11 +000012968<p>Referenced by <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00077">CLScheduler::init()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010012969
12970</div>
12971</div>
12972<a class="anchor" id="ade888194135e9dcce690e9e71a40620a"></a>
12973<div class="memitem">
12974<div class="memproto">
12975 <table class="memname">
12976 <tr>
12977 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_target_from_name </td>
12978 <td>(</td>
12979 <td class="paramtype">const std::string &amp;&#160;</td>
12980 <td class="paramname"><em>device_name</em></td><td>)</td>
12981 <td></td>
12982 </tr>
12983 </table>
12984</div><div class="memdoc">
12985
12986<p>Helper function to get the GPU target from a device name. </p>
12987<dl class="params"><dt>Parameters</dt><dd>
12988 <table class="params">
12989 <tr><td class="paramdir">[in]</td><td class="paramname">device_name</td><td>A device name</td></tr>
12990 </table>
12991 </dd>
12992</dl>
12993<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
12994
12995<p>Referenced by <a class="el" href="_g_p_u_target_8cpp_source.xhtml#l00040">arm_compute::test::validation::TEST_CASE()</a>.</p>
12996
12997</div>
12998</div>
12999<a class="anchor" id="a075f941d6e53f1513d8964043a3d809b"></a>
13000<div class="memitem">
13001<div class="memproto">
13002 <table class="memname">
13003 <tr>
13004 <td class="memname">unsigned int arm_compute::get_threads_hint </td>
13005 <td>(</td>
13006 <td class="paramname"></td><td>)</td>
13007 <td></td>
13008 </tr>
13009 </table>
13010</div><div class="memdoc">
13011
13012<p>Some systems have both big and small cores, this fuction computes the minimum number of cores that are exactly the same on the system. </p>
13013<p>To maximize performance the library attempts to process workloads concurrently using as many threads as big cores are available on the system.</p>
13014<dl class="section return"><dt>Returns</dt><dd>The minumum number of common cores. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000013015
Anthony Barbier871448e2017-03-24 14:54:29 +000013016</div>
13017</div>
Kaizen8938bd32017-09-28 14:38:23 +010013018<a class="anchor" id="afc95473636a442507fda7ad48f3414c0"></a>
13019<div class="memitem">
13020<div class="memproto">
13021 <table class="memname">
13022 <tr>
13023 <td class="memname">std::string arm_compute::get_underlying_cl_type_from_data_type </td>
13024 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013025 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013026 <td class="paramname"><em>dt</em></td><td>)</td>
13027 <td></td>
13028 </tr>
13029 </table>
13030</div><div class="memdoc">
13031
13032<p>Translates fixed point tensor data type to the underlying OpenCL type. </p>
13033<dl class="params"><dt>Parameters</dt><dd>
13034 <table class="params">
13035 <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>
13036 </table>
13037 </dd>
13038</dl>
13039<dl class="section return"><dt>Returns</dt><dd>The string specifying the underlying OpenCL type to be used. </dd></dl>
13040
13041</div>
13042</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010013043<a class="anchor" id="a0e3b0d9b90f6c97d5fe97b7d17c7ee25"></a>
13044<div class="memitem">
13045<div class="memproto">
13046 <table class="memname">
13047 <tr>
13048 <td class="memname">bool arm_compute::gpu_target_is_in </td>
13049 <td>(</td>
13050 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
13051 <td class="paramname"><em>target_to_check</em>, </td>
13052 </tr>
13053 <tr>
13054 <td class="paramkey"></td>
13055 <td></td>
13056 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
13057 <td class="paramname"><em>target</em>, </td>
13058 </tr>
13059 <tr>
13060 <td class="paramkey"></td>
13061 <td></td>
13062 <td class="paramtype">Args...&#160;</td>
13063 <td class="paramname"><em>targets</em>&#160;</td>
13064 </tr>
13065 <tr>
13066 <td></td>
13067 <td>)</td>
13068 <td></td><td></td>
13069 </tr>
13070 </table>
13071</div><div class="memdoc">
13072
13073<p>Helper function to check whether a gpu target is equal to the provided targets. </p>
13074<dl class="params"><dt>Parameters</dt><dd>
13075 <table class="params">
13076 <tr><td class="paramdir">[in]</td><td class="paramname">target_to_check</td><td>gpu target to check </td></tr>
13077 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>First target to compare against </td></tr>
13078 <tr><td class="paramdir">[in]</td><td class="paramname">targets</td><td>(Optional) Additional targets to compare with</td></tr>
13079 </table>
13080 </dd>
13081</dl>
13082<dl class="section return"><dt>Returns</dt><dd>True if the target is equal with at least one of the targets. </dd></dl>
13083
13084<p>Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00092">92</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
13085
13086<p>Referenced by <a class="el" href="_g_p_u_target_8cpp_source.xhtml#l00056">arm_compute::test::validation::TEST_CASE()</a>.</p>
13087<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;{</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> (target_to_check == target) | <a class="code" href="namespacearm__compute.xhtml#aab39ce9a593f7e12a4bf4cb47272b917">gpu_target_is_in</a>(target_to_check, targets...);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_aab39ce9a593f7e12a4bf4cb47272b917"><div class="ttname"><a href="namespacearm__compute.xhtml#aab39ce9a593f7e12a4bf4cb47272b917">arm_compute::gpu_target_is_in</a></div><div class="ttdeci">bool gpu_target_is_in(GPUTarget target_to_check, GPUTarget target)</div><div class="ttdoc">Variant of gpu_target_is_in for comparing two targets. </div><div class="ttdef"><b>Definition:</b> <a href="_g_p_u_target_8h_source.xhtml#l00098">GPUTarget.h:98</a></div></div>
13088</div><!-- fragment -->
13089</div>
13090</div>
13091<a class="anchor" id="aab39ce9a593f7e12a4bf4cb47272b917"></a>
13092<div class="memitem">
13093<div class="memproto">
13094<table class="mlabels">
13095 <tr>
13096 <td class="mlabels-left">
13097 <table class="memname">
13098 <tr>
13099 <td class="memname">bool arm_compute::gpu_target_is_in </td>
13100 <td>(</td>
13101 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
13102 <td class="paramname"><em>target_to_check</em>, </td>
13103 </tr>
13104 <tr>
13105 <td class="paramkey"></td>
13106 <td></td>
13107 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
13108 <td class="paramname"><em>target</em>&#160;</td>
13109 </tr>
13110 <tr>
13111 <td></td>
13112 <td>)</td>
13113 <td></td><td></td>
13114 </tr>
13115 </table>
13116 </td>
13117 <td class="mlabels-right">
13118<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13119 </tr>
13120</table>
13121</div><div class="memdoc">
13122
13123<p>Variant of gpu_target_is_in for comparing two targets. </p>
13124
13125<p>Definition at line <a class="el" href="_g_p_u_target_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_g_p_u_target_8h_source.xhtml">GPUTarget.h</a>.</p>
13126<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">return</span> target_to_check == target;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;}</div></div><!-- fragment -->
13127</div>
13128</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000013129<a class="anchor" id="aa2f22cc01532e0236e438324310fdb94"></a>
13130<div class="memitem">
13131<div class="memproto">
13132<table class="mlabels">
13133 <tr>
13134 <td class="mlabels-left">
13135 <table class="memname">
13136 <tr>
13137 <td class="memname">bool arm_compute::has_format_horizontal_subsampling </td>
13138 <td>(</td>
13139 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
13140 <td class="paramname"><em>format</em></td><td>)</td>
13141 <td></td>
13142 </tr>
13143 </table>
13144 </td>
13145 <td class="mlabels-right">
13146<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13147 </tr>
13148</table>
13149</div><div class="memdoc">
13150
13151<p>Return true if the given format has horizontal subsampling. </p>
13152<dl class="params"><dt>Parameters</dt><dd>
13153 <table class="params">
13154 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to determine subsampling.</td></tr>
13155 </table>
13156 </dd>
13157</dl>
13158<dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled horizontaly. </dd></dl>
13159
Jenkins52ba29e2018-08-29 15:32:11 +000013160<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00541">541</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000013161
13162<p>References <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#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
13163
Jenkins52ba29e2018-08-29 15:32:11 +000013164<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00646">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00673">calculate_subsampled_shape()</a>.</p>
13165<div class="fragment"><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;{</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">return</span> (format == Format::YUYV422 || format == Format::UYVY422 || format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000013166</div>
13167</div>
13168<a class="anchor" id="a95358b677c5c17f5cc1e369e4a27e2c2"></a>
13169<div class="memitem">
13170<div class="memproto">
13171<table class="mlabels">
13172 <tr>
13173 <td class="mlabels-left">
13174 <table class="memname">
13175 <tr>
13176 <td class="memname">bool arm_compute::has_format_vertical_subsampling </td>
13177 <td>(</td>
13178 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
13179 <td class="paramname"><em>format</em></td><td>)</td>
13180 <td></td>
13181 </tr>
13182 </table>
13183 </td>
13184 <td class="mlabels-right">
13185<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13186 </tr>
13187</table>
13188</div><div class="memdoc">
13189
13190<p>Return true if the given format has vertical subsampling. </p>
13191<dl class="params"><dt>Parameters</dt><dd>
13192 <table class="params">
13193 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Format to determine subsampling.</td></tr>
13194 </table>
13195 </dd>
13196</dl>
13197<dl class="section return"><dt>Returns</dt><dd>True if the format can be subsampled verticaly. </dd></dl>
13198
Jenkins52ba29e2018-08-29 15:32:11 +000013199<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00552">552</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000013200
13201<p>References <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>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>.</p>
13202
Jenkins52ba29e2018-08-29 15:32:11 +000013203<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00646">adjust_odd_shape()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00673">calculate_subsampled_shape()</a>.</p>
13204<div class="fragment"><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;{</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">return</span> (format == Format::NV12 || format == Format::NV21 || format == Format::IYUV || format == Format::UV88) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010013205</div>
13206</div>
13207<a class="anchor" id="a053a24bb37402fa4b4d8d5963976ba17"></a>
13208<div class="memitem">
13209<div class="memproto">
13210<table class="mlabels">
13211 <tr>
13212 <td class="mlabels-left">
13213 <table class="memname">
13214 <tr>
13215 <td class="memname">void arm_compute::ignore_unused </td>
13216 <td>(</td>
13217 <td class="paramtype">T &amp;&amp;&#160;</td>
13218 <td class="paramname"><em>...</em></td><td>)</td>
13219 <td></td>
13220 </tr>
13221 </table>
13222 </td>
13223 <td class="mlabels-right">
13224<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13225 </tr>
13226</table>
13227</div><div class="memdoc">
13228
13229<p>Ignores unused arguments. </p>
13230<dl class="tparams"><dt>Template Parameters</dt><dd>
13231 <table class="tparams">
13232 <tr><td class="paramname">T</td><td>Argument types</td></tr>
13233 </table>
13234 </dd>
13235</dl>
13236<dl class="params"><dt>Parameters</dt><dd>
13237 <table class="params">
13238 <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Ignored arguments </td></tr>
13239 </table>
13240 </dd>
13241</dl>
13242
13243<p>Definition at line <a class="el" href="_error_8h_source.xhtml#l00039">39</a> of file <a class="el" href="_error_8h_source.xhtml">Error.h</a>.</p>
13244<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000013245</div>
13246</div>
Kaizen8938bd32017-09-28 14:38:23 +010013247<a class="anchor" id="ad34f2150f1c9f8a3ecb7298162124e5d"></a>
13248<div class="memitem">
13249<div class="memproto">
13250<table class="mlabels">
13251 <tr>
13252 <td class="mlabels-left">
13253 <table class="memname">
13254 <tr>
13255 <td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> index2coords </td>
13256 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013257 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013258 <td class="paramname"><em>shape</em>, </td>
13259 </tr>
13260 <tr>
13261 <td class="paramkey"></td>
13262 <td></td>
13263 <td class="paramtype">int&#160;</td>
13264 <td class="paramname"><em>index</em>&#160;</td>
13265 </tr>
13266 <tr>
13267 <td></td>
13268 <td>)</td>
13269 <td></td><td></td>
13270 </tr>
13271 </table>
13272 </td>
13273 <td class="mlabels-right">
13274<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13275 </tr>
13276</table>
13277</div><div class="memdoc">
13278
13279<p>Convert a linear index into n-dimensional coordinates. </p>
13280<dl class="params"><dt>Parameters</dt><dd>
13281 <table class="params">
13282 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the n-dimensional tensor. </td></tr>
13283 <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Linear index specifying the i-th element.</td></tr>
13284 </table>
13285 </dd>
13286</dl>
13287<dl class="section return"><dt>Returns</dt><dd>n-dimensional coordinates. </dd></dl>
13288
Jenkins52ba29e2018-08-29 15:32:11 +000013289<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00289">289</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010013290
Jenkins52ba29e2018-08-29 15:32:11 +000013291<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013292
Jenkins52ba29e2018-08-29 15:32:11 +000013293<p>Referenced by <a class="el" href="reference_2_convert_fully_connected_weights_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference::convert_fully_connected_weights()</a>, <a class="el" href="_window_iterator_8cpp_source.xhtml#l00064">DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
13294<div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;{</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordtype">int</span> num_elements = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.total_size();</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(index &lt; 0 || index &gt;= num_elements, <span class="stringliteral">&quot;Index has to be in [0, num_elements]!&quot;</span>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">&quot;Cannot create coordinate from empty shape!&quot;</span>);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; Coordinates coord{ 0 };</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> d = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.num_dimensions() - 1; d &gt;= 0; --d)</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; num_elements /= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; coord.set(d, index / num_elements);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; index %= num_elements;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div><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; <span class="keywordflow">return</span> coord;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
13295<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010013296</div><!-- fragment -->
13297</div>
13298</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000013299<a class="anchor" id="a133621090cfb0f151340c6e04bd7bcc8"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000013300<div class="memitem">
13301<div class="memproto">
13302 <table class="memname">
13303 <tr>
13304 <td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> arm_compute::intersect_valid_regions </td>
13305 <td>(</td>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000013306 <td class="paramtype">const Ts &amp;...&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013307 <td class="paramname"><em>regions</em></td><td>)</td>
13308 <td></td>
13309 </tr>
13310 </table>
13311</div><div class="memdoc">
13312
13313<p>Intersect multiple valid regions. </p>
13314<dl class="params"><dt>Parameters</dt><dd>
13315 <table class="params">
13316 <tr><td class="paramdir">[in]</td><td class="paramname">regions</td><td>Valid regions.</td></tr>
13317 </table>
13318 </dd>
13319</dl>
13320<dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
13321
Jenkinsb3a371b2018-05-23 11:36:53 +010013322<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00469">469</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013323
Jenkins52ba29e2018-08-29 15:32:11 +000013324<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00276">ValidRegion::anchor</a>, <a class="el" href="_utility_8h_source.xhtml#l00113">arm_compute::utility::foldl()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00277">ValidRegion::shape</a>.</p>
13325<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;{</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</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="l00472"></a><span class="lineno"> 472</span>&#160; {</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; ValidRegion region;</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; <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="l00476"></a><span class="lineno"> 476</span>&#160; {</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; region.anchor.set(d, std::max(r1.anchor[d], r2.anchor[d]));</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">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="l00481"></a><span class="lineno"> 481</span>&#160; {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; region.shape.set(d, std::min(r1.shape[d], r2.shape[d]));</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">return</span> region;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; };</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; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1utility.xhtml#a043270c1f50c73bf9f91fcc4570ccf0c">utility::foldl</a>(intersect, regions...);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a043270c1f50c73bf9f91fcc4570ccf0c"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a043270c1f50c73bf9f91fcc4570ccf0c">arm_compute::utility::foldl</a></div><div class="ttdeci">T &amp;&amp; foldl(F &amp;&amp;, T &amp;&amp;value)</div><div class="ttdoc">Base case of foldl. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00113">Utility.h:113</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013326</div><!-- fragment -->
13327</div>
13328</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013329<a class="anchor" id="af5982a092e9eb743fce2d6392bdd8897"></a>
13330<div class="memitem">
13331<div class="memproto">
13332<table class="mlabels">
13333 <tr>
13334 <td class="mlabels-left">
13335 <table class="memname">
13336 <tr>
13337 <td class="memname">bool arm_compute::is_data_type_float </td>
13338 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013339 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013340 <td class="paramname"><em>dt</em></td><td>)</td>
13341 <td></td>
13342 </tr>
13343 </table>
13344 </td>
13345 <td class="mlabels-right">
13346<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13347 </tr>
13348</table>
13349</div><div class="memdoc">
13350
Anthony Barbierdbdab852017-06-23 15:42:00 +010013351<p>Check if a given data type is of floating point type. </p>
13352<dl class="params"><dt>Parameters</dt><dd>
13353 <table class="params">
13354 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
13355 </table>
13356 </dd>
13357</dl>
13358<dl class="section return"><dt>Returns</dt><dd>True if data type is of floating point type, else false. </dd></dl>
13359
Jenkins52ba29e2018-08-29 15:32:11 +000013360<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00955">955</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013361
13362<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000013363<div class="fragment"><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160;{</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; {</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; }</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013364</div>
13365</div>
13366<a class="anchor" id="a0bee325b210f81bb89fe1f9e15badf9c"></a>
13367<div class="memitem">
13368<div class="memproto">
13369<table class="mlabels">
13370 <tr>
13371 <td class="mlabels-left">
13372 <table class="memname">
13373 <tr>
13374 <td class="memname">bool arm_compute::is_data_type_quantized </td>
13375 <td>(</td>
13376 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
13377 <td class="paramname"><em>dt</em></td><td>)</td>
13378 <td></td>
13379 </tr>
13380 </table>
13381 </td>
13382 <td class="mlabels-right">
13383<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13384 </tr>
13385</table>
13386</div><div class="memdoc">
13387
13388<p>Check if a given data type is of quantized type. </p>
13389<dl class="section note"><dt>Note</dt><dd>Quantized is considered a super-set of fixed-point and asymmetric data types.</dd></dl>
13390<dl class="params"><dt>Parameters</dt><dd>
13391 <table class="params">
13392 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
13393 </table>
13394 </dd>
13395</dl>
13396<dl class="section return"><dt>Returns</dt><dd>True if data type is of quantized type, else false. </dd></dl>
13397
Jenkins52ba29e2018-08-29 15:32:11 +000013398<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00975">975</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013399
Jenkins52ba29e2018-08-29 15:32:11 +000013400<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
13401<div class="fragment"><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;{</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; {</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; }</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013402</div>
13403</div>
13404<a class="anchor" id="a14f46283f316e7f0fad301d5c1507e9f"></a>
13405<div class="memitem">
13406<div class="memproto">
13407<table class="mlabels">
13408 <tr>
13409 <td class="mlabels-left">
13410 <table class="memname">
13411 <tr>
13412 <td class="memname">bool arm_compute::is_data_type_quantized_asymmetric </td>
13413 <td>(</td>
13414 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
13415 <td class="paramname"><em>dt</em></td><td>)</td>
13416 <td></td>
13417 </tr>
13418 </table>
13419 </td>
13420 <td class="mlabels-right">
13421<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13422 </tr>
13423</table>
13424</div><div class="memdoc">
13425
13426<p>Check if a given data type is of asymmetric quantized type. </p>
13427<dl class="params"><dt>Parameters</dt><dd>
13428 <table class="params">
13429 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
13430 </table>
13431 </dd>
13432</dl>
13433<dl class="section return"><dt>Returns</dt><dd>True if data type is of symmetric quantized type, else false. </dd></dl>
13434
Jenkins52ba29e2018-08-29 15:32:11 +000013435<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00992">992</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013436
13437<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
13438
Jenkins52ba29e2018-08-29 15:32:11 +000013439<p>Referenced by <a class="el" href="_function_helpers_8h_source.xhtml#l00252">arm_compute::graph::backends::detail::create_convolution_layer()</a>, <a class="el" href="_function_helpers_8h_source.xhtml#l00373">arm_compute::graph::backends::detail::create_depthwise_convolution_layer()</a>, <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00159">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00562">error_on_mismatching_quantization_info()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00093">arm_compute::test::validation::reference::im2col_nhwc()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00139">arm_compute::test::validation::reference::im2col_nhwc_channel_first()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00278">set_quantization_info_if_empty()</a>, and <a class="el" href="_validate_helpers_8h_source.xhtml#l00090">arm_compute::graph::backends::detail::validate_convolution_layer()</a>.</p>
13440<div class="fragment"><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160;{</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; {</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; }</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000013441</div>
13442</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013443<a class="anchor" id="a532fb45c0261724a4c2e755cfd3a44e6"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000013444<div class="memitem">
13445<div class="memproto">
13446 <table class="memname">
13447 <tr>
13448 <td class="memname">std::string arm_compute::lower_string </td>
13449 <td>(</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013450 <td class="paramtype">const std::string &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013451 <td class="paramname"><em>val</em></td><td>)</td>
13452 <td></td>
13453 </tr>
13454 </table>
13455</div><div class="memdoc">
13456
13457<p>Lower a given string. </p>
13458<dl class="params"><dt>Parameters</dt><dd>
13459 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010013460 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Given string to lower.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000013461 </table>
13462 </dd>
13463</dl>
13464<dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
13465
Jenkins52ba29e2018-08-29 15:32:11 +000013466<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>, and <a class="el" href="_graph_utils_8h_source.xhtml#l00394">arm_compute::graph_utils::get_input_accessor()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013467
Anthony Barbier871448e2017-03-24 14:54:29 +000013468</div>
13469</div>
Anthony Barbiera4376382017-04-12 15:12:46 +010013470<a class="anchor" id="ac3f2de3a35ff8d9a47b5b793637784e7"></a>
13471<div class="memitem">
13472<div class="memproto">
13473 <table class="memname">
13474 <tr>
13475 <td class="memname">int arm_compute::max_consecutive_elements_display_width </td>
13476 <td>(</td>
13477 <td class="paramtype">std::ostream &amp;&#160;</td>
13478 <td class="paramname"><em>s</em>, </td>
13479 </tr>
13480 <tr>
13481 <td class="paramkey"></td>
13482 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013483 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010013484 <td class="paramname"><em>dt</em>, </td>
13485 </tr>
13486 <tr>
13487 <td class="paramkey"></td>
13488 <td></td>
13489 <td class="paramtype">const uint8_t *&#160;</td>
13490 <td class="paramname"><em>ptr</em>, </td>
13491 </tr>
13492 <tr>
13493 <td class="paramkey"></td>
13494 <td></td>
13495 <td class="paramtype">unsigned int&#160;</td>
13496 <td class="paramname"><em>n</em>&#160;</td>
13497 </tr>
13498 <tr>
13499 <td></td>
13500 <td>)</td>
13501 <td></td><td></td>
13502 </tr>
13503 </table>
13504</div><div class="memdoc">
13505
13506<p>Identify the maximum width of n consecutive elements. </p>
13507<dl class="params"><dt>Parameters</dt><dd>
13508 <table class="params">
13509 <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
13510 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
13511 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
13512 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print.</td></tr>
13513 </table>
13514 </dd>
13515</dl>
13516<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
13517
Jenkins52ba29e2018-08-29 15:32:11 +000013518<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01059">max_consecutive_elements_display_width_impl()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013519
Anthony Barbiera4376382017-04-12 15:12:46 +010013520</div>
13521</div>
13522<a class="anchor" id="aaecee617b967dd96f27d2f36732fb68e"></a>
13523<div class="memitem">
13524<div class="memproto">
13525 <table class="memname">
13526 <tr>
13527 <td class="memname">int arm_compute::max_consecutive_elements_display_width_impl </td>
13528 <td>(</td>
13529 <td class="paramtype">std::ostream &amp;&#160;</td>
13530 <td class="paramname"><em>s</em>, </td>
13531 </tr>
13532 <tr>
13533 <td class="paramkey"></td>
13534 <td></td>
13535 <td class="paramtype">const T *&#160;</td>
13536 <td class="paramname"><em>ptr</em>, </td>
13537 </tr>
13538 <tr>
13539 <td class="paramkey"></td>
13540 <td></td>
13541 <td class="paramtype">unsigned int&#160;</td>
13542 <td class="paramname"><em>n</em>&#160;</td>
13543 </tr>
13544 <tr>
13545 <td></td>
13546 <td>)</td>
13547 <td></td><td></td>
13548 </tr>
13549 </table>
13550</div><div class="memdoc">
13551
13552<p>Identify the maximum width of n consecutive elements. </p>
13553<dl class="params"><dt>Parameters</dt><dd>
13554 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010013555 <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>
13556 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the elements. </td></tr>
13557 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements.</td></tr>
Anthony Barbiera4376382017-04-12 15:12:46 +010013558 </table>
13559 </dd>
13560</dl>
13561<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
13562
Jenkins52ba29e2018-08-29 15:32:11 +000013563<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01059">1059</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbiera4376382017-04-12 15:12:46 +010013564
Jenkinsb3a371b2018-05-23 11:36:53 +010013565<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>
Jenkins52ba29e2018-08-29 15:32:11 +000013566<div class="fragment"><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;{</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; <span class="keyword">using</span> print_type = <span class="keyword">typename</span> std::conditional&lt;std::is_floating_point&lt;T&gt;::value, T, <span class="keywordtype">int</span>&gt;::type;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="keywordtype">int</span> max_width = -1;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</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="l01065"></a><span class="lineno"> 1065</span>&#160; {</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; std::stringstream ss;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; ss.copyfmt(s);</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; <span class="keywordflow">if</span>(std::is_same&lt;<span class="keyword">typename</span> std::decay&lt;T&gt;::type, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>&gt;::value)</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; {</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; <span class="comment">// We use T instead of print_type here is because the std::is_floating_point&lt;half&gt; returns false and then the print_type becomes int.</span></div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; ss &lt;&lt; static_cast&lt;T&gt;(ptr[i]);</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; }</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; {</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; ss &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]);</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; }</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; max_width = std::max&lt;int&gt;(max_width, ss.str().size());</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; }</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; <span class="keywordflow">return</span> max_width;</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a73e2825fd61d349c5ca2f5313e3c8ea1"><div class="ttname"><a href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">arm_compute::half</a></div><div class="ttdeci">half_float::half half</div><div class="ttdoc">16-bit floating point type </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00044">Types.h:44</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010013567</div><!-- fragment -->
13568</div>
13569</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013570<a class="anchor" id="ab14153fb809c18823af3c9c8bc4286cb"></a>
13571<div class="memitem">
13572<div class="memproto">
13573<table class="mlabels">
13574 <tr>
13575 <td class="mlabels-left">
13576 <table class="memname">
13577 <tr>
13578 <td class="memname">size_t arm_compute::num_channels_from_format </td>
13579 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013580 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013581 <td class="paramname"><em>format</em></td><td>)</td>
13582 <td></td>
13583 </tr>
13584 </table>
13585 </td>
13586 <td class="mlabels-right">
13587<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13588 </tr>
13589</table>
13590</div><div class="memdoc">
13591
13592<p>Return the number of channels for a given single-planar pixel format. </p>
13593<dl class="params"><dt>Parameters</dt><dd>
13594 <table class="params">
13595 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
13596 </table>
13597 </dd>
13598</dl>
13599<dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
13600
Jenkins52ba29e2018-08-29 15:32:11 +000013601<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00470">470</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013602
13603<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>
Jenkins52ba29e2018-08-29 15:32:11 +000013604<div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;{</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; }</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier871448e2017-03-24 14:54:29 +000013605</div>
13606</div>
13607<a class="anchor" id="a2a71659def659c8b1c164023a99a25a9"></a>
13608<div class="memitem">
13609<div class="memproto">
13610<table class="mlabels">
13611 <tr>
13612 <td class="mlabels-left">
13613 <table class="memname">
13614 <tr>
13615 <td class="memname">size_t arm_compute::num_planes_from_format </td>
13616 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013617 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000013618 <td class="paramname"><em>format</em></td><td>)</td>
13619 <td></td>
13620 </tr>
13621 </table>
13622 </td>
13623 <td class="mlabels-right">
13624<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13625 </tr>
13626</table>
13627</div><div class="memdoc">
13628
13629<p>Return the number of planes for a given format. </p>
13630<dl class="params"><dt>Parameters</dt><dd>
13631 <table class="params">
13632 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
13633 </table>
13634 </dd>
13635</dl>
13636<dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
13637
Jenkins52ba29e2018-08-29 15:32:11 +000013638<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00436">436</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000013639
Jenkins52ba29e2018-08-29 15:32:11 +000013640<p>References <a class="el" href="_error_8h_source.xhtml#l00261">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>
13641<div class="fragment"><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;{</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">switch</span>(format)</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="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</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="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">return</span> 0;</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;}</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#l00261">Error.h:261</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000013642</div><!-- fragment -->
13643</div>
13644</div>
Anthony Barbier46d59272017-05-04 09:15:15 +010013645<a class="anchor" id="aa4f4d7a58287017588fc338965873f14"></a>
13646<div class="memitem">
13647<div class="memproto">
13648 <table class="memname">
13649 <tr>
13650 <td class="memname">bool arm_compute::opencl_is_available </td>
13651 <td>(</td>
13652 <td class="paramname"></td><td>)</td>
13653 <td></td>
13654 </tr>
13655 </table>
13656</div><div class="memdoc">
13657
Jenkinsb3a371b2018-05-23 11:36:53 +010013658<p>Check if OpenCL is available. </p>
13659<dl class="section return"><dt>Returns</dt><dd>True if OpenCL is available. </dd></dl>
13660
Jenkins52ba29e2018-08-29 15:32:11 +000013661<p>Referenced by <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, <a class="el" href="_framework_8cpp_source.xhtml#l00508">Framework::run()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00819">arm_compute::test::sync_if_necessary()</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010013662
Anthony Barbier46d59272017-05-04 09:15:15 +010013663</div>
13664</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013665<a class="anchor" id="a19c7b9bc5f36935ba40314907ffe54ce"></a>
13666<div class="memitem">
13667<div class="memproto">
13668 <table class="memname">
13669 <tr>
13670 <td class="memname">bool arm_compute::opengles31_is_available </td>
13671 <td>(</td>
13672 <td class="paramname"></td><td>)</td>
13673 <td></td>
13674 </tr>
13675 </table>
13676</div><div class="memdoc">
13677
13678<p>Check if the OpenGL ES 3.1 API is available at runtime. </p>
13679<dl class="section return"><dt>Returns</dt><dd>true if the OpenGL ES 3.1 API is available. </dd></dl>
13680
Jenkins52ba29e2018-08-29 15:32:11 +000013681<p>Referenced by <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00148">NDRange::get()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00836">arm_compute::test::sync_tensor_if_necessary()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013682
13683</div>
13684</div>
13685<a class="anchor" id="a4e3ff85e1f6c648dfbe264f54c147451"></a>
13686<div class="memitem">
13687<div class="memproto">
13688<table class="mlabels">
13689 <tr>
13690 <td class="mlabels-left">
13691 <table class="memname">
13692 <tr>
13693 <td class="memname">bool arm_compute::operator!= </td>
13694 <td>(</td>
13695 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
13696 <td class="paramname"><em>lhs</em>, </td>
13697 </tr>
13698 <tr>
13699 <td class="paramkey"></td>
13700 <td></td>
13701 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
13702 <td class="paramname"><em>rhs</em>&#160;</td>
13703 </tr>
13704 <tr>
13705 <td></td>
13706 <td>)</td>
13707 <td></td><td></td>
13708 </tr>
13709 </table>
13710 </td>
13711 <td class="mlabels-right">
13712<span class="mlabels"><span class="mlabel">inline</span></span> </td>
13713 </tr>
13714</table>
13715</div><div class="memdoc">
13716
Jenkinsb3a371b2018-05-23 11:36:53 +010013717<p>Check that given dimensions are not equal. </p>
13718<dl class="params"><dt>Parameters</dt><dd>
13719 <table class="params">
13720 <tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>Left-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a>. </td></tr>
13721 <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>Right-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a>.</td></tr>
13722 </table>
13723 </dd>
13724</dl>
13725<dl class="section return"><dt>Returns</dt><dd>True if the given dimensions are not equal. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013726
Jenkinsb3a371b2018-05-23 11:36:53 +010013727<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00246">246</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
13728<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;{</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> !(lhs == rhs);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010013729</div>
13730</div>
Jenkins52ba29e2018-08-29 15:32:11 +000013731<a class="anchor" id="af3985189d478b45014e7dead9d002e2a"></a>
13732<div class="memitem">
13733<div class="memproto">
13734 <table class="memname">
13735 <tr>
13736 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
13737 <td>(</td>
13738 <td class="paramtype">::std::ostream &amp;&#160;</td>
13739 <td class="paramname"><em>os</em>, </td>
13740 </tr>
13741 <tr>
13742 <td class="paramkey"></td>
13743 <td></td>
13744 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> &amp;&#160;</td>
13745 <td class="paramname"><em>dim</em>&#160;</td>
13746 </tr>
13747 <tr>
13748 <td></td>
13749 <td>)</td>
13750 <td></td><td></td>
13751 </tr>
13752 </table>
13753</div><div class="memdoc">
13754
13755<p>Formatted output of the GradientDimension type. </p>
13756<dl class="params"><dt>Parameters</dt><dd>
13757 <table class="params">
13758 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
13759 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output</td></tr>
13760 </table>
13761 </dd>
13762</dl>
13763<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
13764
13765<p>Definition at line <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00038">38</a> of file <a class="el" href="tests_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
13766
13767<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>.</p>
13768<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; <span class="keywordflow">switch</span>(dim)</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">case</span> GradientDimension::GRAD_X:</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GRAD_X&quot;</span>;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">case</span> GradientDimension::GRAD_Y:</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GRAD_Y&quot;</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">case</span> GradientDimension::GRAD_XY:</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GRAD_XY&quot;</span>;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</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#l00261">Error.h:261</a></div></div>
13769</div><!-- fragment -->
13770</div>
13771</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013772<a class="anchor" id="a18d43401e8f84ed020429b41ec4e99f5"></a>
13773<div class="memitem">
13774<div class="memproto">
13775 <table class="memname">
13776 <tr>
13777 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
13778 <td>(</td>
13779 <td class="paramtype">::std::ostream &amp;&#160;</td>
13780 <td class="paramname"><em>os</em>, </td>
13781 </tr>
13782 <tr>
13783 <td class="paramkey"></td>
13784 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013785 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013786 <td class="paramname"><em>dimensions</em>&#160;</td>
13787 </tr>
13788 <tr>
13789 <td></td>
13790 <td>)</td>
13791 <td></td><td></td>
13792 </tr>
13793 </table>
13794</div><div class="memdoc">
13795
13796<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010013797<dl class="params"><dt>Parameters</dt><dd>
13798 <table class="params">
13799 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
13800 <tr><td class="paramdir">[in]</td><td class="paramname">dimensions</td><td>Type to output.</td></tr>
13801 </table>
13802 </dd>
13803</dl>
13804<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013805
Jenkins52ba29e2018-08-29 15:32:11 +000013806<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00070">70</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
13807<div class="fragment"><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;{</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span>(dimensions.num_dimensions() &gt; 0)</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; os &lt;&lt; dimensions[0];</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 1; d &lt; dimensions.num_dimensions(); ++d)</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; dimensions[d];</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010013808</div>
13809</div>
Kaizen8938bd32017-09-28 14:38:23 +010013810<a class="anchor" id="ae8c2a3451bcf739a75aa7438e7a78d45"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013811<div class="memitem">
13812<div class="memproto">
13813 <table class="memname">
13814 <tr>
13815 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
13816 <td>(</td>
13817 <td class="paramtype">::std::ostream &amp;&#160;</td>
13818 <td class="paramname"><em>os</em>, </td>
13819 </tr>
13820 <tr>
13821 <td class="paramkey"></td>
13822 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013823 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013824 <td class="paramname"><em>function</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013825 </tr>
13826 <tr>
13827 <td></td>
13828 <td>)</td>
13829 <td></td><td></td>
13830 </tr>
13831 </table>
13832</div><div class="memdoc">
13833
Kaizen8938bd32017-09-28 14:38:23 +010013834<p>Formatted output of the NonLinearFilterFunction type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010013835<dl class="params"><dt>Parameters</dt><dd>
13836 <table class="params">
13837 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
13838 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Type to output.</td></tr>
13839 </table>
13840 </dd>
13841</dl>
13842<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013843
Jenkins52ba29e2018-08-29 15:32:11 +000013844<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00092">92</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013845
Jenkins52ba29e2018-08-29 15:32:11 +000013846<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>.</p>
13847<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;{</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">switch</span>(<span class="keyword">function</span>)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MAX:</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MEDIAN:</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MEDIAN&quot;</span>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> NonLinearFilterFunction::MIN:</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MIN&quot;</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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#l00261">Error.h:261</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013848</div><!-- fragment -->
13849</div>
13850</div>
Kaizen8938bd32017-09-28 14:38:23 +010013851<a class="anchor" id="acec416ec5af175a7aad47a518fefb770"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013852<div class="memitem">
13853<div class="memproto">
13854 <table class="memname">
13855 <tr>
13856 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
13857 <td>(</td>
13858 <td class="paramtype">::std::ostream &amp;&#160;</td>
13859 <td class="paramname"><em>os</em>, </td>
13860 </tr>
13861 <tr>
13862 <td class="paramkey"></td>
13863 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013864 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013865 <td class="paramname"><em>pattern</em>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013866 </tr>
13867 <tr>
13868 <td></td>
13869 <td>)</td>
13870 <td></td><td></td>
13871 </tr>
13872 </table>
13873</div><div class="memdoc">
13874
Kaizen8938bd32017-09-28 14:38:23 +010013875<p>Formatted output of the MatrixPattern type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010013876<dl class="params"><dt>Parameters</dt><dd>
13877 <table class="params">
13878 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
13879 <tr><td class="paramdir">[in]</td><td class="paramname">pattern</td><td>Type to output.</td></tr>
13880 </table>
13881 </dd>
13882</dl>
13883<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013884
Jenkins52ba29e2018-08-29 15:32:11 +000013885<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00132">132</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013886
Jenkins52ba29e2018-08-29 15:32:11 +000013887<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, and <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>.</p>
13888<div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;{</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">switch</span>(pattern)</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">case</span> MatrixPattern::BOX:</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BOX&quot;</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">case</span> MatrixPattern::CROSS:</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CROSS&quot;</span>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">case</span> MatrixPattern::DISK:</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;DISK&quot;</span>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">case</span> MatrixPattern::OTHER:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;OTHER&quot;</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</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;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</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#l00261">Error.h:261</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013889</div><!-- fragment -->
13890</div>
13891</div>
13892<a class="anchor" id="a295edc9f8caf95838db2c5e251153514"></a>
13893<div class="memitem">
13894<div class="memproto">
13895 <table class="memname">
13896 <tr>
13897 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
13898 <td>(</td>
13899 <td class="paramtype">::std::ostream &amp;&#160;</td>
13900 <td class="paramname"><em>os</em>, </td>
13901 </tr>
13902 <tr>
13903 <td class="paramkey"></td>
13904 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013905 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013906 <td class="paramname"><em>rounding_policy</em>&#160;</td>
13907 </tr>
13908 <tr>
13909 <td></td>
13910 <td>)</td>
13911 <td></td><td></td>
13912 </tr>
13913 </table>
13914</div><div class="memdoc">
13915
13916<p>Formatted output of the RoundingPolicy type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010013917<dl class="params"><dt>Parameters</dt><dd>
13918 <table class="params">
13919 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
13920 <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Type to output.</td></tr>
13921 </table>
13922 </dd>
13923</dl>
13924<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013925
Jenkins52ba29e2018-08-29 15:32:11 +000013926<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00175">175</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010013927
Jenkins52ba29e2018-08-29 15:32:11 +000013928<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, and <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>.</p>
13929<div class="fragment"><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; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>)</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">case</span> RoundingPolicy::TO_ZERO:</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_ZERO&quot;</span>;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_UP&quot;</span>;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_EVEN:</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TO_NEAREST_EVEN&quot;</span>;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</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#l00261">Error.h:261</a></div></div>
13930<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a60ad1078faeaf3f59266d69ad937339f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">arm_compute::test::validation::rounding_policy</a></div><div class="ttdeci">rounding_policy</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">PixelWiseMultiplication.cpp:168</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010013931</div><!-- fragment -->
13932</div>
13933</div>
13934<a class="anchor" id="a5972c7131d378f567af9c2961f088a0b"></a>
13935<div class="memitem">
13936<div class="memproto">
13937 <table class="memname">
13938 <tr>
13939 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
13940 <td>(</td>
13941 <td class="paramtype">::std::ostream &amp;&#160;</td>
13942 <td class="paramname"><em>os</em>, </td>
13943 </tr>
13944 <tr>
13945 <td class="paramkey"></td>
13946 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013947 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013948 <td class="paramname"><em>weights_info</em>&#160;</td>
13949 </tr>
13950 <tr>
13951 <td></td>
13952 <td>)</td>
13953 <td></td><td></td>
13954 </tr>
13955 </table>
13956</div><div class="memdoc">
13957
13958<p>Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010013959<dl class="params"><dt>Parameters</dt><dd>
13960 <table class="params">
13961 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
13962 <tr><td class="paramdir">[in]</td><td class="paramname">weights_info</td><td>Type to output.</td></tr>
13963 </table>
13964 </dd>
13965</dl>
13966<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010013967
Jenkins52ba29e2018-08-29 15:32:11 +000013968<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00202">202</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010013969
Jenkins52ba29e2018-08-29 15:32:11 +000013970<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00998">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01014">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01006">WeightsInfo::num_kernels()</a>.</p>
13971<div class="fragment"><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; os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.are_reshaped() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.num_kernels() &lt;&lt; <span class="stringliteral">&quot;;&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">weights_info</a>.kernel_size().second;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7cb842ebfe255726066039853a4322f0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7cb842ebfe255726066039853a4322f0">arm_compute::test::validation::weights_info</a></div><div class="ttdeci">weights_info</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00572">Winograd.cpp:572</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010013972</div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010013973</div>
13974</div>
13975<a class="anchor" id="a352b805b77fde4f32f44af271580677b"></a>
13976<div class="memitem">
13977<div class="memproto">
13978 <table class="memname">
13979 <tr>
13980 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
13981 <td>(</td>
13982 <td class="paramtype">::std::ostream &amp;&#160;</td>
13983 <td class="paramname"><em>os</em>, </td>
13984 </tr>
13985 <tr>
13986 <td class="paramkey"></td>
13987 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000013988 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010013989 <td class="paramname"><em>pool_info</em>&#160;</td>
13990 </tr>
13991 <tr>
13992 <td></td>
13993 <td>)</td>
13994 <td></td><td></td>
13995 </tr>
13996 </table>
13997</div><div class="memdoc">
13998
13999<p>Formatted output of the ROIPoolingInfo type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014000<dl class="params"><dt>Parameters</dt><dd>
14001 <table class="params">
14002 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14003 <tr><td class="paramdir">[in]</td><td class="paramname">pool_info</td><td>Type to output.</td></tr>
14004 </table>
14005 </dd>
14006</dl>
14007<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014008
Jenkins52ba29e2018-08-29 15:32:11 +000014009<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00217">217</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014010
Jenkins52ba29e2018-08-29 15:32:11 +000014011<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00822">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00817">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00827">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
14012<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;{</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; os &lt;&lt; pool_info.pooled_width() &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; pool_info.pooled_height() &lt;&lt; <span class="stringliteral">&quot;~&quot;</span> &lt;&lt; pool_info.spatial_scale();</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014013</div>
14014</div>
14015<a class="anchor" id="a32a5556a927543fe57c0d7b82c20e9b4"></a>
14016<div class="memitem">
14017<div class="memproto">
14018 <table class="memname">
14019 <tr>
14020 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14021 <td>(</td>
14022 <td class="paramtype">::std::ostream &amp;&#160;</td>
14023 <td class="paramname"><em>os</em>, </td>
14024 </tr>
14025 <tr>
14026 <td class="paramkey"></td>
14027 <td></td>
14028 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &amp;&#160;</td>
14029 <td class="paramname"><em>quantization_info</em>&#160;</td>
14030 </tr>
14031 <tr>
14032 <td></td>
14033 <td>)</td>
14034 <td></td><td></td>
14035 </tr>
14036 </table>
14037</div><div class="memdoc">
14038
14039<p>Formatted output of the <a class="el" href="structarm__compute_1_1_quantization_info.xhtml" title="Quantization settings (used for QASYMM8 data type) ">QuantizationInfo</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014040<dl class="params"><dt>Parameters</dt><dd>
14041 <table class="params">
14042 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14043 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Type to output.</td></tr>
14044 </table>
14045 </dd>
14046</dl>
14047<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014048
Jenkins52ba29e2018-08-29 15:32:11 +000014049<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00230">230</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014050
Jenkins52ba29e2018-08-29 15:32:11 +000014051<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00166">QuantizationInfo::offset</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00165">QuantizationInfo::scale</a>.</p>
14052<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; os &lt;&lt; <span class="stringliteral">&quot;Scale:&quot;</span> &lt;&lt; quantization_info.scale &lt;&lt; <span class="stringliteral">&quot;~&quot;</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Offset:&quot;</span> &lt;&lt; quantization_info.offset;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010014053</div>
14054</div>
14055<a class="anchor" id="a9d79efe2673aeb3f9a9160b6a78de50c"></a>
14056<div class="memitem">
14057<div class="memproto">
14058 <table class="memname">
14059 <tr>
14060 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14061 <td>(</td>
14062 <td class="paramtype">::std::ostream &amp;&#160;</td>
14063 <td class="paramname"><em>os</em>, </td>
14064 </tr>
14065 <tr>
14066 <td class="paramkey"></td>
14067 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014068 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014069 <td class="paramname"><em>act_function</em>&#160;</td>
14070 </tr>
14071 <tr>
14072 <td></td>
14073 <td>)</td>
14074 <td></td><td></td>
14075 </tr>
14076 </table>
14077</div><div class="memdoc">
14078
14079<p>Formatted output of the activation function type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014080<dl class="params"><dt>Parameters</dt><dd>
14081 <table class="params">
14082 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14083 <tr><td class="paramdir">[in]</td><td class="paramname">act_function</td><td>Type to output.</td></tr>
14084 </table>
14085 </dd>
14086</dl>
14087<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014088
Jenkins52ba29e2018-08-29 15:32:11 +000014089<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00257">257</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014090
Jenkins52ba29e2018-08-29 15:32:11 +000014091<p>References <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa7d8a220d2262f9d6c658d549ee12cf2c">ActivationLayerInfo::ABS</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaacc516ab03b98f1c908ddf6ed4a7c45e9">ActivationLayerInfo::BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaac7e80a3de04936f4e423e1b564fdca10">ActivationLayerInfo::LEAKY_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaaac544aacc3615aada24897a215f5046">ActivationLayerInfo::LINEAR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa72ee60fba0509af07cbbd91398d8db9d">ActivationLayerInfo::LOGISTIC</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaab1d4411a9e7f5e82002512cddfdc33a">ActivationLayerInfo::LU_BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaad346bb4679d29be241279f15d7795c1c">ActivationLayerInfo::RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaadcc44a50c791a591c74e00ecdda7c58d">ActivationLayerInfo::SOFT_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa36875f2500a09ee35d0bb7eb8c0b91b0">ActivationLayerInfo::SQRT</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa12dec4e1f7ec620651b2b95c440ffac0">ActivationLayerInfo::SQUARE</a>, and <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa143c8c6f51b9bb893ce71e38702e3cc1">ActivationLayerInfo::TANH</a>.</p>
14092<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;{</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">switch</span>(act_function)</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;ABS&quot;</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LINEAR&quot;</span>;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LOGISTIC&quot;</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RELU&quot;</span>;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LEAKY_RELU&quot;</span>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SOFT_RELU&quot;</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQRT&quot;</span>;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;LU_BOUNDED_RELU&quot;</span>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SQUARE&quot;</span>;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TANH&quot;</span>;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</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;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</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#l00261">Error.h:261</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014093</div><!-- fragment -->
14094</div>
14095</div>
14096<a class="anchor" id="a2ab7370aab6e5698990c50c8871fa6fb"></a>
14097<div class="memitem">
14098<div class="memproto">
14099 <table class="memname">
14100 <tr>
14101 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14102 <td>(</td>
14103 <td class="paramtype">::std::ostream &amp;&#160;</td>
14104 <td class="paramname"><em>os</em>, </td>
14105 </tr>
14106 <tr>
14107 <td class="paramkey"></td>
14108 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014109 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014110 <td class="paramname"><em>norm_type</em>&#160;</td>
14111 </tr>
14112 <tr>
14113 <td></td>
14114 <td>)</td>
14115 <td></td><td></td>
14116 </tr>
14117 </table>
14118</div><div class="memdoc">
14119
14120<p>Formatted output of the NormType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014121<dl class="params"><dt>Parameters</dt><dd>
14122 <table class="params">
14123 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14124 <tr><td class="paramdir">[in]</td><td class="paramname">norm_type</td><td>Type to output.</td></tr>
14125 </table>
14126 </dd>
14127</dl>
14128<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014129
Jenkins52ba29e2018-08-29 15:32:11 +000014130<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00337">337</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014131
Jenkins52ba29e2018-08-29 15:32:11 +000014132<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, and <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>.</p>
14133<div class="fragment"><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;{</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">case</span> NormType::CROSS_MAP:</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CROSS_MAP&quot;</span>;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_1D&quot;</span>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IN_MAP_2D&quot;</span>;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><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;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</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#l00261">Error.h:261</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014134</div><!-- fragment -->
14135</div>
14136</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010014137<a class="anchor" id="a6e422c610c91f611590173cd595c94c5"></a>
14138<div class="memitem">
14139<div class="memproto">
14140 <table class="memname">
14141 <tr>
14142 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14143 <td>(</td>
14144 <td class="paramtype">::std::ostream &amp;&#160;</td>
14145 <td class="paramname"><em>os</em>, </td>
14146 </tr>
14147 <tr>
14148 <td class="paramkey"></td>
14149 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014150 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> &amp;&#160;</td>
Kaizenbf8b01d2017-10-12 14:26:51 +010014151 <td class="paramname"><em>info</em>&#160;</td>
14152 </tr>
14153 <tr>
14154 <td></td>
14155 <td>)</td>
14156 <td></td><td></td>
14157 </tr>
14158 </table>
14159</div><div class="memdoc">
14160
14161<p>Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014162<dl class="params"><dt>Parameters</dt><dd>
14163 <table class="params">
14164 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14165 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
14166 </table>
14167 </dd>
14168</dl>
14169<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizenbf8b01d2017-10-12 14:26:51 +010014170
Jenkins52ba29e2018-08-29 15:32:11 +000014171<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00377">377</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizenbf8b01d2017-10-12 14:26:51 +010014172
Jenkins52ba29e2018-08-29 15:32:11 +000014173<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00922">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00917">NormalizationLayerInfo::type()</a>.</p>
14174<div class="fragment"><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;{</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.type() &lt;&lt; <span class="stringliteral">&quot;:NormSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.norm_size();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Kaizenbf8b01d2017-10-12 14:26:51 +010014175</div><!-- fragment -->
14176</div>
14177</div>
Kaizen8938bd32017-09-28 14:38:23 +010014178<a class="anchor" id="a336cf1e870f467e44c184587a13feeec"></a>
14179<div class="memitem">
14180<div class="memproto">
14181 <table class="memname">
14182 <tr>
14183 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14184 <td>(</td>
14185 <td class="paramtype">::std::ostream &amp;&#160;</td>
14186 <td class="paramname"><em>os</em>, </td>
14187 </tr>
14188 <tr>
14189 <td class="paramkey"></td>
14190 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014191 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014192 <td class="paramname"><em>pool_type</em>&#160;</td>
14193 </tr>
14194 <tr>
14195 <td></td>
14196 <td>)</td>
14197 <td></td><td></td>
14198 </tr>
14199 </table>
14200</div><div class="memdoc">
14201
14202<p>Formatted output of the PoolingType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014203<dl class="params"><dt>Parameters</dt><dd>
14204 <table class="params">
14205 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14206 <tr><td class="paramdir">[in]</td><td class="paramname">pool_type</td><td>Type to output.</td></tr>
14207 </table>
14208 </dd>
14209</dl>
14210<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014211
Jenkins52ba29e2018-08-29 15:32:11 +000014212<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00390">390</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014213
Jenkins52ba29e2018-08-29 15:32:11 +000014214<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>.</p>
14215<div class="fragment"><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;{</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">switch</span>(pool_type)</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AVG&quot;</span>;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">case</span> PoolingType::MAX:</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MAX&quot;</span>;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2&quot;</span>;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</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#l00261">Error.h:261</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014216</div><!-- fragment -->
14217</div>
14218</div>
14219<a class="anchor" id="ae72a61a2ca5c962ab1d37065e5598060"></a>
14220<div class="memitem">
14221<div class="memproto">
14222 <table class="memname">
14223 <tr>
14224 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14225 <td>(</td>
14226 <td class="paramtype">::std::ostream &amp;&#160;</td>
14227 <td class="paramname"><em>os</em>, </td>
14228 </tr>
14229 <tr>
14230 <td class="paramkey"></td>
14231 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014232 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014233 <td class="paramname"><em>info</em>&#160;</td>
14234 </tr>
14235 <tr>
14236 <td></td>
14237 <td>)</td>
14238 <td></td><td></td>
14239 </tr>
14240 </table>
14241</div><div class="memdoc">
14242
14243<p>Formatted output of <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a>. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014244<dl class="params"><dt>Parameters</dt><dd>
14245 <table class="params">
14246 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14247 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
14248 </table>
14249 </dd>
14250</dl>
14251<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014252
Jenkins52ba29e2018-08-29 15:32:11 +000014253<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00417">417</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014254
Jenkins52ba29e2018-08-29 15:32:11 +000014255<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PoolingLayerInfo::pool_type()</a>.</p>
14256<div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;{</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; os &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div><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="keywordflow">return</span> os;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010014257</div><!-- fragment -->
14258</div>
14259</div>
14260<a class="anchor" id="a1698cb24508a2bc45962bc887f18a8d0"></a>
14261<div class="memitem">
14262<div class="memproto">
14263 <table class="memname">
14264 <tr>
14265 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14266 <td>(</td>
14267 <td class="paramtype">::std::ostream &amp;&#160;</td>
14268 <td class="paramname"><em>os</em>, </td>
14269 </tr>
14270 <tr>
14271 <td class="paramkey"></td>
14272 <td></td>
14273 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> &amp;&#160;</td>
14274 <td class="paramname"><em>data_layout</em>&#160;</td>
14275 </tr>
14276 <tr>
14277 <td></td>
14278 <td>)</td>
14279 <td></td><td></td>
14280 </tr>
14281 </table>
14282</div><div class="memdoc">
14283
14284<p>Formatted output of the DataLayout type. </p>
14285<dl class="params"><dt>Parameters</dt><dd>
14286 <table class="params">
14287 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14288 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Type to output.</td></tr>
14289 </table>
14290 </dd>
14291</dl>
14292<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
14293
Jenkins52ba29e2018-08-29 15:32:11 +000014294<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00444">444</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014295
Jenkins52ba29e2018-08-29 15:32:11 +000014296<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">NCHW</a>, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">NHWC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
14297<div class="fragment"><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;{</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a>)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">case</span> DataLayout::UNKNOWN:</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">case</span> DataLayout::NHWC:</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NHWC&quot;</span>;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">case</span> DataLayout::NCHW:</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NCHW&quot;</span>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</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#l00261">Error.h:261</a></div></div>
14298<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</a></div></div>
14299</div><!-- fragment -->
14300</div>
14301</div>
14302<a class="anchor" id="adec19acb64bfca26fa53ef76f03b79ef"></a>
14303<div class="memitem">
14304<div class="memproto">
14305 <table class="memname">
14306 <tr>
14307 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14308 <td>(</td>
14309 <td class="paramtype">::std::ostream &amp;&#160;</td>
14310 <td class="paramname"><em>os</em>, </td>
14311 </tr>
14312 <tr>
14313 <td class="paramkey"></td>
14314 <td></td>
14315 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02">DataLayoutDimension</a> &amp;&#160;</td>
14316 <td class="paramname"><em>data_layout_dim</em>&#160;</td>
14317 </tr>
14318 <tr>
14319 <td></td>
14320 <td>)</td>
14321 <td></td><td></td>
14322 </tr>
14323 </table>
14324</div><div class="memdoc">
14325
14326<p>Formatted output of the DataLayoutDimension type. </p>
14327<dl class="params"><dt>Parameters</dt><dd>
14328 <table class="params">
14329 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14330 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout_dim</td><td>Data layout dimension to print.</td></tr>
14331 </table>
14332 </dd>
14333</dl>
14334<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
14335
14336<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00484">484</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
14337
14338<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a628bcf7e10fc1c2a984f379a1ec3393a">BATCHES</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02af52e9c50a060add65a035429b2a22229">CHANNEL</a>, <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02ad770ba3ce18fa409965dfdf5e7c348e6">HEIGHT</a>, and <a class="el" href="namespacearm__compute.xhtml#a74ce3f7420453d3446218ff3b7453e02a49da85b69bc6285eeee286ca49fa7195">WIDTH</a>.</p>
14339<div class="fragment"><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;{</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">switch</span>(data_layout_dim)</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; <span class="keywordflow">case</span> DataLayoutDimension::WIDTH:</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WIDTH&quot;</span>;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::HEIGHT:</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;HEIGHT&quot;</span>;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::CHANNEL:</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CHANNEL&quot;</span>;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">case</span> DataLayoutDimension::BATCHES:</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BATCHES&quot;</span>;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</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#l00261">Error.h:261</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014340</div><!-- fragment -->
14341</div>
14342</div>
14343<a class="anchor" id="a685af15532d70b8682bcc52f06f034f9"></a>
14344<div class="memitem">
14345<div class="memproto">
14346 <table class="memname">
14347 <tr>
14348 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14349 <td>(</td>
14350 <td class="paramtype">::std::ostream &amp;&#160;</td>
14351 <td class="paramname"><em>os</em>, </td>
14352 </tr>
14353 <tr>
14354 <td class="paramkey"></td>
14355 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014356 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014357 <td class="paramname"><em>data_type</em>&#160;</td>
14358 </tr>
14359 <tr>
14360 <td></td>
14361 <td>)</td>
14362 <td></td><td></td>
14363 </tr>
14364 </table>
14365</div><div class="memdoc">
14366
14367<p>Formatted output of the DataType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014368<dl class="params"><dt>Parameters</dt><dd>
14369 <table class="params">
14370 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14371 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Type to output.</td></tr>
14372 </table>
14373 </dd>
14374</dl>
14375<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014376
Jenkins52ba29e2018-08-29 15:32:11 +000014377<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00513">513</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014378
Jenkins52ba29e2018-08-29 15:32:11 +000014379<p>References <a class="el" href="_error_8h_source.xhtml#l00261">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#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
14380<div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;{</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; {</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;QASYMM8&quot;</span>;</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S8&quot;</span>;</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U64&quot;</span>;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S64&quot;</span>;</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F64&quot;</span>;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SIZET&quot;</span>;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</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#l00261">Error.h:261</a></div></div>
14381<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014382</div><!-- fragment -->
14383</div>
14384</div>
14385<a class="anchor" id="a3b22e54b0ac0204c3b89aebcd695fa03"></a>
14386<div class="memitem">
14387<div class="memproto">
14388 <table class="memname">
14389 <tr>
14390 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14391 <td>(</td>
14392 <td class="paramtype">::std::ostream &amp;&#160;</td>
14393 <td class="paramname"><em>os</em>, </td>
14394 </tr>
14395 <tr>
14396 <td class="paramkey"></td>
14397 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014398 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014399 <td class="paramname"><em>format</em>&#160;</td>
14400 </tr>
14401 <tr>
14402 <td></td>
14403 <td>)</td>
14404 <td></td><td></td>
14405 </tr>
14406 </table>
14407</div><div class="memdoc">
14408
14409<p>Formatted output of the Format type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014410<dl class="params"><dt>Parameters</dt><dd>
14411 <table class="params">
14412 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14413 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Type to output.</td></tr>
14414 </table>
14415 </dd>
14416</dl>
14417<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014418
Jenkins52ba29e2018-08-29 15:32:11 +000014419<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00586">586</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014420
Jenkins52ba29e2018-08-29 15:32:11 +000014421<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
14422<div class="fragment"><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;{</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; {</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U8&quot;</span>;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S16&quot;</span>;</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U16&quot;</span>;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;S32&quot;</span>;</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U32&quot;</span>;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F16&quot;</span>;</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;F32&quot;</span>;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UV88&quot;</span>;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGB888&quot;</span>;</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;RGBA8888&quot;</span>;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUV444&quot;</span>;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;YUYV422&quot;</span>;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV12&quot;</span>;</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NV21&quot;</span>;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;IYUV&quot;</span>;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UYVY422&quot;</span>;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</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;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</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#l00261">Error.h:261</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014423</div><!-- fragment -->
14424</div>
14425</div>
14426<a class="anchor" id="aa66be15c012986ebd4c1934b97e08a36"></a>
14427<div class="memitem">
14428<div class="memproto">
14429 <table class="memname">
14430 <tr>
14431 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14432 <td>(</td>
14433 <td class="paramtype">::std::ostream &amp;&#160;</td>
14434 <td class="paramname"><em>os</em>, </td>
14435 </tr>
14436 <tr>
14437 <td class="paramkey"></td>
14438 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014439 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014440 <td class="paramname"><em>channel</em>&#160;</td>
14441 </tr>
14442 <tr>
14443 <td></td>
14444 <td>)</td>
14445 <td></td><td></td>
14446 </tr>
14447 </table>
14448</div><div class="memdoc">
14449
14450<p>Formatted output of the Channel type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014451<dl class="params"><dt>Parameters</dt><dd>
14452 <table class="params">
14453 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14454 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Type to output.</td></tr>
14455 </table>
14456 </dd>
14457</dl>
14458<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014459
Jenkins52ba29e2018-08-29 15:32:11 +000014460<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00668">668</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014461
Jenkins52ba29e2018-08-29 15:32:11 +000014462<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>.</p>
14463<div class="fragment"><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; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; {</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNKNOWN&quot;</span>;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C0&quot;</span>;</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C1&quot;</span>;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C2&quot;</span>;</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;C3&quot;</span>;</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;R&quot;</span>;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G&quot;</span>;</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;B&quot;</span>;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A&quot;</span>;</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Y&quot;</span>;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;U&quot;</span>;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;V&quot;</span>;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</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;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</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#l00261">Error.h:261</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014464</div><!-- fragment -->
14465</div>
14466</div>
14467<a class="anchor" id="a7929032d41d5f23cd1778a70508d0219"></a>
14468<div class="memitem">
14469<div class="memproto">
14470 <table class="memname">
14471 <tr>
14472 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14473 <td>(</td>
14474 <td class="paramtype">::std::ostream &amp;&#160;</td>
14475 <td class="paramname"><em>os</em>, </td>
14476 </tr>
14477 <tr>
14478 <td class="paramkey"></td>
14479 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014480 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014481 <td class="paramname"><em>mode</em>&#160;</td>
14482 </tr>
14483 <tr>
14484 <td></td>
14485 <td>)</td>
14486 <td></td><td></td>
14487 </tr>
14488 </table>
14489</div><div class="memdoc">
14490
14491<p>Formatted output of the BorderMode type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014492<dl class="params"><dt>Parameters</dt><dd>
14493 <table class="params">
14494 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14495 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Type to output.</td></tr>
14496 </table>
14497 </dd>
14498</dl>
14499<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014500
Jenkins52ba29e2018-08-29 15:32:11 +000014501<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00735">735</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014502
Jenkins52ba29e2018-08-29 15:32:11 +000014503<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
14504<div class="fragment"><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;{</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">switch</span>(mode)</div><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; <span class="keywordflow">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNDEFINED&quot;</span>;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CONSTANT&quot;</span>;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;REPLICATE&quot;</span>;</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; }</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; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</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#l00261">Error.h:261</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014505</div><!-- fragment -->
14506</div>
14507</div>
14508<a class="anchor" id="af32c4c5cdd0efde09774eb803bc8a0bd"></a>
14509<div class="memitem">
14510<div class="memproto">
14511 <table class="memname">
14512 <tr>
14513 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14514 <td>(</td>
14515 <td class="paramtype">::std::ostream &amp;&#160;</td>
14516 <td class="paramname"><em>os</em>, </td>
14517 </tr>
14518 <tr>
14519 <td class="paramkey"></td>
14520 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014521 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014522 <td class="paramname"><em>border</em>&#160;</td>
14523 </tr>
14524 <tr>
14525 <td></td>
14526 <td>)</td>
14527 <td></td><td></td>
14528 </tr>
14529 </table>
14530</div><div class="memdoc">
14531
14532<p>Formatted output of the <a class="el" href="structarm__compute_1_1_border_size.xhtml" title="Container for 2D border size. ">BorderSize</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014533<dl class="params"><dt>Parameters</dt><dd>
14534 <table class="params">
14535 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14536 <tr><td class="paramdir">[in]</td><td class="paramname">border</td><td>Type to output.</td></tr>
14537 </table>
14538 </dd>
14539</dl>
14540<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014541
Jenkins52ba29e2018-08-29 15:32:11 +000014542<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00762">762</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010014543
Jenkins52ba29e2018-08-29 15:32:11 +000014544<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00371">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00372">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00370">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00369">BorderSize::top</a>.</p>
14545<div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;{</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; os &lt;&lt; border.top &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; &lt;&lt; border.right &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; &lt;&lt; border.bottom &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; &lt;&lt; border.left;</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010014546</div>
14547</div>
14548<a class="anchor" id="a509047aefc691398f1bb60b1f967a98b"></a>
14549<div class="memitem">
14550<div class="memproto">
14551 <table class="memname">
14552 <tr>
14553 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14554 <td>(</td>
14555 <td class="paramtype">::std::ostream &amp;&#160;</td>
14556 <td class="paramname"><em>os</em>, </td>
14557 </tr>
14558 <tr>
14559 <td class="paramkey"></td>
14560 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014561 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014562 <td class="paramname"><em>policy</em>&#160;</td>
14563 </tr>
14564 <tr>
14565 <td></td>
14566 <td>)</td>
14567 <td></td><td></td>
14568 </tr>
14569 </table>
14570</div><div class="memdoc">
14571
14572<p>Formatted output of the InterpolationPolicy type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014573<dl class="params"><dt>Parameters</dt><dd>
14574 <table class="params">
14575 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14576 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
14577 </table>
14578 </dd>
14579</dl>
14580<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014581
Jenkins52ba29e2018-08-29 15:32:11 +000014582<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00779">779</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014583
Jenkins52ba29e2018-08-29 15:32:11 +000014584<p>References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, and <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>.</p>
14585<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;{</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; {</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;NEAREST_NEIGHBOR&quot;</span>;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BILINEAR&quot;</span>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;AREA&quot;</span>;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</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;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</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#l00261">Error.h:261</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014586</div><!-- fragment -->
14587</div>
14588</div>
14589<a class="anchor" id="aab8eb6dc1ba89bb8a69f1c3845988a2b"></a>
14590<div class="memitem">
14591<div class="memproto">
14592 <table class="memname">
14593 <tr>
14594 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14595 <td>(</td>
14596 <td class="paramtype">::std::ostream &amp;&#160;</td>
14597 <td class="paramname"><em>os</em>, </td>
14598 </tr>
14599 <tr>
14600 <td class="paramkey"></td>
14601 <td></td>
14602 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &amp;&#160;</td>
14603 <td class="paramname"><em>policy</em>&#160;</td>
14604 </tr>
14605 <tr>
14606 <td></td>
14607 <td>)</td>
14608 <td></td><td></td>
14609 </tr>
14610 </table>
14611</div><div class="memdoc">
14612
14613<p>Formatted output of the SamplingPolicy type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014614<dl class="params"><dt>Parameters</dt><dd>
14615 <table class="params">
14616 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14617 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
14618 </table>
14619 </dd>
14620</dl>
14621<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014622
Jenkins52ba29e2018-08-29 15:32:11 +000014623<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00806">806</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014624
Jenkins52ba29e2018-08-29 15:32:11 +000014625<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, and <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>.</p>
14626<div class="fragment"><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; <span class="keywordflow">switch</span>(policy)</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="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;CENTER&quot;</span>;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TOP_LEFT&quot;</span>;</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; }</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</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#l00261">Error.h:261</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014627</div><!-- fragment -->
14628</div>
14629</div>
Jenkins52ba29e2018-08-29 15:32:11 +000014630<a class="anchor" id="ab398837465010958bfccff032ad1ee51"></a>
14631<div class="memitem">
14632<div class="memproto">
14633 <table class="memname">
14634 <tr>
14635 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14636 <td>(</td>
14637 <td class="paramtype">::std::ostream &amp;&#160;</td>
14638 <td class="paramname"><em>os</em>, </td>
14639 </tr>
14640 <tr>
14641 <td class="paramkey"></td>
14642 <td></td>
14643 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
14644 <td class="paramname"><em>info</em>&#160;</td>
14645 </tr>
14646 <tr>
14647 <td></td>
14648 <td>)</td>
14649 <td></td><td></td>
14650 </tr>
14651 </table>
14652</div><div class="memdoc">
14653
14654<p>Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_info.xhtml" title="Store the tensor&#39;s metadata. ">TensorInfo</a> type. </p>
14655<dl class="params"><dt>Parameters</dt><dd>
14656 <table class="params">
14657 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14658 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
14659 </table>
14660 </dd>
14661</dl>
14662<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
14663
14664<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00830">830</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
14665
14666<p>References <a class="el" href="_tensor_info_8h_source.xhtml#l00256">TensorInfo::data_type()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00248">TensorInfo::num_channels()</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00252">TensorInfo::tensor_shape()</a>.</p>
14667<div class="fragment"><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160;{</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{Shape=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Type=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Channels=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_channels() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
14668</div><!-- fragment -->
14669</div>
14670</div>
14671<a class="anchor" id="a0fc75dce8064a37effa5e71344b6a5d2"></a>
14672<div class="memitem">
14673<div class="memproto">
14674 <table class="memname">
14675 <tr>
14676 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14677 <td>(</td>
14678 <td class="paramtype">::std::ostream &amp;&#160;</td>
14679 <td class="paramname"><em>os</em>, </td>
14680 </tr>
14681 <tr>
14682 <td class="paramkey"></td>
14683 <td></td>
14684 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;&#160;</td>
14685 <td class="paramname"><em>info</em>&#160;</td>
14686 </tr>
14687 <tr>
14688 <td></td>
14689 <td>)</td>
14690 <td></td><td></td>
14691 </tr>
14692 </table>
14693</div><div class="memdoc">
14694
14695<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. </p>
14696<dl class="params"><dt>Parameters</dt><dd>
14697 <table class="params">
14698 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14699 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
14700 </table>
14701 </dd>
14702</dl>
14703<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
14704
14705<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00910">910</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
14706
14707<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01084">GEMMReshapeInfo::k()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01068">GEMMReshapeInfo::m()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01100">GEMMReshapeInfo::mult_interleave4x4_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01092">GEMMReshapeInfo::mult_transpose1xW_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01076">GEMMReshapeInfo::n()</a>.</p>
14708<div class="fragment"><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160;{</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{m=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.m() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;n=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.n() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;k=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.k() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;mult_transpose1xW_width=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.mult_transpose1xW_width() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;mult_interleave4x4_height=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.mult_interleave4x4_height();</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
14709</div><!-- fragment -->
14710</div>
14711</div>
14712<a class="anchor" id="a5fdae5de2d2cf2e7957f0299d17ce5ec"></a>
14713<div class="memitem">
14714<div class="memproto">
14715 <table class="memname">
14716 <tr>
14717 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14718 <td>(</td>
14719 <td class="paramtype">::std::ostream &amp;&#160;</td>
14720 <td class="paramname"><em>os</em>, </td>
14721 </tr>
14722 <tr>
14723 <td class="paramkey"></td>
14724 <td></td>
14725 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;&#160;</td>
14726 <td class="paramname"><em>info</em>&#160;</td>
14727 </tr>
14728 <tr>
14729 <td></td>
14730 <td>)</td>
14731 <td></td><td></td>
14732 </tr>
14733 </table>
14734</div><div class="memdoc">
14735
14736<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. </p>
14737<dl class="params"><dt>Parameters</dt><dd>
14738 <table class="params">
14739 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14740 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
14741 </table>
14742 </dd>
14743</dl>
14744<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
14745
14746<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00929">929</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
14747
14748<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01167">GEMMInfo::is_a_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01175">GEMMInfo::is_b_reshaped()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01185">GEMMInfo::reshape_b_only_on_first_run()</a>.</p>
14749<div class="fragment"><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160;{</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{is_a_reshaped=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_a_reshaped() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;is_b_reshaped=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_b_reshaped() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;reshape_b_only_on_first_run=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.reshape_b_only_on_first_run() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160;</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
14750</div><!-- fragment -->
14751</div>
14752</div>
14753<a class="anchor" id="a6ed8dc0f587448d14a1a33cbd5fc4f70"></a>
14754<div class="memitem">
14755<div class="memproto">
14756 <table class="memname">
14757 <tr>
14758 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14759 <td>(</td>
14760 <td class="paramtype">::std::ostream &amp;&#160;</td>
14761 <td class="paramname"><em>os</em>, </td>
14762 </tr>
14763 <tr>
14764 <td class="paramkey"></td>
14765 <td></td>
14766 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;&#160;</td>
14767 <td class="paramname"><em>dim</em>&#160;</td>
14768 </tr>
14769 <tr>
14770 <td></td>
14771 <td>)</td>
14772 <td></td><td></td>
14773 </tr>
14774 </table>
14775</div><div class="memdoc">
14776
14777<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image&#39;s dimensions with a start, end and step. ">Window::Dimension</a> type. </p>
14778<dl class="params"><dt>Parameters</dt><dd>
14779 <table class="params">
14780 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14781 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output.</td></tr>
14782 </table>
14783 </dd>
14784</dl>
14785<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
14786
14787<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00946">946</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
14788
14789<p>References <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, and <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>.</p>
14790<div class="fragment"><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;{</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{start=&quot;</span> &lt;&lt; dim.start() &lt;&lt; <span class="stringliteral">&quot;, end=&quot;</span> &lt;&lt; dim.end() &lt;&lt; <span class="stringliteral">&quot;, step=&quot;</span> &lt;&lt; dim.step() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160;</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;}</div></div><!-- fragment -->
14791</div>
14792</div>
14793<a class="anchor" id="afc6e49991e36423027a467eab1e405b2"></a>
14794<div class="memitem">
14795<div class="memproto">
14796 <table class="memname">
14797 <tr>
14798 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14799 <td>(</td>
14800 <td class="paramtype">::std::ostream &amp;&#160;</td>
14801 <td class="paramname"><em>os</em>, </td>
14802 </tr>
14803 <tr>
14804 <td class="paramkey"></td>
14805 <td></td>
14806 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
14807 <td class="paramname"><em>win</em>&#160;</td>
14808 </tr>
14809 <tr>
14810 <td></td>
14811 <td>)</td>
14812 <td></td><td></td>
14813 </tr>
14814 </table>
14815</div><div class="memdoc">
14816
14817<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. </p>
14818<dl class="params"><dt>Parameters</dt><dd>
14819 <table class="params">
14820 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14821 <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td>Type to output.</td></tr>
14822 </table>
14823 </dd>
14824</dl>
14825<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
14826
14827<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00959">959</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
14828
14829<p>References <a class="el" href="_dimensions_8h_source.xhtml#l00045">Dimensions&lt; int &gt;::num_max_dimensions</a>.</p>
14830<div class="fragment"><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;{</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; Coordinates::num_max_dimensions; i++)</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; {</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="keywordflow">if</span>(i &gt; 0)</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; {</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; }</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; os &lt;&lt; win[i];</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; }</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160;</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160;}</div></div><!-- fragment -->
14831</div>
14832</div>
Kaizen8938bd32017-09-28 14:38:23 +010014833<a class="anchor" id="a17881750c427aedd95deba46a4366ace"></a>
14834<div class="memitem">
14835<div class="memproto">
14836 <table class="memname">
14837 <tr>
14838 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14839 <td>(</td>
14840 <td class="paramtype">::std::ostream &amp;&#160;</td>
14841 <td class="paramname"><em>os</em>, </td>
14842 </tr>
14843 <tr>
14844 <td class="paramkey"></td>
14845 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014846 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014847 <td class="paramname"><em>rect</em>&#160;</td>
14848 </tr>
14849 <tr>
14850 <td></td>
14851 <td>)</td>
14852 <td></td><td></td>
14853 </tr>
14854 </table>
14855</div><div class="memdoc">
14856
14857<p>Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014858<dl class="params"><dt>Parameters</dt><dd>
14859 <table class="params">
14860 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14861 <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>Type to output.</td></tr>
14862 </table>
14863 </dd>
14864</dl>
14865<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014866
Jenkins52ba29e2018-08-29 15:32:11 +000014867<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01046">1046</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014868
Jenkins52ba29e2018-08-29 15:32:11 +000014869<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00453">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00452">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00450">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00451">Rectangle::y</a>.</p>
14870<div class="fragment"><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;{</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; os &lt;&lt; rect.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; rect.height;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; rect.x &lt;&lt; <span class="stringliteral">&quot;+&quot;</span> &lt;&lt; rect.y;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010014871</div>
14872</div>
14873<a class="anchor" id="a8af36ae3a3613112c3a95e57f606359a"></a>
14874<div class="memitem">
14875<div class="memproto">
14876 <table class="memname">
14877 <tr>
14878 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14879 <td>(</td>
14880 <td class="paramtype">::std::ostream &amp;&#160;</td>
14881 <td class="paramname"><em>os</em>, </td>
14882 </tr>
14883 <tr>
14884 <td class="paramkey"></td>
14885 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014886 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014887 <td class="paramname"><em>pad_stride_info</em>&#160;</td>
14888 </tr>
14889 <tr>
14890 <td></td>
14891 <td>)</td>
14892 <td></td><td></td>
14893 </tr>
14894 </table>
14895</div><div class="memdoc">
14896
Jenkinsb3a371b2018-05-23 11:36:53 +010014897<p>Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> type. </p>
14898<dl class="params"><dt>Parameters</dt><dd>
14899 <table class="params">
14900 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14901 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Type to output.</td></tr>
14902 </table>
14903 </dd>
14904</dl>
14905<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014906
Jenkins52ba29e2018-08-29 15:32:11 +000014907<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01061">1061</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014908
Jenkins52ba29e2018-08-29 15:32:11 +000014909<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00658">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00643">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00648">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00653">PadStrideInfo::pad_top()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00617">PadStrideInfo::stride()</a>.</p>
14910<div class="fragment"><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;{</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; os &lt;&lt; pad_stride_info.stride().first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.stride().second;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;;&quot;</span>;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; os &lt;&lt; pad_stride_info.pad_left() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.pad_right() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; &lt;&lt; pad_stride_info.pad_top() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; pad_stride_info.pad_bottom();</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010014911</div>
14912</div>
14913<a class="anchor" id="a4287c6842a60e5f6bf309e55f8813527"></a>
14914<div class="memitem">
14915<div class="memproto">
14916 <table class="memname">
14917 <tr>
14918 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14919 <td>(</td>
14920 <td class="paramtype">::std::ostream &amp;&#160;</td>
14921 <td class="paramname"><em>os</em>, </td>
14922 </tr>
14923 <tr>
14924 <td class="paramkey"></td>
14925 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014926 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014927 <td class="paramname"><em>policy</em>&#160;</td>
14928 </tr>
14929 <tr>
14930 <td></td>
14931 <td>)</td>
14932 <td></td><td></td>
14933 </tr>
14934 </table>
14935</div><div class="memdoc">
14936
Jenkinsb3a371b2018-05-23 11:36:53 +010014937<p>Formatted output of the ConvertPolicy type. </p>
14938<dl class="params"><dt>Parameters</dt><dd>
14939 <table class="params">
14940 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14941 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
14942 </table>
14943 </dd>
14944</dl>
14945<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014946
Jenkins52ba29e2018-08-29 15:32:11 +000014947<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01143">1143</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014948
Jenkins52ba29e2018-08-29 15:32:11 +000014949<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>.</p>
14950<div class="fragment"><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;{</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; {</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WRAP&quot;</span>;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SATURATE&quot;</span>;</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; }</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</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#l00261">Error.h:261</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014951</div><!-- fragment -->
14952</div>
14953</div>
14954<a class="anchor" id="a292505a0ec686541cfe0dcfd1d651ec5"></a>
14955<div class="memitem">
14956<div class="memproto">
14957 <table class="memname">
14958 <tr>
14959 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
14960 <td>(</td>
14961 <td class="paramtype">::std::ostream &amp;&#160;</td>
14962 <td class="paramname"><em>os</em>, </td>
14963 </tr>
14964 <tr>
14965 <td class="paramkey"></td>
14966 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000014967 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010014968 <td class="paramname"><em>op</em>&#160;</td>
14969 </tr>
14970 <tr>
14971 <td></td>
14972 <td>)</td>
14973 <td></td><td></td>
14974 </tr>
14975 </table>
14976</div><div class="memdoc">
14977
14978<p>Formatted output of the Reduction Operations. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010014979<dl class="params"><dt>Parameters</dt><dd>
14980 <table class="params">
14981 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream. </td></tr>
14982 <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
14983 </table>
14984 </dd>
14985</dl>
14986<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010014987
Jenkins52ba29e2018-08-29 15:32:11 +000014988<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01174">1174</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010014989
Jenkins52ba29e2018-08-29 15:32:11 +000014990<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
14991<div class="fragment"><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;{</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; {</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SUM_SQUARE&quot;</span>;</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; }</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</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#l00261">Error.h:261</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010014992</div><!-- fragment -->
14993</div>
14994</div>
14995<a class="anchor" id="a9a2e48a508dc85b7280f955876bb4462"></a>
14996<div class="memitem">
14997<div class="memproto">
14998 <table class="memname">
14999 <tr>
15000 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15001 <td>(</td>
15002 <td class="paramtype">::std::ostream &amp;&#160;</td>
15003 <td class="paramname"><em>os</em>, </td>
15004 </tr>
15005 <tr>
15006 <td class="paramkey"></td>
15007 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015008 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010015009 <td class="paramname"><em>point</em>&#160;</td>
15010 </tr>
15011 <tr>
15012 <td></td>
15013 <td>)</td>
15014 <td></td><td></td>
15015 </tr>
15016 </table>
15017</div><div class="memdoc">
15018
15019<p>Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type. ">KeyPoint</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015020<dl class="params"><dt>Parameters</dt><dd>
15021 <table class="params">
15022 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15023 <tr><td class="paramdir">[in]</td><td class="paramname">point</td><td>Type to output.</td></tr>
15024 </table>
15025 </dd>
15026</dl>
15027<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010015028
Jenkins52ba29e2018-08-29 15:32:11 +000015029<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01255">1255</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010015030
Jenkins52ba29e2018-08-29 15:32:11 +000015031<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00441">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00439">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00438">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00437">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00440">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00435">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00436">KeyPoint::y</a>.</p>
15032<div class="fragment"><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;{</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{x=&quot;</span> &lt;&lt; point.x &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; &lt;&lt; <span class="stringliteral">&quot;y=&quot;</span> &lt;&lt; point.y &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; &lt;&lt; <span class="stringliteral">&quot;strength=&quot;</span> &lt;&lt; point.strength &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; &lt;&lt; <span class="stringliteral">&quot;scale=&quot;</span> &lt;&lt; point.scale &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; &lt;&lt; <span class="stringliteral">&quot;orientation=&quot;</span> &lt;&lt; point.orientation &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; &lt;&lt; <span class="stringliteral">&quot;tracking_status=&quot;</span> &lt;&lt; point.tracking_status &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; &lt;&lt; <span class="stringliteral">&quot;error=&quot;</span> &lt;&lt; point.error &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015033</div>
15034</div>
15035<a class="anchor" id="abe52a76af2aa88876d54ce8a5969e509"></a>
15036<div class="memitem">
15037<div class="memproto">
15038 <table class="memname">
15039 <tr>
15040 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15041 <td>(</td>
15042 <td class="paramtype">::std::ostream &amp;&#160;</td>
15043 <td class="paramname"><em>os</em>, </td>
15044 </tr>
15045 <tr>
15046 <td class="paramkey"></td>
15047 <td></td>
15048 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a> &amp;&#160;</td>
15049 <td class="paramname"><em>phase_type</em>&#160;</td>
15050 </tr>
15051 <tr>
15052 <td></td>
15053 <td>)</td>
15054 <td></td><td></td>
15055 </tr>
15056 </table>
15057</div><div class="memdoc">
15058
15059<p>Formatted output of the PhaseType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015060<dl class="params"><dt>Parameters</dt><dd>
15061 <table class="params">
15062 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15063 <tr><td class="paramdir">[in]</td><td class="paramname">phase_type</td><td>Type to output.</td></tr>
15064 </table>
15065 </dd>
15066</dl>
15067<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015068
Jenkins52ba29e2018-08-29 15:32:11 +000015069<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01275">1275</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015070
Jenkins52ba29e2018-08-29 15:32:11 +000015071<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, and <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>.</p>
15072<div class="fragment"><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;{</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; {</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;SIGNED&quot;</span>;</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; <span class="keywordflow">case</span> PhaseType::UNSIGNED:</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;UNSIGNED&quot;</span>;</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; }</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</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#l00261">Error.h:261</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010015073</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010015074</div>
15075</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015076<a class="anchor" id="a530d86eec3dbd22cab6336ffdceb0d37"></a>
15077<div class="memitem">
15078<div class="memproto">
15079 <table class="memname">
15080 <tr>
15081 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15082 <td>(</td>
15083 <td class="paramtype">::std::ostream &amp;&#160;</td>
15084 <td class="paramname"><em>os</em>, </td>
15085 </tr>
15086 <tr>
15087 <td class="paramkey"></td>
15088 <td></td>
15089 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a> &amp;&#160;</td>
15090 <td class="paramname"><em>magnitude_type</em>&#160;</td>
15091 </tr>
15092 <tr>
15093 <td></td>
15094 <td>)</td>
15095 <td></td><td></td>
15096 </tr>
15097 </table>
15098</div><div class="memdoc">
15099
15100<p>Formatted output of the MagnitudeType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015101<dl class="params"><dt>Parameters</dt><dd>
15102 <table class="params">
15103 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15104 <tr><td class="paramdir">[in]</td><td class="paramname">magnitude_type</td><td>Type to output.</td></tr>
15105 </table>
15106 </dd>
15107</dl>
15108<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015109
Jenkins52ba29e2018-08-29 15:32:11 +000015110<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01312">1312</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015111
Jenkins52ba29e2018-08-29 15:32:11 +000015112<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, and <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>.</p>
15113<div class="fragment"><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;{</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160; <span class="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; {</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L1NORM&quot;</span>;</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2NORM&quot;</span>;</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; }</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</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#l00261">Error.h:261</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015114</div><!-- fragment -->
15115</div>
15116</div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015117<a class="anchor" id="a5e7a61df2b926347b42ecadf8bcc8969"></a>
15118<div class="memitem">
15119<div class="memproto">
15120 <table class="memname">
15121 <tr>
15122 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15123 <td>(</td>
15124 <td class="paramtype">::std::ostream &amp;&#160;</td>
15125 <td class="paramname"><em>os</em>, </td>
15126 </tr>
15127 <tr>
15128 <td class="paramkey"></td>
15129 <td></td>
15130 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> &amp;&#160;</td>
15131 <td class="paramname"><em>norm_type</em>&#160;</td>
15132 </tr>
15133 <tr>
15134 <td></td>
15135 <td>)</td>
15136 <td></td><td></td>
15137 </tr>
15138 </table>
15139</div><div class="memdoc">
15140
15141<p>Formatted output of the HOGNormType type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015142<dl class="params"><dt>Parameters</dt><dd>
15143 <table class="params">
15144 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15145 <tr><td class="paramdir">[in]</td><td class="paramname">norm_type</td><td>Type to output</td></tr>
15146 </table>
15147 </dd>
15148</dl>
15149<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015150
Jenkins52ba29e2018-08-29 15:32:11 +000015151<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01349">1349</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015152
Jenkins52ba29e2018-08-29 15:32:11 +000015153<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a>, <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a>, and <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a>.</p>
15154<div class="fragment"><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;{</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; {</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; <span class="keywordflow">case</span> HOGNormType::L1_NORM:</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L1_NORM&quot;</span>;</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; <span class="keywordflow">case</span> HOGNormType::L2_NORM:</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2_NORM&quot;</span>;</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; <span class="keywordflow">case</span> HOGNormType::L2HYS_NORM:</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;L2HYS_NORM&quot;</span>;</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; }</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</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#l00261">Error.h:261</a></div></div>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015155</div><!-- fragment -->
15156</div>
15157</div>
15158<a class="anchor" id="ab91d110e020f6ed987e05e82df3e350b"></a>
15159<div class="memitem">
15160<div class="memproto">
15161 <table class="memname">
15162 <tr>
15163 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15164 <td>(</td>
15165 <td class="paramtype">::std::ostream &amp;&#160;</td>
15166 <td class="paramname"><em>os</em>, </td>
15167 </tr>
15168 <tr>
15169 <td class="paramkey"></td>
15170 <td></td>
15171 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
15172 <td class="paramname"><em>size</em>&#160;</td>
15173 </tr>
15174 <tr>
15175 <td></td>
15176 <td>)</td>
15177 <td></td><td></td>
15178 </tr>
15179 </table>
15180</div><div class="memdoc">
15181
15182<p>Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle. ">Size2D</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015183<dl class="params"><dt>Parameters</dt><dd>
15184 <table class="params">
15185 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15186 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Type to output</td></tr>
15187 </table>
15188 </dd>
15189</dl>
15190<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015191
Jenkins52ba29e2018-08-29 15:32:11 +000015192<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01389">1389</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015193
Jenkinsb3a371b2018-05-23 11:36:53 +010015194<p>References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000015195<div class="fragment"><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;{</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; os &lt;&lt; size.width &lt;&lt; <span class="stringliteral">&quot;x&quot;</span> &lt;&lt; size.height;</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015196</div>
15197</div>
15198<a class="anchor" id="a4228b490e13b79a60737929d9d9e5957"></a>
15199<div class="memitem">
15200<div class="memproto">
15201 <table class="memname">
15202 <tr>
15203 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15204 <td>(</td>
15205 <td class="paramtype">::std::ostream &amp;&#160;</td>
15206 <td class="paramname"><em>os</em>, </td>
15207 </tr>
15208 <tr>
15209 <td class="paramkey"></td>
15210 <td></td>
15211 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &amp;&#160;</td>
15212 <td class="paramname"><em>hog_info</em>&#160;</td>
15213 </tr>
15214 <tr>
15215 <td></td>
15216 <td>)</td>
15217 <td></td><td></td>
15218 </tr>
15219 </table>
15220</div><div class="memdoc">
15221
Jenkinsb3a371b2018-05-23 11:36:53 +010015222<p>Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG&#39;s metadata. ">HOGInfo</a> type. </p>
15223<dl class="params"><dt>Parameters</dt><dd>
15224 <table class="params">
15225 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15226 <tr><td class="paramdir">[in]</td><td class="paramname">hog_info</td><td>Type to output</td></tr>
15227 </table>
15228 </dd>
15229</dl>
15230<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015231
Jenkins52ba29e2018-08-29 15:32:11 +000015232<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01416">1416</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015233
15234<p>References <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a13a9a6f5cfa21b3ab15b1e4315311aeb">HOGInfo::block_size()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#aa9a69eade27460f843fcfba5abb7ae52">HOGInfo::block_stride()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a4b7434680a85c2ac14df737ac7cca91e">HOGInfo::cell_size()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a0279e383beb758e477ce0673c5db8d57">HOGInfo::detection_window_size()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a954d05635b1ff48daffdd70d8a1a6443">HOGInfo::l2_hyst_threshold()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#aed90de2ef57929727bb2159b66d04487">HOGInfo::normalization_type()</a>, <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#ae3664b841732a09d7749953ca5b81373">HOGInfo::num_bins()</a>, and <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml#a96823b4d7dc642aa9f51a0077899d3f9">HOGInfo::phase_type()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000015235<div class="fragment"><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;{</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{CellSize=&quot;</span> &lt;&lt; hog_info.cell_size() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; &lt;&lt; <span class="stringliteral">&quot;BlockSize=&quot;</span> &lt;&lt; hog_info.block_size() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; &lt;&lt; <span class="stringliteral">&quot;DetectionWindowSize=&quot;</span> &lt;&lt; hog_info.detection_window_size() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; &lt;&lt; <span class="stringliteral">&quot;BlockStride=&quot;</span> &lt;&lt; hog_info.block_stride() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; &lt;&lt; <span class="stringliteral">&quot;NumBins=&quot;</span> &lt;&lt; hog_info.num_bins() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; &lt;&lt; <span class="stringliteral">&quot;NormType=&quot;</span> &lt;&lt; hog_info.normalization_type() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; &lt;&lt; <span class="stringliteral">&quot;L2HystThreshold=&quot;</span> &lt;&lt; hog_info.l2_hyst_threshold() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; &lt;&lt; <span class="stringliteral">&quot;PhaseType=&quot;</span> &lt;&lt; hog_info.phase_type() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000015236</div>
15237</div>
15238<a class="anchor" id="abd35c1c3fb716078b1f4a25981defac4"></a>
15239<div class="memitem">
15240<div class="memproto">
15241 <table class="memname">
15242 <tr>
15243 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15244 <td>(</td>
15245 <td class="paramtype">::std::ostream &amp;&#160;</td>
15246 <td class="paramname"><em>os</em>, </td>
15247 </tr>
15248 <tr>
15249 <td class="paramkey"></td>
15250 <td></td>
15251 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> &amp;&#160;</td>
15252 <td class="paramname"><em>conv_method</em>&#160;</td>
15253 </tr>
15254 <tr>
15255 <td></td>
15256 <td>)</td>
15257 <td></td><td></td>
15258 </tr>
15259 </table>
15260</div><div class="memdoc">
15261
Jenkinsb3a371b2018-05-23 11:36:53 +010015262<p>Formatted output of the ConvolutionMethod type. </p>
15263<dl class="params"><dt>Parameters</dt><dd>
15264 <table class="params">
15265 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15266 <tr><td class="paramdir">[in]</td><td class="paramname">conv_method</td><td>Type to output</td></tr>
15267 </table>
15268 </dd>
15269</dl>
15270<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015271
Jenkins52ba29e2018-08-29 15:32:11 +000015272<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01450">1450</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015273
Jenkins52ba29e2018-08-29 15:32:11 +000015274<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da4c5d06b02c97731aaa976179c62dcf76">DIRECT</a>, <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da5174aac3927faa9ee34befb7fc87a9e3">GEMM</a>, and <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517da9d024a5762b3a992dec7eb3c49d17ae8">WINOGRAD</a>.</p>
15275<div class="fragment"><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;{</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; <span class="keywordflow">switch</span>(conv_method)</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; {</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; <span class="keywordflow">case</span> ConvolutionMethod::GEMM:</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GEMM&quot;</span>;</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160; <span class="keywordflow">case</span> ConvolutionMethod::DIRECT:</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;DIRECT&quot;</span>;</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; <span class="keywordflow">case</span> ConvolutionMethod::WINOGRAD:</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;WINOGRAD&quot;</span>;</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160; }</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</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#l00261">Error.h:261</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015276</div><!-- fragment -->
15277</div>
15278</div>
15279<a class="anchor" id="a1f4d95d65a62a085e929ab0a1a77add2"></a>
15280<div class="memitem">
15281<div class="memproto">
15282 <table class="memname">
15283 <tr>
15284 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15285 <td>(</td>
15286 <td class="paramtype">::std::ostream &amp;&#160;</td>
15287 <td class="paramname"><em>os</em>, </td>
15288 </tr>
15289 <tr>
15290 <td class="paramkey"></td>
15291 <td></td>
15292 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> &amp;&#160;</td>
15293 <td class="paramname"><em>gpu_target</em>&#160;</td>
15294 </tr>
15295 <tr>
15296 <td></td>
15297 <td>)</td>
15298 <td></td><td></td>
15299 </tr>
15300 </table>
15301</div><div class="memdoc">
15302
Jenkinsb3a371b2018-05-23 11:36:53 +010015303<p>Formatted output of the GPUTarget type. </p>
15304<dl class="params"><dt>Parameters</dt><dd>
15305 <table class="params">
15306 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15307 <tr><td class="paramdir">[in]</td><td class="paramname">gpu_target</td><td>Type to output</td></tr>
15308 </table>
15309 </dd>
15310</dl>
15311<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015312
Jenkins52ba29e2018-08-29 15:32:11 +000015313<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01490">1490</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015314
Jenkins52ba29e2018-08-29 15:32:11 +000015315<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a2d4856ae75ec5a7b78851f6e5875f0">G51</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afc99dd3bc5650c5116886eefd3d18988">G51BIG</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a9d0acedfece9dfaf5cc3e63bfbeecf2f">G51LIT</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a79515d904f73cf1711207de1b2aa6ac6">G71</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab2ac2aea42c95ccc70260ceeb02ec4fc">G72</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa46ce37da51477a1af33a8810e0ed04d">G76</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a>, <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a53e518b6393904e797819c7a941f9ddc">TBOX</a>, and <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3ab39f7e42574174cf9ee7da726bdb13b4">TTRX</a>.</p>
15316<div class="fragment"><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;{</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160; <span class="keywordflow">switch</span>(gpu_target)</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160; {</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160; <span class="keywordflow">case</span> GPUTarget::GPU_ARCH_MASK:</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GPU_ARCH_MASK&quot;</span>;</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160; <span class="keywordflow">case</span> GPUTarget::MIDGARD:</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;MIDGARD&quot;</span>;</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160; <span class="keywordflow">case</span> GPUTarget::BIFROST:</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;BIFROST&quot;</span>;</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160; <span class="keywordflow">case</span> GPUTarget::T600:</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;T600&quot;</span>;</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160; <span class="keywordflow">case</span> GPUTarget::T700:</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;T700&quot;</span>;</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; <span class="keywordflow">case</span> GPUTarget::T800:</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;T800&quot;</span>;</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; <span class="keywordflow">case</span> GPUTarget::G71:</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G71&quot;</span>;</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160; <span class="keywordflow">case</span> GPUTarget::G72:</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G72&quot;</span>;</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160; <span class="keywordflow">case</span> GPUTarget::G51:</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G51&quot;</span>;</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; <span class="keywordflow">case</span> GPUTarget::G51BIG:</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G51BIG&quot;</span>;</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; <span class="keywordflow">case</span> GPUTarget::G51LIT:</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G51LIT&quot;</span>;</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; <span class="keywordflow">case</span> GPUTarget::G76:</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;G76&quot;</span>;</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; <span class="keywordflow">case</span> GPUTarget::TTRX:</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TTRX&quot;</span>;</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160; <span class="keywordflow">case</span> GPUTarget::TBOX:</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TBOX&quot;</span>;</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160; }</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</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#l00261">Error.h:261</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010015317</div><!-- fragment -->
15318</div>
15319</div>
15320<a class="anchor" id="a907c93ba5daaabf6af7095f20340d024"></a>
15321<div class="memitem">
15322<div class="memproto">
15323 <table class="memname">
15324 <tr>
15325 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15326 <td>(</td>
15327 <td class="paramtype">::std::ostream &amp;&#160;</td>
15328 <td class="paramname"><em>os</em>, </td>
15329 </tr>
15330 <tr>
15331 <td class="paramkey"></td>
15332 <td></td>
15333 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &amp;&#160;</td>
15334 <td class="paramname"><em>detection_window</em>&#160;</td>
15335 </tr>
15336 <tr>
15337 <td></td>
15338 <td>)</td>
15339 <td></td><td></td>
15340 </tr>
15341 </table>
15342</div><div class="memdoc">
15343
15344<p>Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection. ">DetectionWindow</a> type. </p>
15345<dl class="params"><dt>Parameters</dt><dd>
15346 <table class="params">
15347 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15348 <tr><td class="paramdir">[in]</td><td class="paramname">detection_window</td><td>Type to output</td></tr>
15349 </table>
15350 </dd>
15351</dl>
15352<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
15353
Jenkins52ba29e2018-08-29 15:32:11 +000015354<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01563">1563</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015355
Jenkins52ba29e2018-08-29 15:32:11 +000015356<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00546">DetectionWindow::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00547">DetectionWindow::idx_class</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00548">DetectionWindow::score</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00545">DetectionWindow::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00543">DetectionWindow::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00544">DetectionWindow::y</a>.</p>
15357<div class="fragment"><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;{</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{x=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a0815db32ce16586f5e90a633735df930">x</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160; &lt;&lt; <span class="stringliteral">&quot;y=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a45b45124e843a937c3e256edbce64eea">y</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160; &lt;&lt; <span class="stringliteral">&quot;width=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a67fe5ca4d6c3f95bf649ef48fe3d221b">width</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; &lt;&lt; <span class="stringliteral">&quot;height=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#aa0fb54e3dbe6f7446157eb3f3c1f77f3">height</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; &lt;&lt; <span class="stringliteral">&quot;idx_class=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#ad4f986571659dd822695ca58dda00e49">idx_class</a> &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; &lt;&lt; <span class="stringliteral">&quot;score=&quot;</span> &lt;&lt; detection_window.<a class="code" href="struct_detection_window.xhtml#a8c5cd9b525ee73a24b1d9d8e34982d1c">score</a> &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;}</div><div class="ttc" id="struct_detection_window_xhtml_ad4f986571659dd822695ca58dda00e49"><div class="ttname"><a href="struct_detection_window.xhtml#ad4f986571659dd822695ca58dda00e49">DetectionWindow::idx_class</a></div><div class="ttdeci">ushort idx_class</div><div class="ttdoc">Index of the class. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00053">types.h:53</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010015358<div class="ttc" id="struct_detection_window_xhtml_a45b45124e843a937c3e256edbce64eea"><div class="ttname"><a href="struct_detection_window.xhtml#a45b45124e843a937c3e256edbce64eea">DetectionWindow::y</a></div><div class="ttdeci">ushort y</div><div class="ttdoc">Top-left y coordinate. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00050">types.h:50</a></div></div>
15359<div class="ttc" id="struct_detection_window_xhtml_a8c5cd9b525ee73a24b1d9d8e34982d1c"><div class="ttname"><a href="struct_detection_window.xhtml#a8c5cd9b525ee73a24b1d9d8e34982d1c">DetectionWindow::score</a></div><div class="ttdeci">float score</div><div class="ttdoc">Confidence value for the detection window. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00054">types.h:54</a></div></div>
15360<div class="ttc" id="struct_detection_window_xhtml_aa0fb54e3dbe6f7446157eb3f3c1f77f3"><div class="ttname"><a href="struct_detection_window.xhtml#aa0fb54e3dbe6f7446157eb3f3c1f77f3">DetectionWindow::height</a></div><div class="ttdeci">ushort height</div><div class="ttdoc">Height of the detection window. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00052">types.h:52</a></div></div>
15361<div class="ttc" id="struct_detection_window_xhtml_a0815db32ce16586f5e90a633735df930"><div class="ttname"><a href="struct_detection_window.xhtml#a0815db32ce16586f5e90a633735df930">DetectionWindow::x</a></div><div class="ttdeci">ushort x</div><div class="ttdoc">Top-left x coordinate. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00049">types.h:49</a></div></div>
15362<div class="ttc" id="struct_detection_window_xhtml_a67fe5ca4d6c3f95bf649ef48fe3d221b"><div class="ttname"><a href="struct_detection_window.xhtml#a67fe5ca4d6c3f95bf649ef48fe3d221b">DetectionWindow::width</a></div><div class="ttdeci">ushort width</div><div class="ttdoc">Width of the detection window. </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.xhtml#l00051">types.h:51</a></div></div>
15363</div><!-- fragment -->
15364</div>
15365</div>
15366<a class="anchor" id="a8cfa7d498e60be008d557d025fe62ff3"></a>
15367<div class="memitem">
15368<div class="memproto">
15369 <table class="memname">
15370 <tr>
15371 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15372 <td>(</td>
15373 <td class="paramtype">::std::ostream &amp;&#160;</td>
15374 <td class="paramname"><em>os</em>, </td>
15375 </tr>
15376 <tr>
15377 <td class="paramkey"></td>
15378 <td></td>
15379 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &amp;&#160;</td>
15380 <td class="paramname"><em>termination</em>&#160;</td>
15381 </tr>
15382 <tr>
15383 <td></td>
15384 <td>)</td>
15385 <td></td><td></td>
15386 </tr>
15387 </table>
15388</div><div class="memdoc">
15389
15390<p>Formatted output of the Termination type. </p>
15391<dl class="params"><dt>Parameters</dt><dd>
15392 <table class="params">
15393 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15394 <tr><td class="paramdir">[in]</td><td class="paramname">termination</td><td>Type to output</td></tr>
15395 </table>
15396 </dd>
15397</dl>
15398<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
15399
Jenkins52ba29e2018-08-29 15:32:11 +000015400<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01595">1595</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015401
Jenkins52ba29e2018-08-29 15:32:11 +000015402<p>References <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>, <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>, and <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>.</p>
15403<div class="fragment"><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;{</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; <span class="keywordflow">switch</span>(termination)</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; {</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; <span class="keywordflow">case</span> Termination::TERM_CRITERIA_EPSILON:</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_EPSILON&quot;</span>;</div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; <span class="keywordflow">case</span> Termination::TERM_CRITERIA_ITERATIONS:</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_ITERATIONS&quot;</span>;</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; <span class="keywordflow">case</span> Termination::TERM_CRITERIA_BOTH:</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;TERM_CRITERIA_BOTH&quot;</span>;</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; }</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</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#l00261">Error.h:261</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010015404</div><!-- fragment -->
15405</div>
15406</div>
Jenkins52ba29e2018-08-29 15:32:11 +000015407<a class="anchor" id="a2329ad899483ca80bbffd03a63da9f5d"></a>
15408<div class="memitem">
15409<div class="memproto">
15410 <table class="memname">
15411 <tr>
15412 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15413 <td>(</td>
15414 <td class="paramtype">::std::ostream &amp;&#160;</td>
15415 <td class="paramname"><em>os</em>, </td>
15416 </tr>
15417 <tr>
15418 <td class="paramkey"></td>
15419 <td></td>
15420 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;&#160;</td>
15421 <td class="paramname"><em>cpu_model</em>&#160;</td>
15422 </tr>
15423 <tr>
15424 <td></td>
15425 <td>)</td>
15426 <td></td><td></td>
15427 </tr>
15428 </table>
15429</div><div class="memdoc">
15430
15431<p>Formatted output of the CPUModel type. </p>
15432<dl class="params"><dt>Parameters</dt><dd>
15433 <table class="params">
15434 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15435 <tr><td class="paramdir">[in]</td><td class="paramname">cpu_model</td><td>Model to output</td></tr>
15436 </table>
15437 </dd>
15438</dl>
15439<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
15440
15441<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01635">1635</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
15442
15443<p>References <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aecf3e2493afebcfefb0b9b86bd50ef0d">A53</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a33f91a7ec1c6be774d71fcd00ac81c92">A55r0</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4a2f2d74257db975404ff4ca97ce1e0bca">A55r1</a>, <a class="el" href="_error_8h_source.xhtml#l00261">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4ac942dc2a9f958acddc67e11472d3ca0b">GENERIC</a>, <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aca6fc09ca003ddc8f631109ce01bc6e8">GENERIC_FP16</a>, and <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4aad1a9b424f69f167da12150036196cd7">GENERIC_FP16_DOT</a>.</p>
15444<div class="fragment"><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;{</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; <span class="keywordflow">switch</span>(cpu_model)</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160; {</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; <span class="keywordflow">case</span> CPUModel::GENERIC:</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GENERIC&quot;</span>;</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; <span class="keywordflow">case</span> CPUModel::GENERIC_FP16:</div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GENERIC_FP16&quot;</span>;</div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; <span class="keywordflow">case</span> CPUModel::GENERIC_FP16_DOT:</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;GENERIC_FP16_DOT&quot;</span>;</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; <span class="keywordflow">case</span> CPUModel::A53:</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A53&quot;</span>;</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; <span class="keywordflow">case</span> CPUModel::A55r0:</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A55r0&quot;</span>;</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; <span class="keywordflow">case</span> CPUModel::A55r1:</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;A55r1&quot;</span>;</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT_SUPPORTED!&quot;</span>);</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; }</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</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#l00261">Error.h:261</a></div></div>
15445</div><!-- fragment -->
15446</div>
15447</div>
15448<a class="anchor" id="a29cd1c3e1b33d61a479fa49465c5a7e7"></a>
15449<div class="memitem">
15450<div class="memproto">
15451 <table class="memname">
15452 <tr>
15453 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15454 <td>(</td>
15455 <td class="paramtype">::std::ostream &amp;&#160;</td>
15456 <td class="paramname"><em>os</em>, </td>
15457 </tr>
15458 <tr>
15459 <td class="paramkey"></td>
15460 <td></td>
15461 <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
15462 <td class="paramname"><em>args</em>&#160;</td>
15463 </tr>
15464 <tr>
15465 <td></td>
15466 <td>)</td>
15467 <td></td><td></td>
15468 </tr>
15469 </table>
15470</div><div class="memdoc">
15471
15472<p>Formatted output of a vector of objects. </p>
15473<dl class="params"><dt>Parameters</dt><dd>
15474 <table class="params">
15475 <tr><td class="paramdir">[out]</td><td class="paramname">os</td><td>Output stream </td></tr>
15476 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> of objects to print</td></tr>
15477 </table>
15478 </dd>
15479</dl>
15480<dl class="section return"><dt>Returns</dt><dd>Modified output stream. </dd></dl>
15481
15482<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01684">1684</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
15483<div class="fragment"><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;{</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;arg : args)</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; {</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <span class="keywordflow">if</span>(first)</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; {</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; first = <span class="keyword">false</span>;</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; }</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; {</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; }</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; os &lt;&lt; arg;</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; }</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;}</div></div><!-- fragment -->
15484</div>
15485</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010015486<a class="anchor" id="af3cba8a4493cee4c431d128eed565ffe"></a>
15487<div class="memitem">
15488<div class="memproto">
15489 <table class="memname">
15490 <tr>
15491 <td class="memname">inline ::std::ostream&amp; arm_compute::operator&lt;&lt; </td>
15492 <td>(</td>
15493 <td class="paramtype">::std::ostream &amp;&#160;</td>
15494 <td class="paramname"><em>os</em>, </td>
15495 </tr>
15496 <tr>
15497 <td class="paramkey"></td>
15498 <td></td>
15499 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;&#160;</td>
15500 <td class="paramname"><em>info</em>&#160;</td>
15501 </tr>
15502 <tr>
15503 <td></td>
15504 <td>)</td>
15505 <td></td><td></td>
15506 </tr>
15507 </table>
15508</div><div class="memdoc">
15509
15510<p>Formatted output of the <a class="el" href="structarm__compute_1_1_winograd_info.xhtml" title="Winograd information. ">WinogradInfo</a> type. </p>
15511
Jenkins52ba29e2018-08-29 15:32:11 +000015512<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01719">1719</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015513
Jenkins52ba29e2018-08-29 15:32:11 +000015514<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01242">WinogradInfo::convolution_info</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01240">WinogradInfo::kernel_size</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01243">WinogradInfo::output_data_layout</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l01239">WinogradInfo::output_tile_size</a>.</p>
15515<div class="fragment"><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;{</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;{OutputTileSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.output_tile_size &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; &lt;&lt; <span class="stringliteral">&quot;KernelSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.kernel_size &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; &lt;&lt; <span class="stringliteral">&quot;PadStride=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.convolution_info &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; &lt;&lt; <span class="stringliteral">&quot;OutputDataLayout=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.output_data_layout &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; <span class="keywordflow">return</span> os;</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015516</div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000015517</div>
15518</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015519<a class="anchor" id="a096590f2456b9e9bcb8db98175720b60"></a>
15520<div class="memitem">
15521<div class="memproto">
15522<table class="mlabels">
15523 <tr>
15524 <td class="mlabels-left">
15525 <table class="memname">
15526 <tr>
15527 <td class="memname">bool arm_compute::operator== </td>
15528 <td>(</td>
15529 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
15530 <td class="paramname"><em>lhs</em>, </td>
15531 </tr>
15532 <tr>
15533 <td class="paramkey"></td>
15534 <td></td>
15535 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
15536 <td class="paramname"><em>rhs</em>&#160;</td>
15537 </tr>
15538 <tr>
15539 <td></td>
15540 <td>)</td>
15541 <td></td><td></td>
15542 </tr>
15543 </table>
15544 </td>
15545 <td class="mlabels-right">
15546<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15547 </tr>
15548</table>
15549</div><div class="memdoc">
15550
Jenkinsb3a371b2018-05-23 11:36:53 +010015551<p>Check that given dimensions are equal. </p>
15552<dl class="params"><dt>Parameters</dt><dd>
15553 <table class="params">
15554 <tr><td class="paramdir">[in]</td><td class="paramname">lhs</td><td>Left-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a>. </td></tr>
15555 <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>Right-hand side <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a>.</td></tr>
15556 </table>
15557 </dd>
15558</dl>
15559<dl class="section return"><dt>Returns</dt><dd>True if the given dimensions are equal. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015560
Jenkinsb3a371b2018-05-23 11:36:53 +010015561<p>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00234">234</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
15562
15563<p>References <a class="el" href="_dimensions_8h_source.xhtml#l00189">Dimensions&lt; T &gt;::cbegin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00213">Dimensions&lt; T &gt;::cend()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>.</p>
15564<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;{</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> ((lhs.num_dimensions() == rhs.num_dimensions()) &amp;&amp; std::equal(lhs.cbegin(), lhs.cend(), rhs.cbegin()));</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015565</div>
15566</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015567<a class="anchor" id="a1379e5f8a8b4640d7a52d901f0539ccd"></a>
15568<div class="memitem">
15569<div class="memproto">
15570 <table class="memname">
15571 <tr>
15572 <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
15573 <td>(</td>
15574 <td class="paramtype">::std::istream &amp;&#160;</td>
15575 <td class="paramname"><em>is</em>, </td>
15576 </tr>
15577 <tr>
15578 <td class="paramkey"></td>
15579 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015580 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015581 <td class="paramname"><em>mode</em>&#160;</td>
15582 </tr>
15583 <tr>
15584 <td></td>
15585 <td>)</td>
15586 <td></td><td></td>
15587 </tr>
15588 </table>
15589</div><div class="memdoc">
15590
15591<p>Formatted input of the BorderMode type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015592<dl class="params"><dt>Parameters</dt><dd>
15593 <table class="params">
15594 <tr><td class="paramdir">[out]</td><td class="paramname">is</td><td>Input stream. </td></tr>
15595 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Border mode.</td></tr>
15596 </table>
15597 </dd>
15598</dl>
15599<dl class="section return"><dt>Returns</dt><dd>the modified input stream. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015600
Jenkinsb3a371b2018-05-23 11:36:53 +010015601<p>Definition at line <a class="el" href="_type_reader_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_type_reader_8h_source.xhtml">TypeReader.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015602
Jenkins52ba29e2018-08-29 15:32:11 +000015603<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00092">arm_compute::test::validation::c</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
15604<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; std::string value;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; is &gt;&gt; value;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; std::transform(value.begin(), value.end(), value.begin(), [](<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>)</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">return</span> std::toupper(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><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;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;UNDEFINED&quot;</span>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; mode = BorderMode::UNDEFINED;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;CONSTANT&quot;</span>)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; mode = BorderMode::CONSTANT;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">&quot;REPLICATE&quot;</span>)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; mode = BorderMode::REPLICATE;</div><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; <span class="keywordflow">else</span></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">throw</span> std::invalid_argument(<span class="stringliteral">&quot;Unsupported value &#39;&quot;</span> + value + <span class="stringliteral">&quot;&#39; for border mode&quot;</span>);</div><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;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> is;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">CLTensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00092">GEMM.cpp:92</a></div></div>
15605</div><!-- fragment -->
15606</div>
15607</div>
15608<a class="anchor" id="a7cec6ed141f3eb1d6330533a90bba9e1"></a>
15609<div class="memitem">
15610<div class="memproto">
15611 <table class="memname">
15612 <tr>
15613 <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
15614 <td>(</td>
15615 <td class="paramtype">::std::istream &amp;&#160;</td>
15616 <td class="paramname"><em>stream</em>, </td>
15617 </tr>
15618 <tr>
15619 <td class="paramkey"></td>
15620 <td></td>
15621 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;&#160;</td>
15622 <td class="paramname"><em>data_type</em>&#160;</td>
15623 </tr>
15624 <tr>
15625 <td></td>
15626 <td>)</td>
15627 <td></td><td></td>
15628 </tr>
15629 </table>
15630</div><div class="memdoc">
15631
15632<p>Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>. </p>
15633<dl class="params"><dt>Parameters</dt><dd>
15634 <table class="params">
15635 <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Stream to parse </td></tr>
15636 <tr><td class="paramdir">[out]</td><td class="paramname">data_type</td><td>Output data type</td></tr>
15637 </table>
15638 </dd>
15639</dl>
15640<dl class="section return"><dt>Returns</dt><dd>Updated stream </dd></dl>
15641
15642<p>Definition at line <a class="el" href="_type_loader_8h_source.xhtml#l00048">48</a> of file <a class="el" href="_type_loader_8h_source.xhtml">TypeLoader.h</a>.</p>
15643
15644<p>References <a class="el" href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">data_layout_from_name()</a>, and <a class="el" href="namespacearm__compute.xhtml#ade65ba63cdf4becce903866f4a59815e">data_type_from_name()</a>.</p>
15645<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; std::string value;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; stream &gt;&gt; value;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a> = <a class="code" href="namespacearm__compute.xhtml#ade65ba63cdf4becce903866f4a59815e">data_type_from_name</a>(value);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_ade65ba63cdf4becce903866f4a59815e"><div class="ttname"><a href="namespacearm__compute.xhtml#ade65ba63cdf4becce903866f4a59815e">arm_compute::data_type_from_name</a></div><div class="ttdeci">arm_compute::DataType data_type_from_name(const std::string &amp;name)</div><div class="ttdoc">Converts a string to a strong types enumeration DataType. </div></div>
15646<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
15647</div><!-- fragment -->
15648</div>
15649</div>
15650<a class="anchor" id="a9c4a3d0e80938810dd7b22b16785f5c8"></a>
15651<div class="memitem">
15652<div class="memproto">
15653 <table class="memname">
15654 <tr>
15655 <td class="memname">inline ::std::istream&amp; arm_compute::operator&gt;&gt; </td>
15656 <td>(</td>
15657 <td class="paramtype">::std::istream &amp;&#160;</td>
15658 <td class="paramname"><em>stream</em>, </td>
15659 </tr>
15660 <tr>
15661 <td class="paramkey"></td>
15662 <td></td>
15663 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;&#160;</td>
15664 <td class="paramname"><em>data_layout</em>&#160;</td>
15665 </tr>
15666 <tr>
15667 <td></td>
15668 <td>)</td>
15669 <td></td><td></td>
15670 </tr>
15671 </table>
15672</div><div class="memdoc">
15673
15674<p>Input Stream operator for <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>. </p>
15675<dl class="params"><dt>Parameters</dt><dd>
15676 <table class="params">
15677 <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Stream to parse </td></tr>
15678 <tr><td class="paramdir">[out]</td><td class="paramname">data_layout</td><td>Output data layout</td></tr>
15679 </table>
15680 </dd>
15681</dl>
15682<dl class="section return"><dt>Returns</dt><dd>Updated stream </dd></dl>
15683
15684<p>Definition at line <a class="el" href="_type_loader_8h_source.xhtml#l00071">71</a> of file <a class="el" href="_type_loader_8h_source.xhtml">TypeLoader.h</a>.</p>
15685
15686<p>References <a class="el" href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">data_layout_from_name()</a>, and <a class="el" href="namespacearm__compute_1_1graph.xhtml#a4654d54572949314f2a3bd0163179897">arm_compute::graph::target_from_name()</a>.</p>
15687<div class="fragment"><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; std::string value;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; stream &gt;&gt; value;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a> = <a class="code" href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">data_layout_from_name</a>(value);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</a></div></div>
15688<div class="ttc" id="namespacearm__compute_xhtml_a70c6f92f6b74982b31716cfd2fdf612a"><div class="ttname"><a href="namespacearm__compute.xhtml#a70c6f92f6b74982b31716cfd2fdf612a">arm_compute::data_layout_from_name</a></div><div class="ttdeci">arm_compute::DataLayout data_layout_from_name(const std::string &amp;name)</div><div class="ttdoc">Converts a string to a strong types enumeration DataLayout. </div></div>
Kaizen8938bd32017-09-28 14:38:23 +010015689</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010015690</div>
15691</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015692<a class="anchor" id="a21c3e11887f3acf9284ca763372c7da0"></a>
15693<div class="memitem">
15694<div class="memproto">
15695<table class="mlabels">
15696 <tr>
15697 <td class="mlabels-left">
15698 <table class="memname">
15699 <tr>
15700 <td class="memname">void arm_compute::permute </td>
15701 <td>(</td>
15702 <td class="paramtype"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
15703 <td class="paramname"><em>dimensions</em>, </td>
15704 </tr>
15705 <tr>
15706 <td class="paramkey"></td>
15707 <td></td>
15708 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &amp;&#160;</td>
15709 <td class="paramname"><em>perm</em>&#160;</td>
15710 </tr>
15711 <tr>
15712 <td></td>
15713 <td>)</td>
15714 <td></td><td></td>
15715 </tr>
15716 </table>
15717 </td>
15718 <td class="mlabels-right">
15719<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15720 </tr>
15721</table>
15722</div><div class="memdoc">
15723
15724<p>Permutes given <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> according to a permutation vector. </p>
15725<dl class="section warning"><dt>Warning</dt><dd>Validity of permutation is not checked</dd></dl>
15726<dl class="params"><dt>Parameters</dt><dd>
15727 <table class="params">
15728 <tr><td class="paramdir">[in,out]</td><td class="paramname">dimensions</td><td><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> to permute </td></tr>
15729 <tr><td class="paramdir">[in]</td><td class="paramname">perm</td><td>Permutation vector </td></tr>
15730 </table>
15731 </dd>
15732</dl>
15733
Jenkinsb3a371b2018-05-23 11:36:53 +010015734<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00536">536</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015735
Jenkinsb3a371b2018-05-23 11:36:53 +010015736<p>References <a class="el" href="_dimensions_8h_source.xhtml#l00173">Dimensions&lt; T &gt;::begin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00197">Dimensions&lt; T &gt;::end()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions&lt; T &gt;::set()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015737
Jenkins52ba29e2018-08-29 15:32:11 +000015738<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00052">arm_compute::misc::shape_calculator::compute_permutation_output_shape()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00453">AssetsLibrary::fill()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00357">NPYLoader::fill_tensor()</a>, and <a class="el" href="_graph_utils_8h_source.xhtml#l00492">arm_compute::graph_utils::permute_shape()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010015739<div class="fragment"><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;{</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keyword">auto</span> dimensions_copy = utility::make_array&lt;Dimensions&lt;T&gt;::num_max_dimensions&gt;(dimensions.begin(), dimensions.end());</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; perm.num_dimensions(); ++i)</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; {</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; T dimension_val = (perm[i] &lt; dimensions.num_dimensions()) ? dimensions_copy[perm[i]] : 0;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; dimensions.set(i, dimension_val);</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; }</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000015740</div>
15741</div>
15742<a class="anchor" id="a5045aaec85553032a782c44ab8d26341"></a>
15743<div class="memitem">
15744<div class="memproto">
15745<table class="mlabels">
15746 <tr>
15747 <td class="mlabels-left">
15748 <table class="memname">
15749 <tr>
15750 <td class="memname">void arm_compute::permute </td>
15751 <td>(</td>
15752 <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
15753 <td class="paramname"><em>shape</em>, </td>
15754 </tr>
15755 <tr>
15756 <td class="paramkey"></td>
15757 <td></td>
15758 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &amp;&#160;</td>
15759 <td class="paramname"><em>perm</em>&#160;</td>
15760 </tr>
15761 <tr>
15762 <td></td>
15763 <td>)</td>
15764 <td></td><td></td>
15765 </tr>
15766 </table>
15767 </td>
15768 <td class="mlabels-right">
15769<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15770 </tr>
15771</table>
15772</div><div class="memdoc">
15773
15774<p>Permutes given <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> according to a permutation vector. </p>
15775<dl class="section warning"><dt>Warning</dt><dd>Validity of permutation is not checked</dd></dl>
15776<dl class="params"><dt>Parameters</dt><dd>
15777 <table class="params">
15778 <tr><td class="paramdir">[in,out]</td><td class="paramname">shape</td><td>Shape to permute </td></tr>
15779 <tr><td class="paramdir">[in]</td><td class="paramname">perm</td><td>Permutation vector </td></tr>
15780 </table>
15781 </dd>
15782</dl>
15783
Jenkinsb3a371b2018-05-23 11:36:53 +010015784<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">553</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015785
Jenkins52ba29e2018-08-29 15:32:11 +000015786<p>References <a class="el" href="_helpers_8inl_source.xhtml#l00201">auto_init_if_empty()</a>, <a class="el" href="namespacearm__compute.xhtml#a4f83578a33b502bf6419ead091249423">calculate_valid_region_scale()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00308">coords2index()</a>, <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00227">arm_compute::test::validation::data_layout</a>, <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">arm_compute::test::validation::data_type</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00326">get_data_layout_dimension_index()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00289">index2coords()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions&lt; T &gt;::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00078">TensorShape::set()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00267">set_data_layout_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00256">set_data_type_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00245">set_format_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00278">set_quantization_info_if_empty()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00234">set_shape_if_empty()</a>, and <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>.</p>
15787<div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;{</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; TensorShape shape_copy = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; perm.num_dimensions(); ++i)</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordtype">size_t</span> dimension_val = (perm[i] &lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.num_dimensions()) ? shape_copy[perm[i]] : 1;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.set(i, dimension_val, <span class="keyword">false</span>); <span class="comment">// Avoid changes in _num_dimension</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; }</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000015788</div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015789</div>
15790</div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015791<a class="anchor" id="ab7b3af731907e85fcaf72555c446176b"></a>
15792<div class="memitem">
15793<div class="memproto">
15794<table class="mlabels">
15795 <tr>
15796 <td class="mlabels-left">
15797 <table class="memname">
15798 <tr>
15799 <td class="memname">uint8_t pixel_area_c1u8_clamp </td>
15800 <td>(</td>
15801 <td class="paramtype">const uint8_t *&#160;</td>
15802 <td class="paramname"><em>first_pixel_ptr</em>, </td>
15803 </tr>
15804 <tr>
15805 <td class="paramkey"></td>
15806 <td></td>
15807 <td class="paramtype">size_t&#160;</td>
15808 <td class="paramname"><em>stride</em>, </td>
15809 </tr>
15810 <tr>
15811 <td class="paramkey"></td>
15812 <td></td>
15813 <td class="paramtype">size_t&#160;</td>
15814 <td class="paramname"><em>width</em>, </td>
15815 </tr>
15816 <tr>
15817 <td class="paramkey"></td>
15818 <td></td>
15819 <td class="paramtype">size_t&#160;</td>
15820 <td class="paramname"><em>height</em>, </td>
15821 </tr>
15822 <tr>
15823 <td class="paramkey"></td>
15824 <td></td>
15825 <td class="paramtype">float&#160;</td>
15826 <td class="paramname"><em>wr</em>, </td>
15827 </tr>
15828 <tr>
15829 <td class="paramkey"></td>
15830 <td></td>
15831 <td class="paramtype">float&#160;</td>
15832 <td class="paramname"><em>hr</em>, </td>
15833 </tr>
15834 <tr>
15835 <td class="paramkey"></td>
15836 <td></td>
15837 <td class="paramtype">int&#160;</td>
15838 <td class="paramname"><em>x</em>, </td>
15839 </tr>
15840 <tr>
15841 <td class="paramkey"></td>
15842 <td></td>
15843 <td class="paramtype">int&#160;</td>
15844 <td class="paramname"><em>y</em>&#160;</td>
15845 </tr>
15846 <tr>
15847 <td></td>
15848 <td>)</td>
15849 <td></td><td></td>
15850 </tr>
15851 </table>
15852 </td>
15853 <td class="mlabels-right">
15854<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15855 </tr>
15856</table>
15857</div><div class="memdoc">
15858
15859<p>Return the pixel at (x,y) using area interpolation by clamping when out of borders. </p>
15860<p>The image must be single channel U8</p>
15861<dl class="section note"><dt>Note</dt><dd>The interpolation area depends on the width and height ration of the input and output images </dd>
15862<dd>
15863Currently average of the contributing pixels is calculated</dd></dl>
15864<dl class="params"><dt>Parameters</dt><dd>
15865 <table class="params">
15866 <tr><td class="paramdir">[in]</td><td class="paramname">first_pixel_ptr</td><td>Pointer to the first pixel of a single channel U8 image. </td></tr>
15867 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
15868 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
15869 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
15870 <tr><td class="paramdir">[in]</td><td class="paramname">wr</td><td>Width ratio among the input image width and output image width. </td></tr>
15871 <tr><td class="paramdir">[in]</td><td class="paramname">hr</td><td>Height ratio among the input image height and output image height. </td></tr>
15872 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
15873 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
15874 </table>
15875 </dd>
15876</dl>
15877<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using area interpolation. </dd></dl>
15878
Kaizen8938bd32017-09-28 14:38:23 +010015879<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00032">32</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015880
Jenkins52ba29e2018-08-29 15:32:11 +000015881<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="_window_8inl_source.xhtml#l00041">Window::set()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000015882
Jenkinsb3a371b2018-05-23 11:36:53 +010015883<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">pixel_bilinear_c1_clamp()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000015884<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">// Calculate sampling position</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordtype">float</span> in_x = (x + 0.5f) * wr - 0.5f;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">float</span> in_y = (y + 0.5f) * hr - 0.5f;</div><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; <span class="comment">// Get bounding box offsets</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">int</span> x_from = std::floor(x * wr - 0.5f - in_x);</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">int</span> y_from = std::floor(y * hr - 0.5f - in_y);</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">int</span> x_to = std::ceil((x + 1) * wr - 0.5f - in_x);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">int</span> y_to = std::ceil((y + 1) * hr - 0.5f - in_y);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Clamp position to borders</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; in_x = std::max(-1.f, std::min(in_x, static_cast&lt;float&gt;(width)));</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; in_y = std::max(-1.f, std::min(in_y, static_cast&lt;float&gt;(height)));</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// Clamp bounding box offsets to borders</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; x_from = ((in_x + x_from) &lt; -1) ? -1 : x_from;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; y_from = ((in_y + y_from) &lt; -1) ? -1 : y_from;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; x_to = ((in_x + x_to) &gt; width) ? (width - in_x) : x_to;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; y_to = ((in_y + y_to) &gt; height) ? (height - in_y) : y_to;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// Get pixel index</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> xi = std::floor(in_x);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> yi = std::floor(in_y);</div><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="comment">// Bounding box elements in each dimension</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> x_elements = (x_to - x_from + 1);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> y_elements = (y_to - y_from + 1);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(x_elements == 0 || y_elements == 0);</div><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; <span class="comment">// Sum pixels in area</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">int</span> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = 0;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j = yi + y_from, je = yi + y_to; j &lt;= je; ++j)</div><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; <span class="keyword">const</span> uint8_t *ptr = first_pixel_ptr + j * stride + xi + x_from;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(ptr, ptr + x_elements, sum);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</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="comment">// Return average</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> sum / (x_elements * y_elements);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div><div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
15885<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#l00337">Error.h:337</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015886<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 Barbierdbdab852017-06-23 15:42:00 +010015887</div><!-- fragment -->
15888</div>
15889</div>
Kaizen8938bd32017-09-28 14:38:23 +010015890<a class="anchor" id="a1c8d639ec2b3086a9506e72605a32333"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015891<div class="memitem">
15892<div class="memproto">
15893<table class="mlabels">
15894 <tr>
15895 <td class="mlabels-left">
15896 <table class="memname">
15897 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010015898 <td class="memname">T arm_compute::pixel_bilinear_c1 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015899 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015900 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015901 <td class="paramname"><em>first_pixel_ptr</em>, </td>
15902 </tr>
15903 <tr>
15904 <td class="paramkey"></td>
15905 <td></td>
15906 <td class="paramtype">size_t&#160;</td>
15907 <td class="paramname"><em>stride</em>, </td>
15908 </tr>
15909 <tr>
15910 <td class="paramkey"></td>
15911 <td></td>
15912 <td class="paramtype">float&#160;</td>
15913 <td class="paramname"><em>x</em>, </td>
15914 </tr>
15915 <tr>
15916 <td class="paramkey"></td>
15917 <td></td>
15918 <td class="paramtype">float&#160;</td>
15919 <td class="paramname"><em>y</em>&#160;</td>
15920 </tr>
15921 <tr>
15922 <td></td>
15923 <td>)</td>
15924 <td></td><td></td>
15925 </tr>
15926 </table>
15927 </td>
15928 <td class="mlabels-right">
15929<span class="mlabels"><span class="mlabel">inline</span></span> </td>
15930 </tr>
15931</table>
15932</div><div class="memdoc">
15933
15934<p>Return the pixel at (x,y) using bilinear interpolation. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015935<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
15936<dl class="params"><dt>Parameters</dt><dd>
15937 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010015938 <tr><td class="paramdir">[in]</td><td class="paramname">first_pixel_ptr</td><td>Pointer to the first pixel of a single channel input. </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015939 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image; </td></tr>
15940 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
15941 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
15942 </table>
15943 </dd>
15944</dl>
15945<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
15946
Jenkinsb3a371b2018-05-23 11:36:53 +010015947<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">210</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015948
Jenkins52ba29e2018-08-29 15:32:11 +000015949<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">delta_bilinear_c1()</a>.</p>
15950<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;{</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keyword">const</span> int32_t xi = std::floor(x);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keyword">const</span> int32_t yi = std::floor(y);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + xi + yi * stride, stride, dx, dy);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</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#l00337">Error.h:337</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010015951<div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel&amp;#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">Helpers.h:127</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015952</div><!-- fragment -->
15953</div>
15954</div>
Kaizen8938bd32017-09-28 14:38:23 +010015955<a class="anchor" id="afa55519774605e5b840fb031fdd7b196"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015956<div class="memitem">
15957<div class="memproto">
15958<table class="mlabels">
15959 <tr>
15960 <td class="mlabels-left">
15961 <table class="memname">
15962 <tr>
Kaizen8938bd32017-09-28 14:38:23 +010015963 <td class="memname">uint8_t arm_compute::pixel_bilinear_c1_clamp </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015964 <td>(</td>
Kaizen8938bd32017-09-28 14:38:23 +010015965 <td class="paramtype">const T *&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010015966 <td class="paramname"><em>first_pixel_ptr</em>, </td>
15967 </tr>
15968 <tr>
15969 <td class="paramkey"></td>
15970 <td></td>
15971 <td class="paramtype">size_t&#160;</td>
15972 <td class="paramname"><em>stride</em>, </td>
15973 </tr>
15974 <tr>
15975 <td class="paramkey"></td>
15976 <td></td>
15977 <td class="paramtype">size_t&#160;</td>
15978 <td class="paramname"><em>width</em>, </td>
15979 </tr>
15980 <tr>
15981 <td class="paramkey"></td>
15982 <td></td>
15983 <td class="paramtype">size_t&#160;</td>
15984 <td class="paramname"><em>height</em>, </td>
15985 </tr>
15986 <tr>
15987 <td class="paramkey"></td>
15988 <td></td>
15989 <td class="paramtype">float&#160;</td>
15990 <td class="paramname"><em>x</em>, </td>
15991 </tr>
15992 <tr>
15993 <td class="paramkey"></td>
15994 <td></td>
15995 <td class="paramtype">float&#160;</td>
15996 <td class="paramname"><em>y</em>&#160;</td>
15997 </tr>
15998 <tr>
15999 <td></td>
16000 <td>)</td>
16001 <td></td><td></td>
16002 </tr>
16003 </table>
16004 </td>
16005 <td class="mlabels-right">
16006<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16007 </tr>
16008</table>
16009</div><div class="memdoc">
16010
16011<p>Return the pixel at (x,y) using bilinear interpolation by clamping when out of borders. </p>
Kaizen8938bd32017-09-28 14:38:23 +010016012<p>The image must be single channel input</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016013<dl class="section warning"><dt>Warning</dt><dd>Only works if the iterator was created with an IImage</dd></dl>
16014<dl class="params"><dt>Parameters</dt><dd>
16015 <table class="params">
Kaizen8938bd32017-09-28 14:38:23 +010016016 <tr><td class="paramdir">[in]</td><td class="paramname">first_pixel_ptr</td><td>Pointer to the first pixel of a single channel image. </td></tr>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016017 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride in bytes of the image </td></tr>
16018 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of the image </td></tr>
16019 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of the image </td></tr>
16020 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>X position of the wanted pixel </td></tr>
16021 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Y position of the wanted pixel</td></tr>
16022 </table>
16023 </dd>
16024</dl>
16025<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
16026
Jenkinsb3a371b2018-05-23 11:36:53 +010016027<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00237">237</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016028
Jenkins52ba29e2018-08-29 15:32:11 +000016029<p>References <a class="el" href="_error_8h_source.xhtml#l00337">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">delta_bilinear_c1()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">delta_linear_c1_x()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">delta_linear_c1_y()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00032">pixel_area_c1u8_clamp()</a>.</p>
16030<div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;{</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; x = std::max(-1.f, std::min(x, static_cast&lt;float&gt;(width)));</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; y = std::max(-1.f, std::min(y, static_cast&lt;float&gt;(height)));</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">const</span> <span class="keywordtype">float</span> xi = std::floor(x);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> yi = std::floor(y);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div><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; <span class="keywordflow">if</span>(dx == 0.0f)</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span>(dy == 0.0f)</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; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(first_pixel_ptr[<span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(xi) + static_cast&lt;int32_t&gt;(yi) * stride]);</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad5fa8bacf824e9538014bfb0dcdaab52">delta_linear_c1_y</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, stride, dy);</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">if</span>(dy == 0.0f)</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">return</span> <a class="code" href="namespacearm__compute.xhtml#a6174495b626531de015ae2b810859287">delta_linear_c1_x</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, dx);</div><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; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + static_cast&lt;int32_t&gt;(xi) + static_cast&lt;int32_t&gt;(yi) * stride, stride, dx, dy);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a6174495b626531de015ae2b810859287"><div class="ttname"><a href="namespacearm__compute.xhtml#a6174495b626531de015ae2b810859287">arm_compute::delta_linear_c1_x</a></div><div class="ttdeci">T delta_linear_c1_x(const T *pixel_ptr, float dx)</div><div class="ttdoc">Computes linear interpolation using the pointer to the left pixel and the pixel&amp;#39;s distance between th...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00184">Helpers.h:184</a></div></div>
16031<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#l00337">Error.h:337</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010016032<div class="ttc" id="namespacearm__compute_xhtml_ad5fa8bacf824e9538014bfb0dcdaab52"><div class="ttname"><a href="namespacearm__compute.xhtml#ad5fa8bacf824e9538014bfb0dcdaab52">arm_compute::delta_linear_c1_y</a></div><div class="ttdeci">T delta_linear_c1_y(const T *pixel_ptr, size_t stride, float dy)</div><div class="ttdoc">Computes linear interpolation using the pointer to the top pixel and the pixel&amp;#39;s distance between the...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00159">Helpers.h:159</a></div></div>
16033<div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel&amp;#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00127">Helpers.h:127</a></div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016034</div><!-- fragment -->
16035</div>
16036</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016037<a class="anchor" id="a4823543d67a2520c98669e2a5608ef6a"></a>
16038<div class="memitem">
16039<div class="memproto">
16040<table class="mlabels">
16041 <tr>
16042 <td class="mlabels-left">
16043 <table class="memname">
16044 <tr>
16045 <td class="memname">size_t arm_compute::pixel_size_from_format </td>
16046 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016047 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016048 <td class="paramname"><em>format</em></td><td>)</td>
16049 <td></td>
16050 </tr>
16051 </table>
16052 </td>
16053 <td class="mlabels-right">
16054<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16055 </tr>
16056</table>
16057</div><div class="memdoc">
16058
16059<p>The size in bytes of the pixel format. </p>
16060<dl class="params"><dt>Parameters</dt><dd>
16061 <table class="params">
16062 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format</td></tr>
16063 </table>
16064 </dd>
16065</dl>
16066<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
16067
Jenkins52ba29e2018-08-29 15:32:11 +000016068<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00141">141</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000016069
Jenkins52ba29e2018-08-29 15:32:11 +000016070<p>References <a class="el" href="_error_8h_source.xhtml#l00261">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>
16071<div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="comment">//Doesn&#39;t make sense for planar formats:</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</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="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> 0;</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;}</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#l00261">Error.h:261</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016072</div><!-- fragment -->
16073</div>
16074</div>
16075<a class="anchor" id="a4f6fe18760340bcec02d095b7099e923"></a>
16076<div class="memitem">
16077<div class="memproto">
16078<table class="mlabels">
16079 <tr>
16080 <td class="mlabels-left">
16081 <table class="memname">
16082 <tr>
16083 <td class="memname">int arm_compute::plane_idx_from_channel </td>
16084 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016085 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016086 <td class="paramname"><em>format</em>, </td>
16087 </tr>
16088 <tr>
16089 <td class="paramkey"></td>
16090 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016091 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016092 <td class="paramname"><em>channel</em>&#160;</td>
16093 </tr>
16094 <tr>
16095 <td></td>
16096 <td>)</td>
16097 <td></td><td></td>
16098 </tr>
16099 </table>
16100 </td>
16101 <td class="mlabels-right">
16102<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16103 </tr>
16104</table>
16105</div><div class="memdoc">
16106
16107<p>Return the plane index of a given channel given an input format. </p>
16108<dl class="params"><dt>Parameters</dt><dd>
16109 <table class="params">
16110 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Input format </td></tr>
16111 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Input channel</td></tr>
16112 </table>
16113 </dd>
16114</dl>
16115<dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
16116
Jenkins52ba29e2018-08-29 15:32:11 +000016117<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00248">248</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000016118
Jenkins52ba29e2018-08-29 15:32:11 +000016119<p>References <a class="el" href="_error_8h_source.xhtml#l00261">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#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</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#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
Anthony Barbier06ea0482018-02-22 15:45:35 +000016120
Jenkins52ba29e2018-08-29 15:32:11 +000016121<p>Referenced by <a class="el" href="reference_2_channel_extract_8cpp_source.xhtml#l00038">arm_compute::test::validation::reference::channel_extract()</a>.</p>
16122<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; <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="comment">// Single planar formats have a single plane</span></div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="comment">// Multi planar formats</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">case</span> Format::NV21:</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; <span class="comment">// Channel U and V share the same plane of format UV88</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</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="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; }</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; }</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</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="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;Not supported format&quot;</span>);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> 0;</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;}</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#l00261">Error.h:261</a></div></div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016123</div><!-- fragment -->
16124</div>
16125</div>
Anthony Barbiera4376382017-04-12 15:12:46 +010016126<a class="anchor" id="a51a0d2ae440bc8cab3fbbe84bfea8b1d"></a>
16127<div class="memitem">
16128<div class="memproto">
16129 <table class="memname">
16130 <tr>
16131 <td class="memname">void arm_compute::print_consecutive_elements </td>
16132 <td>(</td>
16133 <td class="paramtype">std::ostream &amp;&#160;</td>
16134 <td class="paramname"><em>s</em>, </td>
16135 </tr>
16136 <tr>
16137 <td class="paramkey"></td>
16138 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016139 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbiera4376382017-04-12 15:12:46 +010016140 <td class="paramname"><em>dt</em>, </td>
16141 </tr>
16142 <tr>
16143 <td class="paramkey"></td>
16144 <td></td>
16145 <td class="paramtype">const uint8_t *&#160;</td>
16146 <td class="paramname"><em>ptr</em>, </td>
16147 </tr>
16148 <tr>
16149 <td class="paramkey"></td>
16150 <td></td>
16151 <td class="paramtype">unsigned int&#160;</td>
16152 <td class="paramname"><em>n</em>, </td>
16153 </tr>
16154 <tr>
16155 <td class="paramkey"></td>
16156 <td></td>
16157 <td class="paramtype">int&#160;</td>
16158 <td class="paramname"><em>stream_width</em>, </td>
16159 </tr>
16160 <tr>
16161 <td class="paramkey"></td>
16162 <td></td>
16163 <td class="paramtype">const std::string &amp;&#160;</td>
16164 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
16165 </tr>
16166 <tr>
16167 <td></td>
16168 <td>)</td>
16169 <td></td><td></td>
16170 </tr>
16171 </table>
16172</div><div class="memdoc">
16173
16174<p>Print consecutive elements to an output stream. </p>
16175<dl class="params"><dt>Parameters</dt><dd>
16176 <table class="params">
16177 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
16178 <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type of the elements </td></tr>
16179 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
16180 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
16181 <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>
16182 <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>
16183 </table>
16184 </dd>
16185</dl>
16186
Jenkins52ba29e2018-08-29 15:32:11 +000016187<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01059">max_consecutive_elements_display_width_impl()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016188
Anthony Barbiera4376382017-04-12 15:12:46 +010016189</div>
16190</div>
16191<a class="anchor" id="aa3a28b8acd21301990e06377c64e1276"></a>
16192<div class="memitem">
16193<div class="memproto">
16194 <table class="memname">
16195 <tr>
16196 <td class="memname">void arm_compute::print_consecutive_elements_impl </td>
16197 <td>(</td>
16198 <td class="paramtype">std::ostream &amp;&#160;</td>
16199 <td class="paramname"><em>s</em>, </td>
16200 </tr>
16201 <tr>
16202 <td class="paramkey"></td>
16203 <td></td>
16204 <td class="paramtype">const T *&#160;</td>
16205 <td class="paramname"><em>ptr</em>, </td>
16206 </tr>
16207 <tr>
16208 <td class="paramkey"></td>
16209 <td></td>
16210 <td class="paramtype">unsigned int&#160;</td>
16211 <td class="paramname"><em>n</em>, </td>
16212 </tr>
16213 <tr>
16214 <td class="paramkey"></td>
16215 <td></td>
16216 <td class="paramtype">int&#160;</td>
16217 <td class="paramname"><em>stream_width</em> = <code>0</code>, </td>
16218 </tr>
16219 <tr>
16220 <td class="paramkey"></td>
16221 <td></td>
16222 <td class="paramtype">const std::string &amp;&#160;</td>
16223 <td class="paramname"><em>element_delim</em> = <code>&quot;&#160;&quot;</code>&#160;</td>
16224 </tr>
16225 <tr>
16226 <td></td>
16227 <td>)</td>
16228 <td></td><td></td>
16229 </tr>
16230 </table>
16231</div><div class="memdoc">
16232
16233<p>Print consecutive elements to an output stream. </p>
16234<dl class="params"><dt>Parameters</dt><dd>
16235 <table class="params">
16236 <tr><td class="paramdir">[out]</td><td class="paramname">s</td><td>Output stream to print the elements to. </td></tr>
16237 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to print the elements from. </td></tr>
16238 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Number of elements to print. </td></tr>
16239 <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>
16240 <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>
16241 </table>
16242 </dd>
16243</dl>
16244
Jenkins52ba29e2018-08-29 15:32:11 +000016245<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l01026">1026</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
16246<div class="fragment"><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;{</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; <span class="keyword">using</span> print_type = <span class="keyword">typename</span> std::conditional&lt;std::is_floating_point&lt;T&gt;::value, T, <span class="keywordtype">int</span>&gt;::type;</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</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="l01031"></a><span class="lineno"> 1031</span>&#160; {</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</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="l01033"></a><span class="lineno"> 1033</span>&#160; <span class="keywordflow">if</span>(stream_width != 0)</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; {</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; s.width(stream_width);</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; }</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <span class="keywordflow">if</span>(std::is_same&lt;<span class="keyword">typename</span> std::decay&lt;T&gt;::type, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>&gt;::value)</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; {</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; <span class="comment">// We use T instead of print_type here is because the std::is_floating_point&lt;half&gt; returns false and then the print_type becomes int.</span></div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; s &lt;&lt; std::right &lt;&lt; static_cast&lt;T&gt;(ptr[i]) &lt;&lt; element_delim;</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; }</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; {</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; s &lt;&lt; std::right &lt;&lt; static_cast&lt;print_type&gt;(ptr[i]) &lt;&lt; element_delim;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; }</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; }</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a73e2825fd61d349c5ca2f5313e3c8ea1"><div class="ttname"><a href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">arm_compute::half</a></div><div class="ttdeci">half_float::half half</div><div class="ttdoc">16-bit floating point type </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00044">Types.h:44</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016247</div><!-- fragment -->
Anthony Barbiera4376382017-04-12 15:12:46 +010016248</div>
16249</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016250<a class="anchor" id="aefa4a4d3136d77b85cccfce344f9f37f"></a>
16251<div class="memitem">
16252<div class="memproto">
16253 <table class="memname">
16254 <tr>
16255 <td class="memname">std::string arm_compute::read_file </td>
16256 <td>(</td>
16257 <td class="paramtype">const std::string &amp;&#160;</td>
16258 <td class="paramname"><em>filename</em>, </td>
16259 </tr>
16260 <tr>
16261 <td class="paramkey"></td>
16262 <td></td>
16263 <td class="paramtype">bool&#160;</td>
16264 <td class="paramname"><em>binary</em>&#160;</td>
16265 </tr>
16266 <tr>
16267 <td></td>
16268 <td>)</td>
16269 <td></td><td></td>
16270 </tr>
16271 </table>
16272</div><div class="memdoc">
16273
16274<p>Load an entire file in memory. </p>
16275<dl class="params"><dt>Parameters</dt><dd>
16276 <table class="params">
16277 <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>Name of the file to read. </td></tr>
16278 <tr><td class="paramdir">[in]</td><td class="paramname">binary</td><td>Is it a binary file ?</td></tr>
16279 </table>
16280 </dd>
16281</dl>
16282<dl class="section return"><dt>Returns</dt><dd>The content of the file. </dd></dl>
16283
Jenkinsb3a371b2018-05-23 11:36:53 +010016284<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00078">floor_to_multiple()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016285
16286</div>
16287</div>
16288<a class="anchor" id="a6452ac376d4adb94d93a93d678bb6757"></a>
16289<div class="memitem">
16290<div class="memproto">
16291 <table class="memname">
16292 <tr>
16293 <td class="memname">int arm_compute::round </td>
16294 <td>(</td>
16295 <td class="paramtype">float&#160;</td>
16296 <td class="paramname"><em>x</em>, </td>
16297 </tr>
16298 <tr>
16299 <td class="paramkey"></td>
16300 <td></td>
16301 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a>&#160;</td>
16302 <td class="paramname"><em>rounding_policy</em>&#160;</td>
16303 </tr>
16304 <tr>
16305 <td></td>
16306 <td>)</td>
16307 <td></td><td></td>
16308 </tr>
16309 </table>
16310</div><div class="memdoc">
16311
16312<p>Return a rounded value of x. </p>
16313<p>Rounding is done according to the rounding_policy.</p>
16314<dl class="params"><dt>Parameters</dt><dd>
16315 <table class="params">
16316 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Float value to be rounded. </td></tr>
16317 <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Policy determining how rounding is done.</td></tr>
16318 </table>
16319 </dd>
16320</dl>
16321<dl class="section return"><dt>Returns</dt><dd>Rounded value of the argument x. </dd></dl>
16322
Jenkins52ba29e2018-08-29 15:32:11 +000016323<p>Referenced by <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml#l00063">DATA_TEST_CASE()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00157">finalize()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00211">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00361">lktracker_stage1()</a>, <a class="el" href="activation__layer__qa8_8cl_source.xhtml#l00030">logistic_op()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00080">pooling_layer_MxN_quantized_nchw()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00166">pooling_layer_MxN_quantized_nhwc()</a>, and <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016324
16325</div>
16326</div>
16327<a class="anchor" id="a5e28a3911204ac952601f512c82b48f1"></a>
16328<div class="memitem">
16329<div class="memproto">
16330<table class="mlabels">
16331 <tr>
16332 <td class="mlabels-left">
16333 <table class="memname">
16334 <tr>
16335 <td class="memname">int32x4_t rounding_divide_by_pow2 </td>
16336 <td>(</td>
16337 <td class="paramtype">int32x4_t&#160;</td>
16338 <td class="paramname"><em>x</em>, </td>
16339 </tr>
16340 <tr>
16341 <td class="paramkey"></td>
16342 <td></td>
16343 <td class="paramtype">int&#160;</td>
16344 <td class="paramname"><em>exponent</em>&#160;</td>
16345 </tr>
16346 <tr>
16347 <td></td>
16348 <td>)</td>
16349 <td></td><td></td>
16350 </tr>
16351 </table>
16352 </td>
16353 <td class="mlabels-right">
16354<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16355 </tr>
16356</table>
16357</div><div class="memdoc">
16358
16359<p>Round to the nearest division by a power-of-two using exponent. </p>
16360<dl class="section note"><dt>Note</dt><dd>This function calculates the following expression: (x + 2^n -1 ) / 2^n where n = exponent</dd></dl>
16361<dl class="params"><dt>Parameters</dt><dd>
16362 <table class="params">
16363 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> of 4 elements </td></tr>
16364 <tr><td class="paramdir">[in]</td><td class="paramname">exponent</td><td>Integer value used to round to nearest division by a power-of-two</td></tr>
16365 </table>
16366 </dd>
16367</dl>
16368<dl class="section return"><dt>Returns</dt><dd>the nearest division by a power-of-two using exponent </dd></dl>
16369
16370<p>Definition at line <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">26</a> of file <a class="el" href="_n_e_asymm_8inl_source.xhtml">NEAsymm.inl</a>.</p>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000016371
16372<p>Referenced by <a class="el" href="_n_e_asymm_8h_source.xhtml#l00074">finalize_quantization()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016373<div class="fragment"><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;{</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">const</span> int32x4_t shift_vec = vdupq_n_s32(-exponent);</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> int32x4_t fixup = vshrq_n_s32(vandq_s32(x, shift_vec), 31);</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">const</span> int32x4_t fixed_up_x = vqaddq_s32(x, fixup);</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">return</span> vrshlq_s32(fixed_up_x, shift_vec);</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010016374</div>
16375</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010016376<a class="anchor" id="ac78192301777700de24d8c75667baf35"></a>
Anthony Barbier871448e2017-03-24 14:54:29 +000016377<div class="memitem">
16378<div class="memproto">
16379 <table class="memname">
16380 <tr>
16381 <td class="memname">const std::pair&lt;unsigned int, unsigned int&gt; arm_compute::scaled_dimensions </td>
16382 <td>(</td>
16383 <td class="paramtype">unsigned int&#160;</td>
16384 <td class="paramname"><em>width</em>, </td>
16385 </tr>
16386 <tr>
16387 <td class="paramkey"></td>
16388 <td></td>
16389 <td class="paramtype">unsigned int&#160;</td>
16390 <td class="paramname"><em>height</em>, </td>
16391 </tr>
16392 <tr>
16393 <td class="paramkey"></td>
16394 <td></td>
16395 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010016396 <td class="paramname"><em>kernel_width</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016397 </tr>
16398 <tr>
16399 <td class="paramkey"></td>
16400 <td></td>
16401 <td class="paramtype">unsigned int&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010016402 <td class="paramname"><em>kernel_height</em>, </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016403 </tr>
16404 <tr>
16405 <td class="paramkey"></td>
16406 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016407 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;&#160;</td>
Jenkinsb3a371b2018-05-23 11:36:53 +010016408 <td class="paramname"><em>pad_stride_info</em>, </td>
16409 </tr>
16410 <tr>
16411 <td class="paramkey"></td>
16412 <td></td>
16413 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
16414 <td class="paramname"><em>dilation</em> = <code><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a>(1U,&#160;1U)</code>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016415 </tr>
16416 <tr>
16417 <td></td>
16418 <td>)</td>
16419 <td></td><td></td>
16420 </tr>
16421 </table>
16422</div><div class="memdoc">
16423
16424<p>Returns expected width and height of output scaled tensor depending on dimensions rounding mode. </p>
16425<dl class="params"><dt>Parameters</dt><dd>
16426 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010016427 <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Width of input tensor (Number of columns) </td></tr>
16428 <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Height of input tensor (Number of rows) </td></tr>
Kaizen8938bd32017-09-28 14:38:23 +010016429 <tr><td class="paramdir">[in]</td><td class="paramname">kernel_width</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> width. </td></tr>
16430 <tr><td class="paramdir">[in]</td><td class="paramname">kernel_height</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> height. </td></tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010016431 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Pad and stride information. </td></tr>
16432 <tr><td class="paramdir">[in]</td><td class="paramname">dilation</td><td>(Optional) Dilation, in elements, across x and y. Defaults to (1, 1).</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000016433 </table>
16434 </dd>
16435</dl>
16436<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>
16437
Jenkins52ba29e2018-08-29 15:32:11 +000016438<p>Referenced by <a class="el" href="_shape_calculator_8h_source.xhtml#l00341">arm_compute::misc::shape_calculator::compute_deep_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00169">arm_compute::misc::shape_calculator::compute_depthwise_convolution_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00202">arm_compute::misc::shape_calculator::compute_im2col_conv_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00376">arm_compute::misc::shape_calculator::compute_pool_shape()</a>, <a class="el" href="_shape_calculator_8h_source.xhtml#l00315">arm_compute::misc::shape_calculator::compute_winograd_output_transform_shape()</a>, <a class="el" href="validation_2reference_2_convolution_layer_8cpp_source.xhtml#l00049">arm_compute::test::validation::reference::convolution_layer_nchw()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::im2col_nchw()</a>, <a class="el" href="reference_2_im2_col_8cpp_source.xhtml#l00139">arm_compute::test::validation::reference::im2col_nhwc_channel_first()</a>, and <a class="el" href="reference_2_locally_connected_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::locally_connected()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016439
16440</div>
16441</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016442<a class="anchor" id="a18ec57dffc5c26864be77318111dfb2a"></a>
16443<div class="memitem">
16444<div class="memproto">
16445<table class="mlabels">
16446 <tr>
16447 <td class="mlabels-left">
16448 <table class="memname">
16449 <tr>
16450 <td class="memname">bool arm_compute::separate_matrix </td>
16451 <td>(</td>
16452 <td class="paramtype">const int16_t *&#160;</td>
16453 <td class="paramname"><em>conv</em>, </td>
16454 </tr>
16455 <tr>
16456 <td class="paramkey"></td>
16457 <td></td>
16458 <td class="paramtype">int16_t *&#160;</td>
16459 <td class="paramname"><em>conv_col</em>, </td>
16460 </tr>
16461 <tr>
16462 <td class="paramkey"></td>
16463 <td></td>
16464 <td class="paramtype">int16_t *&#160;</td>
16465 <td class="paramname"><em>conv_row</em>, </td>
16466 </tr>
16467 <tr>
16468 <td class="paramkey"></td>
16469 <td></td>
16470 <td class="paramtype">uint8_t&#160;</td>
16471 <td class="paramname"><em>size</em>&#160;</td>
16472 </tr>
16473 <tr>
16474 <td></td>
16475 <td>)</td>
16476 <td></td><td></td>
16477 </tr>
16478 </table>
16479 </td>
16480 <td class="mlabels-right">
16481<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16482 </tr>
16483</table>
16484</div><div class="memdoc">
16485
16486<p>Separate a 2D convolution into two 1D convolutions. </p>
16487<dl class="params"><dt>Parameters</dt><dd>
16488 <table class="params">
16489 <tr><td class="paramdir">[in]</td><td class="paramname">conv</td><td>2D convolution </td></tr>
16490 <tr><td class="paramdir">[out]</td><td class="paramname">conv_col</td><td>1D vertical convolution </td></tr>
16491 <tr><td class="paramdir">[out]</td><td class="paramname">conv_row</td><td>1D horizontal convolution </td></tr>
16492 <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the 2D convolution</td></tr>
16493 </table>
16494 </dd>
16495</dl>
16496<dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
16497
Jenkins52ba29e2018-08-29 15:32:11 +000016498<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00566">566</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
16499<div class="fragment"><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;{</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; int32_t min_col = -1;</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; int16_t min_col_val = -1;</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; <span class="keywordflow">for</span>(int32_t i = 0; i &lt; size; ++i)</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="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i] != 0 &amp;&amp; (min_col &lt; 0 || abs(min_col_val) &gt; abs(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i])))</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; min_col = i;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; min_col_val = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i];</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; }</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">if</span>(min_col &lt; 0)</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; {</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; }</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">for</span>(uint32_t j = 0; j &lt; size; ++j)</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; conv_col[j] = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[min_col + j * size];</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; }</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; size; i++)</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; {</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">if</span>(static_cast&lt;int&gt;(i) == min_col)</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; {</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; conv_row[i] = 1;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; }</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; {</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; int16_t coeff = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i] / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[min_col];</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; <span class="keywordflow">for</span>(uint32_t j = 1; j &lt; size; ++j)</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="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">conv</a>[i + j * size] != (conv_col[j] * coeff))</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; {</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; }</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; }</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; conv_row[i] = coeff;</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; }</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; }</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_adf88bb8e946175c496fb362aa458128b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#adf88bb8e946175c496fb362aa458128b">arm_compute::test::validation::conv</a></div><div class="ttdeci">int16_t conv[25]</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_convolution_8cpp_source.xhtml#l00140">Convolution.cpp:140</a></div></div>
Jenkinsb3a371b2018-05-23 11:36:53 +010016500</div><!-- fragment -->
16501</div>
16502</div>
16503<a class="anchor" id="aafd98bfd4651f36d691ddd2631a6e5a0"></a>
16504<div class="memitem">
16505<div class="memproto">
16506<table class="mlabels">
16507 <tr>
16508 <td class="mlabels-left">
16509 <table class="memname">
16510 <tr>
16511 <td class="memname">bool set_data_layout_if_unknown </td>
16512 <td>(</td>
16513 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
16514 <td class="paramname"><em>info</em>, </td>
16515 </tr>
16516 <tr>
16517 <td class="paramkey"></td>
16518 <td></td>
16519 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
16520 <td class="paramname"><em>data_layout</em>&#160;</td>
16521 </tr>
16522 <tr>
16523 <td></td>
16524 <td>)</td>
16525 <td></td><td></td>
16526 </tr>
16527 </table>
16528 </td>
16529 <td class="mlabels-right">
16530<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16531 </tr>
16532</table>
16533</div><div class="memdoc">
16534
16535<p>Set the data layout to the specified value if the current data layout is unknown. </p>
16536<dl class="params"><dt>Parameters</dt><dd>
16537 <table class="params">
16538 <tr><td class="paramdir">[in,out]</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 used to check and assign. </td></tr>
16539 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>New data layout.</td></tr>
16540 </table>
16541 </dd>
16542</dl>
16543<dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
16544
Jenkins52ba29e2018-08-29 15:32:11 +000016545<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00267">267</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016546
16547<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a367b5090ab432bc7de2c32369e087ab1">ITensorInfo::data_layout()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#abb9481fe056b9749f9b4c08db101cc15">ITensorInfo::set_data_layout()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
16548
16549<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016550<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;{</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_layout() == DataLayout::UNKNOWN)</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; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_layout(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a>);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</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; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</a></div></div>
16551<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016552</div><!-- fragment -->
16553</div>
16554</div>
16555<a class="anchor" id="ad19446be52c2c162fa678b9ae236f445"></a>
16556<div class="memitem">
16557<div class="memproto">
16558<table class="mlabels">
16559 <tr>
16560 <td class="mlabels-left">
16561 <table class="memname">
16562 <tr>
16563 <td class="memname">bool set_data_type_if_unknown </td>
16564 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016565 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016566 <td class="paramname"><em>info</em>, </td>
16567 </tr>
16568 <tr>
16569 <td class="paramkey"></td>
16570 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016571 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016572 <td class="paramname"><em>data_type</em>&#160;</td>
16573 </tr>
16574 <tr>
16575 <td></td>
16576 <td>)</td>
16577 <td></td><td></td>
16578 </tr>
16579 </table>
16580 </td>
16581 <td class="mlabels-right">
16582<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16583 </tr>
16584</table>
16585</div><div class="memdoc">
16586
Jenkinsb3a371b2018-05-23 11:36:53 +010016587<p>Set the data type and number of channels to the specified value if the current data type is unknown. </p>
16588<dl class="params"><dt>Parameters</dt><dd>
16589 <table class="params">
16590 <tr><td class="paramdir">[in,out]</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 used to check and assign. </td></tr>
16591 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>New data type.</td></tr>
16592 </table>
16593 </dd>
16594</dl>
16595<dl class="section return"><dt>Returns</dt><dd>True if the data type has been changed. </dd></dl>
16596
Jenkins52ba29e2018-08-29 15:32:11 +000016597<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00256">256</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016598
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016599<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
16600
Jenkinsb3a371b2018-05-23 11:36:53 +010016601<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016602<div class="fragment"><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">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</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; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</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="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
16603<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016604</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010016605</div>
16606</div>
16607<a class="anchor" id="a8076ba239b6681067b6cfea7f773a39f"></a>
16608<div class="memitem">
16609<div class="memproto">
16610<table class="mlabels">
16611 <tr>
16612 <td class="mlabels-left">
16613 <table class="memname">
16614 <tr>
16615 <td class="memname">bool set_format_if_unknown </td>
16616 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016617 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016618 <td class="paramname"><em>info</em>, </td>
16619 </tr>
16620 <tr>
16621 <td class="paramkey"></td>
16622 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016623 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016624 <td class="paramname"><em>format</em>&#160;</td>
16625 </tr>
16626 <tr>
16627 <td></td>
16628 <td>)</td>
16629 <td></td><td></td>
16630 </tr>
16631 </table>
16632 </td>
16633 <td class="mlabels-right">
16634<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16635 </tr>
16636</table>
16637</div><div class="memdoc">
16638
Jenkinsb3a371b2018-05-23 11:36:53 +010016639<p>Set the format, data type and number of channels to the specified value if the current data type is unknown. </p>
16640<dl class="params"><dt>Parameters</dt><dd>
16641 <table class="params">
16642 <tr><td class="paramdir">[in,out]</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 used to check and assign. </td></tr>
16643 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>New format.</td></tr>
16644 </table>
16645 </dd>
16646</dl>
16647<dl class="section return"><dt>Returns</dt><dd>True if the format has been changed. </dd></dl>
16648
Jenkins52ba29e2018-08-29 15:32:11 +000016649<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00245">245</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016650
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016651<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a17394f0f7aea22d9b2d4c6f33bfa69ca">ITensorInfo::set_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
16652
Jenkinsb3a371b2018-05-23 11:36:53 +010016653<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016654<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;{</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_format(format);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016655</div><!-- fragment -->
16656</div>
16657</div>
16658<a class="anchor" id="a75509469ec2689ec143f4a37bbcb4437"></a>
16659<div class="memitem">
16660<div class="memproto">
16661<table class="mlabels">
16662 <tr>
16663 <td class="mlabels-left">
16664 <table class="memname">
16665 <tr>
16666 <td class="memname">bool set_quantization_info_if_empty </td>
16667 <td>(</td>
16668 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
16669 <td class="paramname"><em>info</em>, </td>
16670 </tr>
16671 <tr>
16672 <td class="paramkey"></td>
16673 <td></td>
16674 <td class="paramtype"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>&#160;</td>
16675 <td class="paramname"><em>quantization_info</em>&#160;</td>
16676 </tr>
16677 <tr>
16678 <td></td>
16679 <td>)</td>
16680 <td></td><td></td>
16681 </tr>
16682 </table>
16683 </td>
16684 <td class="mlabels-right">
16685<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16686 </tr>
16687</table>
16688</div><div class="memdoc">
16689
Jenkinsb3a371b2018-05-23 11:36:53 +010016690<p>Set the quantization info to the specified value if the current quantization info is empty and the data type of asymmetric quantized type. </p>
16691<dl class="params"><dt>Parameters</dt><dd>
16692 <table class="params">
16693 <tr><td class="paramdir">[in,out]</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 used to check and assign. </td></tr>
16694 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Quantization info</td></tr>
16695 </table>
16696 </dd>
16697</dl>
16698<dl class="section return"><dt>Returns</dt><dd>True if the quantization info has been changed. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016699
Jenkins52ba29e2018-08-29 15:32:11 +000016700<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00278">278</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016701
Jenkins52ba29e2018-08-29 15:32:11 +000016702<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00197">QuantizationInfo::empty()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00992">is_data_type_quantized_asymmetric()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a575d37eaf8a905c8ca3c0250757c2b81">ITensorInfo::set_quantization_info()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016703
16704<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016705<div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;{</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.quantization_info().empty() &amp;&amp; (<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type())))</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
16706<div class="ttc" id="namespacearm__compute_xhtml_a14f46283f316e7f0fad301d5c1507e9f"><div class="ttname"><a href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">arm_compute::is_data_type_quantized_asymmetric</a></div><div class="ttdeci">bool is_data_type_quantized_asymmetric(DataType dt)</div><div class="ttdoc">Check if a given data type is of asymmetric quantized type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00992">Utils.h:992</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016707</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010016708</div>
16709</div>
16710<a class="anchor" id="a9d1a839c51134b2ae171a2264c541b6f"></a>
16711<div class="memitem">
16712<div class="memproto">
16713<table class="mlabels">
16714 <tr>
16715 <td class="mlabels-left">
16716 <table class="memname">
16717 <tr>
16718 <td class="memname">bool set_shape_if_empty </td>
16719 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016720 <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016721 <td class="paramname"><em>info</em>, </td>
16722 </tr>
16723 <tr>
16724 <td class="paramkey"></td>
16725 <td></td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016726 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016727 <td class="paramname"><em>shape</em>&#160;</td>
16728 </tr>
16729 <tr>
16730 <td></td>
16731 <td>)</td>
16732 <td></td><td></td>
16733 </tr>
16734 </table>
16735 </td>
16736 <td class="mlabels-right">
16737<span class="mlabels"><span class="mlabel">inline</span></span> </td>
16738 </tr>
16739</table>
16740</div><div class="memdoc">
16741
Jenkinsb3a371b2018-05-23 11:36:53 +010016742<p>Set the shape to the specified value if the current assignment is empty. </p>
16743<dl class="params"><dt>Parameters</dt><dd>
16744 <table class="params">
16745 <tr><td class="paramdir">[in,out]</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 used to check and assign. </td></tr>
16746 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>New shape.</td></tr>
16747 </table>
16748 </dd>
16749</dl>
16750<dl class="section return"><dt>Returns</dt><dd>True if the shape has been changed. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010016751
Jenkins52ba29e2018-08-29 15:32:11 +000016752<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00234">234</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016753
Jenkins52ba29e2018-08-29 15:32:11 +000016754<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a12a4f1190952613e36b44846962e26bb">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00171">TensorShape::total_size()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016755
16756<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00553">permute()</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +000016757<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;{</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div><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; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</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> <span class="keyword">false</span>;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010016758<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
16759</div><!-- fragment -->
Anthony Barbierdbdab852017-06-23 15:42:00 +010016760</div>
16761</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000016762<a class="anchor" id="ac955c978e18cc9bf6daea31f13076fba"></a>
16763<div class="memitem">
16764<div class="memproto">
16765 <table class="memname">
16766 <tr>
16767 <td class="memname">const std::string&amp; arm_compute::string_from_activation_func </td>
16768 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016769 <td class="paramtype"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016770 <td class="paramname"><em>act</em></td><td>)</td>
16771 <td></td>
16772 </tr>
16773 </table>
16774</div><div class="memdoc">
16775
16776<p>Translates a given activation function to a string. </p>
16777<dl class="params"><dt>Parameters</dt><dd>
16778 <table class="params">
16779 <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>
16780 </table>
16781 </dd>
16782</dl>
16783<dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
16784
Jenkins52ba29e2018-08-29 15:32:11 +000016785<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016786
Anthony Barbier871448e2017-03-24 14:54:29 +000016787</div>
16788</div>
16789<a class="anchor" id="abd15add5c6c7de5c8205ce236875aadd"></a>
16790<div class="memitem">
16791<div class="memproto">
16792 <table class="memname">
16793 <tr>
16794 <td class="memname">const std::string&amp; arm_compute::string_from_border_mode </td>
16795 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016796 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016797 <td class="paramname"><em>border_mode</em></td><td>)</td>
16798 <td></td>
16799 </tr>
16800 </table>
16801</div><div class="memdoc">
16802
16803<p>Translates a given border mode policy to a string. </p>
16804<dl class="params"><dt>Parameters</dt><dd>
16805 <table class="params">
16806 <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>
16807 </table>
16808 </dd>
16809</dl>
16810<dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
16811
Jenkins52ba29e2018-08-29 15:32:11 +000016812<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016813
Anthony Barbier871448e2017-03-24 14:54:29 +000016814</div>
16815</div>
16816<a class="anchor" id="a106c203dd6af234d38452ea0ee7b2ddc"></a>
16817<div class="memitem">
16818<div class="memproto">
16819 <table class="memname">
16820 <tr>
16821 <td class="memname">const std::string&amp; arm_compute::string_from_channel </td>
16822 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016823 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016824 <td class="paramname"><em>channel</em></td><td>)</td>
16825 <td></td>
16826 </tr>
16827 </table>
16828</div><div class="memdoc">
16829
16830<p>Convert a channel identity into a string. </p>
16831<dl class="params"><dt>Parameters</dt><dd>
16832 <table class="params">
16833 <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>
16834 </table>
16835 </dd>
16836</dl>
16837<dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
16838
Jenkins52ba29e2018-08-29 15:32:11 +000016839<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010016840
16841</div>
16842</div>
16843<a class="anchor" id="aa7755f939796ad7076886813ff89ed77"></a>
16844<div class="memitem">
16845<div class="memproto">
16846 <table class="memname">
16847 <tr>
16848 <td class="memname">const std::string&amp; arm_compute::string_from_data_layout </td>
16849 <td>(</td>
16850 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
16851 <td class="paramname"><em>dl</em></td><td>)</td>
16852 <td></td>
16853 </tr>
16854 </table>
16855</div><div class="memdoc">
16856
16857<p>Convert a data layout identity into a string. </p>
16858<dl class="params"><dt>Parameters</dt><dd>
16859 <table class="params">
16860 <tr><td class="paramdir">[in]</td><td class="paramname">dl</td><td><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> to be translated to string.</td></tr>
16861 </table>
16862 </dd>
16863</dl>
16864<dl class="section return"><dt>Returns</dt><dd>The string describing the data layout. </dd></dl>
16865
Jenkins52ba29e2018-08-29 15:32:11 +000016866<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016867
Anthony Barbier871448e2017-03-24 14:54:29 +000016868</div>
16869</div>
16870<a class="anchor" id="aefa1d9648995e5eccc693c690e27aa88"></a>
16871<div class="memitem">
16872<div class="memproto">
16873 <table class="memname">
16874 <tr>
16875 <td class="memname">const std::string&amp; arm_compute::string_from_data_type </td>
16876 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016877 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016878 <td class="paramname"><em>dt</em></td><td>)</td>
16879 <td></td>
16880 </tr>
16881 </table>
16882</div><div class="memdoc">
16883
16884<p>Convert a data type identity into a string. </p>
16885<dl class="params"><dt>Parameters</dt><dd>
16886 <table class="params">
16887 <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>
16888 </table>
16889 </dd>
16890</dl>
16891<dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
16892
Jenkins52ba29e2018-08-29 15:32:11 +000016893<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00656">error_on_data_type_not_in()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000016894
16895</div>
16896</div>
16897<a class="anchor" id="a9c92c867fc64454545668d87b20979eb"></a>
16898<div class="memitem">
16899<div class="memproto">
16900 <table class="memname">
16901 <tr>
16902 <td class="memname">const std::string&amp; arm_compute::string_from_format </td>
16903 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016904 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016905 <td class="paramname"><em>format</em></td><td>)</td>
16906 <td></td>
16907 </tr>
16908 </table>
16909</div><div class="memdoc">
16910
16911<p>Convert a tensor format into a string. </p>
16912<dl class="params"><dt>Parameters</dt><dd>
16913 <table class="params">
16914 <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>
16915 </table>
16916 </dd>
16917</dl>
16918<dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
16919
Jenkins52ba29e2018-08-29 15:32:11 +000016920<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00623">error_on_format_not_in()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000016921
16922</div>
16923</div>
16924<a class="anchor" id="ade34f5e72f050fd3665f3294dfb15850"></a>
16925<div class="memitem">
16926<div class="memproto">
16927 <table class="memname">
16928 <tr>
16929 <td class="memname">const std::string&amp; arm_compute::string_from_interpolation_policy </td>
16930 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016931 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016932 <td class="paramname"><em>policy</em></td><td>)</td>
16933 <td></td>
16934 </tr>
16935 </table>
16936</div><div class="memdoc">
16937
16938<p>Translates a given interpolation policy to a string. </p>
16939<dl class="params"><dt>Parameters</dt><dd>
16940 <table class="params">
16941 <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>
16942 </table>
16943 </dd>
16944</dl>
16945<dl class="section return"><dt>Returns</dt><dd>The string describing the interpolation policy. </dd></dl>
16946
Jenkins52ba29e2018-08-29 15:32:11 +000016947<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016948
Anthony Barbier871448e2017-03-24 14:54:29 +000016949</div>
16950</div>
16951<a class="anchor" id="a018795ab2489d17309e158ff5c060ab1"></a>
16952<div class="memitem">
16953<div class="memproto">
16954 <table class="memname">
16955 <tr>
16956 <td class="memname">const std::string&amp; arm_compute::string_from_matrix_pattern </td>
16957 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016958 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016959 <td class="paramname"><em>pattern</em></td><td>)</td>
16960 <td></td>
16961 </tr>
16962 </table>
16963</div><div class="memdoc">
16964
16965<p>Convert a matrix pattern into a string. </p>
16966<dl class="params"><dt>Parameters</dt><dd>
16967 <table class="params">
16968 <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>
16969 </table>
16970 </dd>
16971</dl>
16972<dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
16973
Jenkins52ba29e2018-08-29 15:32:11 +000016974<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016975
Anthony Barbier871448e2017-03-24 14:54:29 +000016976</div>
16977</div>
16978<a class="anchor" id="a14831547f57ecf5f0deef888ad41ad30"></a>
16979<div class="memitem">
16980<div class="memproto">
16981 <table class="memname">
16982 <tr>
16983 <td class="memname">const std::string&amp; arm_compute::string_from_non_linear_filter_function </td>
16984 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016985 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a>&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000016986 <td class="paramname"><em>function</em></td><td>)</td>
16987 <td></td>
16988 </tr>
16989 </table>
16990</div><div class="memdoc">
16991
16992<p>Translates a given non linear function to a string. </p>
16993<dl class="params"><dt>Parameters</dt><dd>
16994 <table class="params">
16995 <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>
16996 </table>
16997 </dd>
16998</dl>
16999<dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
17000
Jenkins52ba29e2018-08-29 15:32:11 +000017001<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017002
Anthony Barbierdbdab852017-06-23 15:42:00 +010017003</div>
17004</div>
17005<a class="anchor" id="afb5698af5404d5d11e3516c87b6e7041"></a>
17006<div class="memitem">
17007<div class="memproto">
17008 <table class="memname">
17009 <tr>
17010 <td class="memname">const std::string&amp; arm_compute::string_from_norm_type </td>
17011 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017012 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017013 <td class="paramname"><em>type</em></td><td>)</td>
17014 <td></td>
17015 </tr>
17016 </table>
17017</div><div class="memdoc">
17018
17019<p>Translates a given normalization type to a string. </p>
17020<dl class="params"><dt>Parameters</dt><dd>
17021 <table class="params">
17022 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> to be translated to string.</td></tr>
17023 </table>
17024 </dd>
17025</dl>
17026<dl class="section return"><dt>Returns</dt><dd>The string describing the normalization type. </dd></dl>
17027
Jenkins52ba29e2018-08-29 15:32:11 +000017028<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017029
Kaizen8938bd32017-09-28 14:38:23 +010017030</div>
17031</div>
17032<a class="anchor" id="a84a03e85d2c40bf54ec8cdd5e3715c58"></a>
17033<div class="memitem">
17034<div class="memproto">
17035 <table class="memname">
17036 <tr>
17037 <td class="memname">const std::string&amp; arm_compute::string_from_pooling_type </td>
17038 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017039 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a>&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017040 <td class="paramname"><em>type</em></td><td>)</td>
17041 <td></td>
17042 </tr>
17043 </table>
17044</div><div class="memdoc">
17045
17046<p>Translates a given pooling type to a string. </p>
17047<dl class="params"><dt>Parameters</dt><dd>
17048 <table class="params">
17049 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> to be translated to string.</td></tr>
17050 </table>
17051 </dd>
17052</dl>
17053<dl class="section return"><dt>Returns</dt><dd>The string describing the pooling type. </dd></dl>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017054
Jenkins52ba29e2018-08-29 15:32:11 +000017055<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00761">data_type_for_convolution_matrix()</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017056
Anthony Barbierdbdab852017-06-23 15:42:00 +010017057</div>
17058</div>
17059<a class="anchor" id="aa5191117dc677a74552769b87131b1b6"></a>
17060<div class="memitem">
17061<div class="memproto">
17062 <table class="memname">
17063 <tr>
17064 <td class="memname">const std::string&amp; arm_compute::string_from_scheduler_type </td>
17065 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017066 <td class="paramtype"><a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017067 <td class="paramname"><em>t</em></td><td>)</td>
17068 <td></td>
17069 </tr>
17070 </table>
17071</div><div class="memdoc">
17072
Jenkinsb3a371b2018-05-23 11:36:53 +010017073<p>Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7" title="Scheduler type. ">Scheduler::Type</a> into a string. </p>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017074<dl class="params"><dt>Parameters</dt><dd>
17075 <table class="params">
17076 <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td><a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> to be translated to string.</td></tr>
17077 </table>
17078 </dd>
17079</dl>
17080<dl class="section return"><dt>Returns</dt><dd>The string describing the scheduler type. </dd></dl>
17081
17082</div>
17083</div>
17084<a class="anchor" id="afab814721e78cbfc34e7e7fe2874fa56"></a>
17085<div class="memitem">
17086<div class="memproto">
17087 <table class="memname">
17088 <tr>
17089 <td class="memname">const std::string&amp; arm_compute::string_from_target </td>
17090 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017091 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010017092 <td class="paramname"><em>target</em></td><td>)</td>
17093 <td></td>
17094 </tr>
17095 </table>
17096</div><div class="memdoc">
17097
17098<p>Translates a given gpu device target to string. </p>
17099<dl class="params"><dt>Parameters</dt><dd>
17100 <table class="params">
17101 <tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>Given gpu target.</td></tr>
17102 </table>
17103 </dd>
17104</dl>
17105<dl class="section return"><dt>Returns</dt><dd>The string describing the target. </dd></dl>
Anthony Barbier871448e2017-03-24 14:54:29 +000017106
17107</div>
17108</div>
Jenkins52ba29e2018-08-29 15:32:11 +000017109<a class="anchor" id="ab75d8ff29ba9b398d5740b3efd156e71"></a>
17110<div class="memitem">
17111<div class="memproto">
17112<table class="mlabels">
17113 <tr>
17114 <td class="mlabels-left">
17115 <table class="memname">
17116 <tr>
17117 <td class="memname">std::string arm_compute::to_string </td>
17118 <td>(</td>
17119 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> &amp;&#160;</td>
17120 <td class="paramname"><em>type</em></td><td>)</td>
17121 <td></td>
17122 </tr>
17123 </table>
17124 </td>
17125 <td class="mlabels-right">
17126<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17127 </tr>
17128</table>
17129</div><div class="memdoc">
17130
17131<p>Formatted output of the GradientDimension type. </p>
17132<dl class="params"><dt>Parameters</dt><dd>
17133 <table class="params">
17134 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
17135 </table>
17136 </dd>
17137</dl>
17138<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
17139
17140<p>Definition at line <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00064">64</a> of file <a class="el" href="tests_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17141
17142<p>Referenced by <a class="el" href="_function_helpers_8h_source.xhtml#l00131">arm_compute::graph::backends::detail::create_batch_normalization_layer()</a>, <a class="el" href="_initializer_list_dataset_8h_source.xhtml#l00085">InitializerListDataset&lt; T &gt;::iterator::description()</a>, <a class="el" href="main_8cpp_source.xhtml#l00087">main()</a>, and <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00051">to_string_if_not_null()</a>.</p>
17143<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; std::stringstream str;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div></div><!-- fragment -->
17144</div>
17145</div>
Kaizen8938bd32017-09-28 14:38:23 +010017146<a class="anchor" id="aabe16be22edb41656e66ed9eae3b69e6"></a>
17147<div class="memitem">
17148<div class="memproto">
17149<table class="mlabels">
17150 <tr>
17151 <td class="mlabels-left">
17152 <table class="memname">
17153 <tr>
17154 <td class="memname">std::string arm_compute::to_string </td>
17155 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017156 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017157 <td class="paramname"><em>function</em></td><td>)</td>
17158 <td></td>
17159 </tr>
17160 </table>
17161 </td>
17162 <td class="mlabels-right">
17163<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17164 </tr>
17165</table>
17166</div><div class="memdoc">
17167
Jenkinsb3a371b2018-05-23 11:36:53 +010017168<p>Formatted output of the NonLinearFilterFunction type. </p>
17169<dl class="params"><dt>Parameters</dt><dd>
17170 <table class="params">
17171 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Type to output.</td></tr>
17172 </table>
17173 </dd>
17174</dl>
17175<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017176
Jenkins52ba29e2018-08-29 15:32:11 +000017177<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00118">118</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17178<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; str &lt;&lt; <span class="keyword">function</span>;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010017179</div>
17180</div>
17181<a class="anchor" id="a27f0ebddef1b83e0ac31c7a7a23a8d36"></a>
17182<div class="memitem">
17183<div class="memproto">
17184<table class="mlabels">
17185 <tr>
17186 <td class="mlabels-left">
17187 <table class="memname">
17188 <tr>
17189 <td class="memname">std::string arm_compute::to_string </td>
17190 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017191 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017192 <td class="paramname"><em>pattern</em></td><td>)</td>
17193 <td></td>
17194 </tr>
17195 </table>
17196 </td>
17197 <td class="mlabels-right">
17198<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17199 </tr>
17200</table>
17201</div><div class="memdoc">
17202
Jenkinsb3a371b2018-05-23 11:36:53 +010017203<p>Formatted output of the MatrixPattern type. </p>
17204<dl class="params"><dt>Parameters</dt><dd>
17205 <table class="params">
17206 <tr><td class="paramdir">[in]</td><td class="paramname">pattern</td><td>Type to output.</td></tr>
17207 </table>
17208 </dd>
17209</dl>
17210<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017211
Jenkins52ba29e2018-08-29 15:32:11 +000017212<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00161">161</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17213<div class="fragment"><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;{</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; std::stringstream str;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; str &lt;&lt; pattern;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017214</div>
17215</div>
17216<a class="anchor" id="ad9fd48b3c01116b217a684aaeaf8b24f"></a>
17217<div class="memitem">
17218<div class="memproto">
17219<table class="mlabels">
17220 <tr>
17221 <td class="mlabels-left">
17222 <table class="memname">
17223 <tr>
17224 <td class="memname">std::string arm_compute::to_string </td>
17225 <td>(</td>
17226 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &amp;&#160;</td>
17227 <td class="paramname"><em>quantization_info</em></td><td>)</td>
17228 <td></td>
17229 </tr>
17230 </table>
17231 </td>
17232 <td class="mlabels-right">
17233<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17234 </tr>
17235</table>
17236</div><div class="memdoc">
17237
Jenkinsb3a371b2018-05-23 11:36:53 +010017238<p>Formatted output of the <a class="el" href="structarm__compute_1_1_quantization_info.xhtml" title="Quantization settings (used for QASYMM8 data type) ">QuantizationInfo</a> type. </p>
17239<dl class="params"><dt>Parameters</dt><dd>
17240 <table class="params">
17241 <tr><td class="paramdir">[in]</td><td class="paramname">quantization_info</td><td>Type to output.</td></tr>
17242 </table>
17243 </dd>
17244</dl>
17245<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017246
Jenkins52ba29e2018-08-29 15:32:11 +000017247<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00243">243</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17248<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; str &lt;&lt; quantization_info;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010017249</div>
17250</div>
17251<a class="anchor" id="a72626d2cca3922127c41526e37e9e623"></a>
17252<div class="memitem">
17253<div class="memproto">
17254<table class="mlabels">
17255 <tr>
17256 <td class="mlabels-left">
17257 <table class="memname">
17258 <tr>
17259 <td class="memname">std::string arm_compute::to_string </td>
17260 <td>(</td>
17261 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">arm_compute::ActivationLayerInfo</a> &amp;&#160;</td>
17262 <td class="paramname"><em>info</em></td><td>)</td>
17263 <td></td>
17264 </tr>
17265 </table>
17266 </td>
17267 <td class="mlabels-right">
17268<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17269 </tr>
17270</table>
17271</div><div class="memdoc">
17272
Jenkinsb3a371b2018-05-23 11:36:53 +010017273<p>Formatted output of the activation function info type. </p>
17274<dl class="params"><dt>Parameters</dt><dd>
17275 <table class="params">
17276 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
17277 </table>
17278 </dd>
17279</dl>
17280<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017281
Jenkins52ba29e2018-08-29 15:32:11 +000017282<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00307">307</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017283
Jenkins52ba29e2018-08-29 15:32:11 +000017284<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00871">ActivationLayerInfo::activation()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00886">ActivationLayerInfo::enabled()</a>.</p>
17285<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; std::stringstream str;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">if</span>(info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a1d79980f25d38aba3d6777d0afe544f3">enabled</a>())</div><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; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">activation</a>();</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; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a63e05ce4946dd9807c005c1619fa337a"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">arm_compute::ActivationLayerInfo::activation</a></div><div class="ttdeci">ActivationFunction activation() const </div><div class="ttdoc">Get the type of activation function. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00871">Types.h:871</a></div></div>
17286<div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a1d79980f25d38aba3d6777d0afe544f3"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a1d79980f25d38aba3d6777d0afe544f3">arm_compute::ActivationLayerInfo::enabled</a></div><div class="ttdeci">bool enabled() const </div><div class="ttdoc">Check if initialised. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00886">Types.h:886</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017287</div><!-- fragment -->
17288</div>
17289</div>
17290<a class="anchor" id="a8a18c453150ab547c1add44b3ed3bc56"></a>
17291<div class="memitem">
17292<div class="memproto">
17293<table class="mlabels">
17294 <tr>
17295 <td class="mlabels-left">
17296 <table class="memname">
17297 <tr>
17298 <td class="memname">std::string arm_compute::to_string </td>
17299 <td>(</td>
17300 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">arm_compute::ActivationLayerInfo::ActivationFunction</a> &amp;&#160;</td>
17301 <td class="paramname"><em>function</em></td><td>)</td>
17302 <td></td>
17303 </tr>
17304 </table>
17305 </td>
17306 <td class="mlabels-right">
17307<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17308 </tr>
17309</table>
17310</div><div class="memdoc">
17311
Jenkinsb3a371b2018-05-23 11:36:53 +010017312<p>Formatted output of the activation function type. </p>
17313<dl class="params"><dt>Parameters</dt><dd>
17314 <table class="params">
17315 <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Type to output.</td></tr>
17316 </table>
17317 </dd>
17318</dl>
17319<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017320
Jenkins52ba29e2018-08-29 15:32:11 +000017321<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00323">323</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17322<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; str &lt;&lt; <span class="keyword">function</span>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010017323</div>
17324</div>
17325<a class="anchor" id="a45dd771bdecbafb975fd267c2ae320a7"></a>
17326<div class="memitem">
17327<div class="memproto">
17328<table class="mlabels">
17329 <tr>
17330 <td class="mlabels-left">
17331 <table class="memname">
17332 <tr>
17333 <td class="memname">std::string arm_compute::to_string </td>
17334 <td>(</td>
17335 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">arm_compute::NormalizationLayerInfo</a> &amp;&#160;</td>
17336 <td class="paramname"><em>info</em></td><td>)</td>
17337 <td></td>
17338 </tr>
17339 </table>
17340 </td>
17341 <td class="mlabels-right">
17342<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17343 </tr>
17344</table>
17345</div><div class="memdoc">
17346
Jenkinsb3a371b2018-05-23 11:36:53 +010017347<p>Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. </p>
17348<dl class="params"><dt>Parameters</dt><dd>
17349 <table class="params">
17350 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
17351 </table>
17352 </dd>
17353</dl>
17354<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017355
Jenkins52ba29e2018-08-29 15:32:11 +000017356<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00363">363</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017357
Jenkins52ba29e2018-08-29 15:32:11 +000017358<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00922">NormalizationLayerInfo::norm_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00917">NormalizationLayerInfo::type()</a>.</p>
17359<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; str &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">type</a>() &lt;&lt; <span class="stringliteral">&quot;:NormSize=&quot;</span> &lt;&lt; info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a0549be3702c05e6ec1ada69a6d08e349">norm_size</a>();</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a39f6445d0b790034f0d8fac36f2eb7f5"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">arm_compute::NormalizationLayerInfo::type</a></div><div class="ttdeci">NormType type() const </div><div class="ttdoc">Get the normalization type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00917">Types.h:917</a></div></div>
17360<div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a0549be3702c05e6ec1ada69a6d08e349"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a0549be3702c05e6ec1ada69a6d08e349">arm_compute::NormalizationLayerInfo::norm_size</a></div><div class="ttdeci">uint32_t norm_size() const </div><div class="ttdoc">Get the normalization size. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00922">Types.h:922</a></div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017361</div><!-- fragment -->
17362</div>
17363</div>
17364<a class="anchor" id="a25dac68b6321b9e53027e79222a0eb7f"></a>
17365<div class="memitem">
17366<div class="memproto">
17367<table class="mlabels">
17368 <tr>
17369 <td class="mlabels-left">
17370 <table class="memname">
17371 <tr>
17372 <td class="memname">std::string arm_compute::to_string </td>
17373 <td>(</td>
17374 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &amp;&#160;</td>
17375 <td class="paramname"><em>rounding_policy</em></td><td>)</td>
17376 <td></td>
17377 </tr>
17378 </table>
17379 </td>
17380 <td class="mlabels-right">
17381<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17382 </tr>
17383</table>
17384</div><div class="memdoc">
17385
Jenkinsb3a371b2018-05-23 11:36:53 +010017386<p>Formatted output of <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a>. </p>
17387<dl class="params"><dt>Parameters</dt><dd>
17388 <table class="params">
17389 <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Type to output.</td></tr>
17390 </table>
17391 </dd>
17392</dl>
17393<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017394
Jenkins52ba29e2018-08-29 15:32:11 +000017395<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00430">430</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017396
Jenkins52ba29e2018-08-29 15:32:11 +000017397<p>References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">arm_compute::test::validation::rounding_policy</a>.</p>
17398<div class="fragment"><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;{</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; std::stringstream str;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a60ad1078faeaf3f59266d69ad937339f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">arm_compute::test::validation::rounding_policy</a></div><div class="ttdeci">rounding_policy</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00168">PixelWiseMultiplication.cpp:168</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017399</div><!-- fragment -->
17400</div>
17401</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010017402<a class="anchor" id="ae1240e4698e8a901179e519102b5e033"></a>
17403<div class="memitem">
17404<div class="memproto">
17405<table class="mlabels">
17406 <tr>
17407 <td class="mlabels-left">
17408 <table class="memname">
17409 <tr>
17410 <td class="memname">std::string arm_compute::to_string </td>
17411 <td>(</td>
17412 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> &amp;&#160;</td>
17413 <td class="paramname"><em>data_layout</em></td><td>)</td>
17414 <td></td>
17415 </tr>
17416 </table>
17417 </td>
17418 <td class="mlabels-right">
17419<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17420 </tr>
17421</table>
17422</div><div class="memdoc">
17423
17424<p>Formatted output of the DataLayout type. </p>
17425<dl class="params"><dt>Parameters</dt><dd>
17426 <table class="params">
17427 <tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>Type to output.</td></tr>
17428 </table>
17429 </dd>
17430</dl>
17431<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
17432
Jenkins52ba29e2018-08-29 15:32:11 +000017433<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00470">470</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17434
17435<p>References <a class="el" href="_c_l_2_winograd_8cpp_source.xhtml#l00227">arm_compute::test::validation::data_layout</a>.</p>
17436<div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;{</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; std::stringstream str;</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">data_layout</a>;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a786677cbfb3f5677b4d84f3056eb08db"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a786677cbfb3f5677b4d84f3056eb08db">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_winograd_8cpp_source.xhtml#l00227">Winograd.cpp:227</a></div></div>
17437</div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010017438</div>
17439</div>
Kaizen8938bd32017-09-28 14:38:23 +010017440<a class="anchor" id="a96b47511b549b48d2ead05b5c757ccc9"></a>
17441<div class="memitem">
17442<div class="memproto">
17443<table class="mlabels">
17444 <tr>
17445 <td class="mlabels-left">
17446 <table class="memname">
17447 <tr>
17448 <td class="memname">std::string arm_compute::to_string </td>
17449 <td>(</td>
17450 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &amp;&#160;</td>
17451 <td class="paramname"><em>data_type</em></td><td>)</td>
17452 <td></td>
17453 </tr>
17454 </table>
17455 </td>
17456 <td class="mlabels-right">
17457<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17458 </tr>
17459</table>
17460</div><div class="memdoc">
17461
Jenkinsb3a371b2018-05-23 11:36:53 +010017462<p>Formatted output of the DataType type. </p>
17463<dl class="params"><dt>Parameters</dt><dd>
17464 <table class="params">
17465 <tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>Type to output.</td></tr>
17466 </table>
17467 </dd>
17468</dl>
17469<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017470
Jenkins52ba29e2018-08-29 15:32:11 +000017471<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00572">572</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017472
Jenkins52ba29e2018-08-29 15:32:11 +000017473<p>References <a class="el" href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">arm_compute::test::validation::data_type</a>.</p>
17474<div class="fragment"><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;{</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; std::stringstream str;</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_c_l_2_g_e_m_m_8cpp_source.xhtml#l00088">GEMM.cpp:88</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017475</div><!-- fragment -->
17476</div>
17477</div>
17478<a class="anchor" id="ab0e6381843dc9901bb59285ec846dc5d"></a>
17479<div class="memitem">
17480<div class="memproto">
17481<table class="mlabels">
17482 <tr>
17483 <td class="mlabels-left">
17484 <table class="memname">
17485 <tr>
17486 <td class="memname">std::string arm_compute::to_string </td>
17487 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017488 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017489 <td class="paramname"><em>format</em></td><td>)</td>
17490 <td></td>
17491 </tr>
17492 </table>
17493 </td>
17494 <td class="mlabels-right">
17495<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17496 </tr>
17497</table>
17498</div><div class="memdoc">
17499
Jenkinsb3a371b2018-05-23 11:36:53 +010017500<p>Formatted output of the Format type. </p>
17501<dl class="params"><dt>Parameters</dt><dd>
17502 <table class="params">
17503 <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Type to output.</td></tr>
17504 </table>
17505 </dd>
17506</dl>
17507<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017508
Jenkins52ba29e2018-08-29 15:32:11 +000017509<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00654">654</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17510<div class="fragment"><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;{</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; std::stringstream str;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; str &lt;&lt; format;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000017511</div>
17512</div>
17513<a class="anchor" id="a813e71cd70c2bbcbf0743fa83a3608b9"></a>
17514<div class="memitem">
17515<div class="memproto">
17516<table class="mlabels">
17517 <tr>
17518 <td class="mlabels-left">
17519 <table class="memname">
17520 <tr>
17521 <td class="memname">std::string arm_compute::to_string </td>
17522 <td>(</td>
17523 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &amp;&#160;</td>
17524 <td class="paramname"><em>channel</em></td><td>)</td>
17525 <td></td>
17526 </tr>
17527 </table>
17528 </td>
17529 <td class="mlabels-right">
17530<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17531 </tr>
17532</table>
17533</div><div class="memdoc">
17534
Jenkinsb3a371b2018-05-23 11:36:53 +010017535<p>Formatted output of the Channel type. </p>
17536<dl class="params"><dt>Parameters</dt><dd>
17537 <table class="params">
17538 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Type to output.</td></tr>
17539 </table>
17540 </dd>
17541</dl>
17542<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000017543
Jenkins52ba29e2018-08-29 15:32:11 +000017544<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00721">721</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17545<div class="fragment"><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;{</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; std::stringstream str;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; str &lt;&lt; channel;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017546</div>
17547</div>
17548<a class="anchor" id="a48fd5e28bdb4975c141841f0b96f8707"></a>
17549<div class="memitem">
17550<div class="memproto">
17551<table class="mlabels">
17552 <tr>
17553 <td class="mlabels-left">
17554 <table class="memname">
17555 <tr>
17556 <td class="memname">std::string arm_compute::to_string </td>
17557 <td>(</td>
17558 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
17559 <td class="paramname"><em>info</em></td><td>)</td>
17560 <td></td>
17561 </tr>
17562 </table>
17563 </td>
17564 <td class="mlabels-right">
17565<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17566 </tr>
17567</table>
17568</div><div class="memdoc">
17569
17570<p>Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_info.xhtml" title="Store the tensor&#39;s metadata. ">TensorInfo</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017571<dl class="params"><dt>Parameters</dt><dd>
17572 <table class="params">
17573 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
17574 </table>
17575 </dd>
17576</dl>
17577<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017578
Jenkins52ba29e2018-08-29 15:32:11 +000017579<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00843">843</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017580
Jenkins52ba29e2018-08-29 15:32:11 +000017581<p>References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
17582<div class="fragment"><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; std::stringstream str;</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017583</div><!-- fragment -->
17584</div>
17585</div>
17586<a class="anchor" id="aa32488ee1dd78e0464ed23e8cc2b6e49"></a>
17587<div class="memitem">
17588<div class="memproto">
17589<table class="mlabels">
17590 <tr>
17591 <td class="mlabels-left">
17592 <table class="memname">
17593 <tr>
17594 <td class="memname">std::string arm_compute::to_string </td>
17595 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017596 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>&lt; T &gt; &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017597 <td class="paramname"><em>dimensions</em></td><td>)</td>
17598 <td></td>
17599 </tr>
17600 </table>
17601 </td>
17602 <td class="mlabels-right">
17603<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17604 </tr>
17605</table>
17606</div><div class="memdoc">
17607
Jenkinsb3a371b2018-05-23 11:36:53 +010017608<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. </p>
17609<dl class="params"><dt>Parameters</dt><dd>
17610 <table class="params">
17611 <tr><td class="paramdir">[in]</td><td class="paramname">dimensions</td><td>Type to output.</td></tr>
17612 </table>
17613 </dd>
17614</dl>
17615<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017616
Jenkins52ba29e2018-08-29 15:32:11 +000017617<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00857">857</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17618<div class="fragment"><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;{</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; std::stringstream str;</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; str &lt;&lt; dimensions;</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010017619</div>
17620</div>
17621<a class="anchor" id="a1c4486f45128be7156e38e6dea345a16"></a>
17622<div class="memitem">
17623<div class="memproto">
17624<table class="mlabels">
17625 <tr>
17626 <td class="mlabels-left">
17627 <table class="memname">
17628 <tr>
17629 <td class="memname">std::string arm_compute::to_string </td>
17630 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017631 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> &amp;&#160;</td>
Kaizenbf8b01d2017-10-12 14:26:51 +010017632 <td class="paramname"><em>stride</em></td><td>)</td>
17633 <td></td>
17634 </tr>
17635 </table>
17636 </td>
17637 <td class="mlabels-right">
17638<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17639 </tr>
17640</table>
17641</div><div class="memdoc">
17642
Jenkinsb3a371b2018-05-23 11:36:53 +010017643<p>Formatted output of the <a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> type. </p>
17644<dl class="params"><dt>Parameters</dt><dd>
17645 <table class="params">
17646 <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Type to output.</td></tr>
17647 </table>
17648 </dd>
17649</dl>
17650<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017651
Jenkins52ba29e2018-08-29 15:32:11 +000017652<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00870">870</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17653<div class="fragment"><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160;{</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; std::stringstream str;</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; str &lt;&lt; stride;</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010017654</div>
17655</div>
17656<a class="anchor" id="a9d9b56d1b106b79fc5c5411372222d0f"></a>
17657<div class="memitem">
17658<div class="memproto">
17659<table class="mlabels">
17660 <tr>
17661 <td class="mlabels-left">
17662 <table class="memname">
17663 <tr>
17664 <td class="memname">std::string arm_compute::to_string </td>
17665 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017666 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017667 <td class="paramname"><em>shape</em></td><td>)</td>
17668 <td></td>
17669 </tr>
17670 </table>
17671 </td>
17672 <td class="mlabels-right">
17673<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17674 </tr>
17675</table>
17676</div><div class="memdoc">
17677
17678<p>Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017679<dl class="params"><dt>Parameters</dt><dd>
17680 <table class="params">
17681 <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Type to output.</td></tr>
17682 </table>
17683 </dd>
17684</dl>
17685<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010017686
Jenkins52ba29e2018-08-29 15:32:11 +000017687<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00883">883</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Kaizen8938bd32017-09-28 14:38:23 +010017688
Jenkins52ba29e2018-08-29 15:32:11 +000017689<p>References <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">arm_compute::test::validation::shape</a>.</p>
17690<div class="fragment"><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;{</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; std::stringstream str;</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00096">ArithmeticDivision.cpp:96</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010017691</div><!-- fragment -->
17692</div>
17693</div>
Kaizenbf8b01d2017-10-12 14:26:51 +010017694<a class="anchor" id="a805a74997e303d29108845956a674387"></a>
17695<div class="memitem">
17696<div class="memproto">
17697<table class="mlabels">
17698 <tr>
17699 <td class="mlabels-left">
17700 <table class="memname">
17701 <tr>
17702 <td class="memname">std::string arm_compute::to_string </td>
17703 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017704 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;&#160;</td>
Kaizenbf8b01d2017-10-12 14:26:51 +010017705 <td class="paramname"><em>coord</em></td><td>)</td>
17706 <td></td>
17707 </tr>
17708 </table>
17709 </td>
17710 <td class="mlabels-right">
17711<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17712 </tr>
17713</table>
17714</div><div class="memdoc">
17715
17716<p>Formatted output of the <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010017717<dl class="params"><dt>Parameters</dt><dd>
17718 <table class="params">
17719 <tr><td class="paramdir">[in]</td><td class="paramname">coord</td><td>Type to output.</td></tr>
17720 </table>
17721 </dd>
17722</dl>
17723<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizenbf8b01d2017-10-12 14:26:51 +010017724
Jenkins52ba29e2018-08-29 15:32:11 +000017725<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00896">896</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17726<div class="fragment"><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;{</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; std::stringstream str;</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; str &lt;&lt; coord;</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;}</div></div><!-- fragment -->
17727</div>
17728</div>
17729<a class="anchor" id="a26a595cd5522bae4fa1c4f2fb9b8f4d5"></a>
17730<div class="memitem">
17731<div class="memproto">
17732<table class="mlabels">
17733 <tr>
17734 <td class="mlabels-left">
17735 <table class="memname">
17736 <tr>
17737 <td class="memname">std::string arm_compute::to_string </td>
17738 <td>(</td>
17739 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &amp;&#160;</td>
17740 <td class="paramname"><em>info</em></td><td>)</td>
17741 <td></td>
17742 </tr>
17743 </table>
17744 </td>
17745 <td class="mlabels-right">
17746<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17747 </tr>
17748</table>
17749</div><div class="memdoc">
17750
17751<p>Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. </p>
17752<dl class="params"><dt>Parameters</dt><dd>
17753 <table class="params">
17754 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
17755 </table>
17756 </dd>
17757</dl>
17758<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
17759
17760<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00981">981</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17761
17762<p>References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
17763<div class="fragment"><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;{</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; std::stringstream str;</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
17764</div><!-- fragment -->
17765</div>
17766</div>
17767<a class="anchor" id="adac3c1908846c6361e664a353ad1c3cf"></a>
17768<div class="memitem">
17769<div class="memproto">
17770<table class="mlabels">
17771 <tr>
17772 <td class="mlabels-left">
17773 <table class="memname">
17774 <tr>
17775 <td class="memname">std::string arm_compute::to_string </td>
17776 <td>(</td>
17777 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml">GEMMReshapeInfo</a> &amp;&#160;</td>
17778 <td class="paramname"><em>info</em></td><td>)</td>
17779 <td></td>
17780 </tr>
17781 </table>
17782 </td>
17783 <td class="mlabels-right">
17784<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17785 </tr>
17786</table>
17787</div><div class="memdoc">
17788
17789<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_reshape_info.xhtml" title="GEMM reshape information class. ">GEMMReshapeInfo</a> type. </p>
17790<dl class="params"><dt>Parameters</dt><dd>
17791 <table class="params">
17792 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
17793 </table>
17794 </dd>
17795</dl>
17796<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
17797
17798<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00994">994</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17799
17800<p>References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
17801<div class="fragment"><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160;{</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; std::stringstream str;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
17802</div><!-- fragment -->
17803</div>
17804</div>
17805<a class="anchor" id="a8ac2dfdfad6db71a5cf2ecee6b70f722"></a>
17806<div class="memitem">
17807<div class="memproto">
17808<table class="mlabels">
17809 <tr>
17810 <td class="mlabels-left">
17811 <table class="memname">
17812 <tr>
17813 <td class="memname">std::string arm_compute::to_string </td>
17814 <td>(</td>
17815 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a> &amp;&#160;</td>
17816 <td class="paramname"><em>info</em></td><td>)</td>
17817 <td></td>
17818 </tr>
17819 </table>
17820 </td>
17821 <td class="mlabels-right">
17822<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17823 </tr>
17824</table>
17825</div><div class="memdoc">
17826
17827<p>Formatted output of the <a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml" title="GEMM information class. ">GEMMInfo</a> type. </p>
17828<dl class="params"><dt>Parameters</dt><dd>
17829 <table class="params">
17830 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
17831 </table>
17832 </dd>
17833</dl>
17834<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
17835
17836<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01007">1007</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17837
17838<p>References <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
17839<div class="fragment"><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;{</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; std::stringstream str;</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; str &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
17840</div><!-- fragment -->
17841</div>
17842</div>
17843<a class="anchor" id="ab6ea50ec0a98c2180e6530cfcb5eb366"></a>
17844<div class="memitem">
17845<div class="memproto">
17846<table class="mlabels">
17847 <tr>
17848 <td class="mlabels-left">
17849 <table class="memname">
17850 <tr>
17851 <td class="memname">std::string arm_compute::to_string </td>
17852 <td>(</td>
17853 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml">Window::Dimension</a> &amp;&#160;</td>
17854 <td class="paramname"><em>dim</em></td><td>)</td>
17855 <td></td>
17856 </tr>
17857 </table>
17858 </td>
17859 <td class="mlabels-right">
17860<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17861 </tr>
17862</table>
17863</div><div class="memdoc">
17864
17865<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window_1_1_dimension.xhtml" title="Describe one of the image&#39;s dimensions with a start, end and step. ">Window::Dimension</a> type. </p>
17866<dl class="params"><dt>Parameters</dt><dd>
17867 <table class="params">
17868 <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Type to output.</td></tr>
17869 </table>
17870 </dd>
17871</dl>
17872<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
17873
17874<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01020">1020</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17875<div class="fragment"><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;{</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; std::stringstream str;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; str &lt;&lt; dim;</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;}</div></div><!-- fragment -->
17876</div>
17877</div>
17878<a class="anchor" id="a99aba2774f142d36c6a286cbfe027772"></a>
17879<div class="memitem">
17880<div class="memproto">
17881<table class="mlabels">
17882 <tr>
17883 <td class="mlabels-left">
17884 <table class="memname">
17885 <tr>
17886 <td class="memname">std::string arm_compute::to_string </td>
17887 <td>(</td>
17888 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
17889 <td class="paramname"><em>win</em></td><td>)</td>
17890 <td></td>
17891 </tr>
17892 </table>
17893 </td>
17894 <td class="mlabels-right">
17895<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17896 </tr>
17897</table>
17898</div><div class="memdoc">
17899
17900<p>Formatted output of the <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> type. </p>
17901<dl class="params"><dt>Parameters</dt><dd>
17902 <table class="params">
17903 <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td>Type to output.</td></tr>
17904 </table>
17905 </dd>
17906</dl>
17907<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
17908
17909<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01032">1032</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17910<div class="fragment"><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;{</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; std::stringstream str;</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; str &lt;&lt; win;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010017911</div>
17912</div>
Kaizen8938bd32017-09-28 14:38:23 +010017913<a class="anchor" id="a2c0e6c1c4cf10da25e7a7362ba151ba2"></a>
17914<div class="memitem">
17915<div class="memproto">
17916<table class="mlabels">
17917 <tr>
17918 <td class="mlabels-left">
17919 <table class="memname">
17920 <tr>
17921 <td class="memname">std::string arm_compute::to_string </td>
17922 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017923 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017924 <td class="paramname"><em>pad_stride_info</em></td><td>)</td>
17925 <td></td>
17926 </tr>
17927 </table>
17928 </td>
17929 <td class="mlabels-right">
17930<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17931 </tr>
17932</table>
17933</div><div class="memdoc">
17934
Jenkinsb3a371b2018-05-23 11:36:53 +010017935<p>Formatted output of the <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml" title="Padding and stride information class. ">PadStrideInfo</a> type. </p>
17936<dl class="params"><dt>Parameters</dt><dd>
17937 <table class="params">
17938 <tr><td class="paramdir">[in]</td><td class="paramname">pad_stride_info</td><td>Type to output.</td></tr>
17939 </table>
17940 </dd>
17941</dl>
17942<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017943
Jenkins52ba29e2018-08-29 15:32:11 +000017944<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01077">1077</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17945<div class="fragment"><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;{</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; std::stringstream str;</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; str &lt;&lt; pad_stride_info;</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010017946</div>
17947</div>
17948<a class="anchor" id="a0604106dd269acd58152a81ba87cc265"></a>
17949<div class="memitem">
17950<div class="memproto">
17951<table class="mlabels">
17952 <tr>
17953 <td class="mlabels-left">
17954 <table class="memname">
17955 <tr>
17956 <td class="memname">std::string arm_compute::to_string </td>
17957 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017958 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010017959 <td class="paramname"><em>mode</em></td><td>)</td>
17960 <td></td>
17961 </tr>
17962 </table>
17963 </td>
17964 <td class="mlabels-right">
17965<span class="mlabels"><span class="mlabel">inline</span></span> </td>
17966 </tr>
17967</table>
17968</div><div class="memdoc">
17969
Jenkinsb3a371b2018-05-23 11:36:53 +010017970<p>Formatted output of the BorderMode type. </p>
17971<dl class="params"><dt>Parameters</dt><dd>
17972 <table class="params">
17973 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Type to output.</td></tr>
17974 </table>
17975 </dd>
17976</dl>
17977<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017978
Jenkins52ba29e2018-08-29 15:32:11 +000017979<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01090">1090</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
17980<div class="fragment"><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;{</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; std::stringstream str;</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; str &lt;&lt; mode;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;}</div></div><!-- fragment -->
Kaizenbf8b01d2017-10-12 14:26:51 +010017981</div>
17982</div>
17983<a class="anchor" id="a5c9cde9144eaeceaf086377b9bc5a5be"></a>
17984<div class="memitem">
17985<div class="memproto">
17986<table class="mlabels">
17987 <tr>
17988 <td class="mlabels-left">
17989 <table class="memname">
17990 <tr>
17991 <td class="memname">std::string arm_compute::to_string </td>
17992 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000017993 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> &amp;&#160;</td>
Kaizenbf8b01d2017-10-12 14:26:51 +010017994 <td class="paramname"><em>border</em></td><td>)</td>
17995 <td></td>
17996 </tr>
17997 </table>
17998 </td>
17999 <td class="mlabels-right">
18000<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18001 </tr>
18002</table>
18003</div><div class="memdoc">
18004
Jenkinsb3a371b2018-05-23 11:36:53 +010018005<p>Formatted output of the <a class="el" href="structarm__compute_1_1_border_size.xhtml" title="Container for 2D border size. ">BorderSize</a> type. </p>
18006<dl class="params"><dt>Parameters</dt><dd>
18007 <table class="params">
18008 <tr><td class="paramdir">[in]</td><td class="paramname">border</td><td>Type to output.</td></tr>
18009 </table>
18010 </dd>
18011</dl>
18012<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018013
Jenkins52ba29e2018-08-29 15:32:11 +000018014<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01103">1103</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18015<div class="fragment"><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;{</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; std::stringstream str;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; str &lt;&lt; border;</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010018016</div>
18017</div>
18018<a class="anchor" id="a94bd78942b683c05cba85048537d3ee7"></a>
18019<div class="memitem">
18020<div class="memproto">
18021<table class="mlabels">
18022 <tr>
18023 <td class="mlabels-left">
18024 <table class="memname">
18025 <tr>
18026 <td class="memname">std::string arm_compute::to_string </td>
18027 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018028 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018029 <td class="paramname"><em>policy</em></td><td>)</td>
18030 <td></td>
18031 </tr>
18032 </table>
18033 </td>
18034 <td class="mlabels-right">
18035<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18036 </tr>
18037</table>
18038</div><div class="memdoc">
18039
Jenkinsb3a371b2018-05-23 11:36:53 +010018040<p>Formatted output of the InterpolationPolicy type. </p>
18041<dl class="params"><dt>Parameters</dt><dd>
18042 <table class="params">
18043 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
18044 </table>
18045 </dd>
18046</dl>
18047<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018048
Jenkins52ba29e2018-08-29 15:32:11 +000018049<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01116">1116</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18050<div class="fragment"><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;{</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; std::stringstream str;</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; str &lt;&lt; policy;</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018051</div>
18052</div>
18053<a class="anchor" id="a5b8e815072ae54278cb1c91e254be4d3"></a>
18054<div class="memitem">
18055<div class="memproto">
18056<table class="mlabels">
18057 <tr>
18058 <td class="mlabels-left">
18059 <table class="memname">
18060 <tr>
18061 <td class="memname">std::string arm_compute::to_string </td>
18062 <td>(</td>
18063 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &amp;&#160;</td>
18064 <td class="paramname"><em>policy</em></td><td>)</td>
18065 <td></td>
18066 </tr>
18067 </table>
18068 </td>
18069 <td class="mlabels-right">
18070<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18071 </tr>
18072</table>
18073</div><div class="memdoc">
18074
Jenkinsb3a371b2018-05-23 11:36:53 +010018075<p>Formatted output of the SamplingPolicy type. </p>
18076<dl class="params"><dt>Parameters</dt><dd>
18077 <table class="params">
18078 <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>Type to output.</td></tr>
18079 </table>
18080 </dd>
18081</dl>
18082<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018083
Jenkins52ba29e2018-08-29 15:32:11 +000018084<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01129">1129</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18085<div class="fragment"><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;{</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; std::stringstream str;</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; str &lt;&lt; policy;</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010018086</div>
18087</div>
18088<a class="anchor" id="adcc7e107e7dbd2ffac02189089c33e4f"></a>
18089<div class="memitem">
18090<div class="memproto">
18091<table class="mlabels">
18092 <tr>
18093 <td class="mlabels-left">
18094 <table class="memname">
18095 <tr>
18096 <td class="memname">std::string arm_compute::to_string </td>
18097 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018098 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018099 <td class="paramname"><em>policy</em></td><td>)</td>
18100 <td></td>
18101 </tr>
18102 </table>
18103 </td>
18104 <td class="mlabels-right">
18105<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18106 </tr>
18107</table>
18108</div><div class="memdoc">
18109
Jenkins52ba29e2018-08-29 15:32:11 +000018110<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01160">1160</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18111<div class="fragment"><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;{</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160; std::stringstream str;</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; str &lt;&lt; policy;</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010018112</div>
18113</div>
18114<a class="anchor" id="aae534105c7ea67999ccbb34a0ed567cd"></a>
18115<div class="memitem">
18116<div class="memproto">
18117<table class="mlabels">
18118 <tr>
18119 <td class="mlabels-left">
18120 <table class="memname">
18121 <tr>
18122 <td class="memname">std::string arm_compute::to_string </td>
18123 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018124 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018125 <td class="paramname"><em>op</em></td><td>)</td>
18126 <td></td>
18127 </tr>
18128 </table>
18129 </td>
18130 <td class="mlabels-right">
18131<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18132 </tr>
18133</table>
18134</div><div class="memdoc">
18135
Jenkinsb3a371b2018-05-23 11:36:53 +010018136<p>Formatted output of the Reduction Operations. </p>
18137<dl class="params"><dt>Parameters</dt><dd>
18138 <table class="params">
18139 <tr><td class="paramdir">[in]</td><td class="paramname">op</td><td>Type to output.</td></tr>
18140 </table>
18141 </dd>
18142</dl>
18143<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018144
Jenkins52ba29e2018-08-29 15:32:11 +000018145<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01194">1194</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18146<div class="fragment"><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;{</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; std::stringstream str;</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; str &lt;&lt; op;</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010018147</div>
18148</div>
18149<a class="anchor" id="ad8b676c38d9b8d9d9bde7caec5720bd9"></a>
18150<div class="memitem">
18151<div class="memproto">
18152<table class="mlabels">
18153 <tr>
18154 <td class="mlabels-left">
18155 <table class="memname">
18156 <tr>
18157 <td class="memname">std::string arm_compute::to_string </td>
18158 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018159 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018160 <td class="paramname"><em>type</em></td><td>)</td>
18161 <td></td>
18162 </tr>
18163 </table>
18164 </td>
18165 <td class="mlabels-right">
18166<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18167 </tr>
18168</table>
18169</div><div class="memdoc">
18170
Jenkinsb3a371b2018-05-23 11:36:53 +010018171<p>Formatted output of the Norm Type. </p>
18172<dl class="params"><dt>Parameters</dt><dd>
18173 <table class="params">
18174 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
18175 </table>
18176 </dd>
18177</dl>
18178<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010018179
Jenkins52ba29e2018-08-29 15:32:11 +000018180<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01207">1207</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18181<div class="fragment"><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;{</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160; std::stringstream str;</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010018182</div>
18183</div>
18184<a class="anchor" id="a2872d19dd10dc3117813d291c08e0383"></a>
18185<div class="memitem">
18186<div class="memproto">
18187<table class="mlabels">
18188 <tr>
18189 <td class="mlabels-left">
18190 <table class="memname">
18191 <tr>
18192 <td class="memname">std::string arm_compute::to_string </td>
18193 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018194 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018195 <td class="paramname"><em>type</em></td><td>)</td>
18196 <td></td>
18197 </tr>
18198 </table>
18199 </td>
18200 <td class="mlabels-right">
18201<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18202 </tr>
18203</table>
18204</div><div class="memdoc">
18205
Jenkinsb3a371b2018-05-23 11:36:53 +010018206<p>Formatted output of the Pooling Type. </p>
18207<dl class="params"><dt>Parameters</dt><dd>
18208 <table class="params">
18209 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
18210 </table>
18211 </dd>
18212</dl>
18213<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010018214
Jenkins52ba29e2018-08-29 15:32:11 +000018215<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01220">1220</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18216<div class="fragment"><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;{</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160; std::stringstream str;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010018217</div>
18218</div>
18219<a class="anchor" id="acef515348c5f7f73c89aa4b8a47a02bc"></a>
18220<div class="memitem">
18221<div class="memproto">
18222<table class="mlabels">
18223 <tr>
18224 <td class="mlabels-left">
18225 <table class="memname">
18226 <tr>
18227 <td class="memname">std::string arm_compute::to_string </td>
18228 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018229 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> &amp;&#160;</td>
Kaizen8938bd32017-09-28 14:38:23 +010018230 <td class="paramname"><em>info</em></td><td>)</td>
18231 <td></td>
18232 </tr>
18233 </table>
18234 </td>
18235 <td class="mlabels-right">
18236<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18237 </tr>
18238</table>
18239</div><div class="memdoc">
18240
Jenkinsb3a371b2018-05-23 11:36:53 +010018241<p>Formatted output of the Pooling Layer Info. </p>
18242<dl class="params"><dt>Parameters</dt><dd>
18243 <table class="params">
18244 <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Type to output.</td></tr>
18245 </table>
18246 </dd>
18247</dl>
18248<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Kaizen8938bd32017-09-28 14:38:23 +010018249
Jenkins52ba29e2018-08-29 15:32:11 +000018250<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01233">1233</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010018251
Jenkins52ba29e2018-08-29 15:32:11 +000018252<p>References <a class="el" href="_size2_d_8h_source.xhtml#l00093">Size2D::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00789">PoolingLayerInfo::is_global_pooling()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00779">PoolingLayerInfo::pad_stride_info()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00774">PoolingLayerInfo::pool_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00769">PoolingLayerInfo::pool_type()</a>, and <a class="el" href="_size2_d_8h_source.xhtml#l00092">Size2D::width</a>.</p>
18253<div class="fragment"><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;{</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; std::stringstream str;</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;{Type=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160; &lt;&lt; <span class="stringliteral">&quot;IsGlobalPooling=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_global_pooling();</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_global_pooling())</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; {</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; &lt;&lt; <span class="stringliteral">&quot;PoolSize=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_size().width &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_size().height &lt;&lt; <span class="stringliteral">&quot;,&quot;</span></div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; &lt;&lt; <span class="stringliteral">&quot;PadStride=&quot;</span> &lt;&lt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pad_stride_info();</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160; }</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160; str &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -&gt; set_format(Format::S16)</div></div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018254</div><!-- fragment -->
18255</div>
18256</div>
18257<a class="anchor" id="ae4ead564f3c96ea5f1ec7fe035b941f3"></a>
18258<div class="memitem">
18259<div class="memproto">
18260<table class="mlabels">
18261 <tr>
18262 <td class="mlabels-left">
18263 <table class="memname">
18264 <tr>
18265 <td class="memname">std::string arm_compute::to_string </td>
18266 <td>(</td>
18267 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">arm_compute::PhaseType</a> &amp;&#160;</td>
18268 <td class="paramname"><em>type</em></td><td>)</td>
18269 <td></td>
18270 </tr>
18271 </table>
18272 </td>
18273 <td class="mlabels-right">
18274<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18275 </tr>
18276</table>
18277</div><div class="memdoc">
18278
Jenkinsb3a371b2018-05-23 11:36:53 +010018279<p>Formatted output of the PhaseType type. </p>
18280<dl class="params"><dt>Parameters</dt><dd>
18281 <table class="params">
18282 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
18283 </table>
18284 </dd>
18285</dl>
18286<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018287
Jenkins52ba29e2018-08-29 15:32:11 +000018288<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01298">1298</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18289<div class="fragment"><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;{</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; std::stringstream str;</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018290</div>
18291</div>
18292<a class="anchor" id="a42e6f8761f01b5846f56c3b8025c8c0a"></a>
18293<div class="memitem">
18294<div class="memproto">
18295<table class="mlabels">
18296 <tr>
18297 <td class="mlabels-left">
18298 <table class="memname">
18299 <tr>
18300 <td class="memname">std::string arm_compute::to_string </td>
18301 <td>(</td>
18302 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">arm_compute::MagnitudeType</a> &amp;&#160;</td>
18303 <td class="paramname"><em>type</em></td><td>)</td>
18304 <td></td>
18305 </tr>
18306 </table>
18307 </td>
18308 <td class="mlabels-right">
18309<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18310 </tr>
18311</table>
18312</div><div class="memdoc">
18313
Jenkinsb3a371b2018-05-23 11:36:53 +010018314<p>Formatted output of the MagnitudeType type. </p>
18315<dl class="params"><dt>Parameters</dt><dd>
18316 <table class="params">
18317 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output.</td></tr>
18318 </table>
18319 </dd>
18320</dl>
18321<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018322
Jenkins52ba29e2018-08-29 15:32:11 +000018323<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01335">1335</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18324<div class="fragment"><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;{</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; std::stringstream str;</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000018325</div>
18326</div>
18327<a class="anchor" id="a950ba288e8136db4bf52f7c51dea20eb"></a>
18328<div class="memitem">
18329<div class="memproto">
18330<table class="mlabels">
18331 <tr>
18332 <td class="mlabels-left">
18333 <table class="memname">
18334 <tr>
18335 <td class="memname">std::string arm_compute::to_string </td>
18336 <td>(</td>
18337 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> &amp;&#160;</td>
18338 <td class="paramname"><em>type</em></td><td>)</td>
18339 <td></td>
18340 </tr>
18341 </table>
18342 </td>
18343 <td class="mlabels-right">
18344<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18345 </tr>
18346</table>
18347</div><div class="memdoc">
18348
Jenkinsb3a371b2018-05-23 11:36:53 +010018349<p>Formatted output of the HOGNormType type. </p>
18350<dl class="params"><dt>Parameters</dt><dd>
18351 <table class="params">
18352 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
18353 </table>
18354 </dd>
18355</dl>
18356<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000018357
Jenkins52ba29e2018-08-29 15:32:11 +000018358<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01375">1375</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18359<div class="fragment"><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;{</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; std::stringstream str;</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000018360</div>
18361</div>
18362<a class="anchor" id="aee88a2c259879eb9dc18cb5965e87c29"></a>
18363<div class="memitem">
18364<div class="memproto">
18365<table class="mlabels">
18366 <tr>
18367 <td class="mlabels-left">
18368 <table class="memname">
18369 <tr>
18370 <td class="memname">std::string arm_compute::to_string </td>
18371 <td>(</td>
18372 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a> &amp;&#160;</td>
18373 <td class="paramname"><em>type</em></td><td>)</td>
18374 <td></td>
18375 </tr>
18376 </table>
18377 </td>
18378 <td class="mlabels-right">
18379<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18380 </tr>
18381</table>
18382</div><div class="memdoc">
18383
Jenkinsb3a371b2018-05-23 11:36:53 +010018384<p>Formatted output of the <a class="el" href="classarm__compute_1_1_size2_d.xhtml" title="Class for specifying the size of an image or rectangle. ">Size2D</a> type. </p>
18385<dl class="params"><dt>Parameters</dt><dd>
18386 <table class="params">
18387 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
18388 </table>
18389 </dd>
18390</dl>
18391<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000018392
Jenkins52ba29e2018-08-29 15:32:11 +000018393<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01402">1402</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18394<div class="fragment"><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;{</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; std::stringstream str;</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;}</div></div><!-- fragment -->
Anthony Barbierf45d5a92018-01-24 16:23:15 +000018395</div>
18396</div>
18397<a class="anchor" id="a3cf43a216912b361eaffc3c71452a31e"></a>
18398<div class="memitem">
18399<div class="memproto">
18400<table class="mlabels">
18401 <tr>
18402 <td class="mlabels-left">
18403 <table class="memname">
18404 <tr>
18405 <td class="memname">std::string arm_compute::to_string </td>
18406 <td>(</td>
18407 <td class="paramtype">const <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a> &amp;&#160;</td>
18408 <td class="paramname"><em>type</em></td><td>)</td>
18409 <td></td>
18410 </tr>
18411 </table>
18412 </td>
18413 <td class="mlabels-right">
18414<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18415 </tr>
18416</table>
18417</div><div class="memdoc">
18418
18419<p>Formatted output of the <a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml" title="Store the HOG&#39;s metadata. ">HOGInfo</a> type. </p>
Jenkinsb3a371b2018-05-23 11:36:53 +010018420<dl class="params"><dt>Parameters</dt><dd>
18421 <table class="params">
18422 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type to output</td></tr>
18423 </table>
18424 </dd>
18425</dl>
18426<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbierf45d5a92018-01-24 16:23:15 +000018427
Jenkins52ba29e2018-08-29 15:32:11 +000018428<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01436">1436</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18429<div class="fragment"><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;{</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; std::stringstream str;</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;}</div></div><!-- fragment -->
Kaizen8938bd32017-09-28 14:38:23 +010018430</div>
18431</div>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018432<a class="anchor" id="a853d44a32a328fb4455f6200a11c4785"></a>
18433<div class="memitem">
18434<div class="memproto">
18435<table class="mlabels">
18436 <tr>
18437 <td class="mlabels-left">
18438 <table class="memname">
18439 <tr>
18440 <td class="memname">std::string arm_compute::to_string </td>
18441 <td>(</td>
18442 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a683661ae75dcb7aef16b9c9bde31517d">ConvolutionMethod</a> &amp;&#160;</td>
18443 <td class="paramname"><em>conv_method</em></td><td>)</td>
18444 <td></td>
18445 </tr>
18446 </table>
18447 </td>
18448 <td class="mlabels-right">
18449<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18450 </tr>
18451</table>
18452</div><div class="memdoc">
18453
Jenkinsb3a371b2018-05-23 11:36:53 +010018454<p>Formatted output of the ConvolutionMethod type. </p>
18455<dl class="params"><dt>Parameters</dt><dd>
18456 <table class="params">
18457 <tr><td class="paramdir">[in]</td><td class="paramname">conv_method</td><td>Type to output</td></tr>
18458 </table>
18459 </dd>
18460</dl>
18461<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018462
Jenkins52ba29e2018-08-29 15:32:11 +000018463<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01476">1476</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18464<div class="fragment"><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;{</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; std::stringstream str;</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; str &lt;&lt; conv_method;</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;}</div></div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000018465</div>
18466</div>
18467<a class="anchor" id="aee29ccfc095313663fc954f581ddf40a"></a>
18468<div class="memitem">
18469<div class="memproto">
18470<table class="mlabels">
18471 <tr>
18472 <td class="mlabels-left">
18473 <table class="memname">
18474 <tr>
18475 <td class="memname">std::string arm_compute::to_string </td>
18476 <td>(</td>
18477 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> &amp;&#160;</td>
18478 <td class="paramname"><em>gpu_target</em></td><td>)</td>
18479 <td></td>
18480 </tr>
18481 </table>
18482 </td>
18483 <td class="mlabels-right">
18484<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18485 </tr>
18486</table>
18487</div><div class="memdoc">
18488
Jenkinsb3a371b2018-05-23 11:36:53 +010018489<p>Formatted output of the GPUTarget type. </p>
18490<dl class="params"><dt>Parameters</dt><dd>
18491 <table class="params">
18492 <tr><td class="paramdir">[in]</td><td class="paramname">gpu_target</td><td>Type to output</td></tr>
18493 </table>
18494 </dd>
18495</dl>
18496<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
Anthony Barbier06ea0482018-02-22 15:45:35 +000018497
Jenkins52ba29e2018-08-29 15:32:11 +000018498<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01549">1549</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18499<div class="fragment"><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;{</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160; std::stringstream str;</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160; str &lt;&lt; gpu_target;</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010018500</div>
18501</div>
18502<a class="anchor" id="a905d7ec8787e8c4b7e88b0a2faaccd1f"></a>
18503<div class="memitem">
18504<div class="memproto">
18505<table class="mlabels">
18506 <tr>
18507 <td class="mlabels-left">
18508 <table class="memname">
18509 <tr>
18510 <td class="memname">std::string arm_compute::to_string </td>
18511 <td>(</td>
18512 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a> &amp;&#160;</td>
18513 <td class="paramname"><em>detection_window</em></td><td>)</td>
18514 <td></td>
18515 </tr>
18516 </table>
18517 </td>
18518 <td class="mlabels-right">
18519<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18520 </tr>
18521</table>
18522</div><div class="memdoc">
18523
18524<p>Formatted output of the <a class="el" href="structarm__compute_1_1_detection_window.xhtml" title="Detection window used for the object detection. ">DetectionWindow</a> type. </p>
18525<dl class="params"><dt>Parameters</dt><dd>
18526 <table class="params">
18527 <tr><td class="paramdir">[in]</td><td class="paramname">detection_window</td><td>Type to output</td></tr>
18528 </table>
18529 </dd>
18530</dl>
18531<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
18532
Jenkins52ba29e2018-08-29 15:32:11 +000018533<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01581">1581</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18534<div class="fragment"><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;{</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160; std::stringstream str;</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160; str &lt;&lt; detection_window;</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010018535</div>
18536</div>
18537<a class="anchor" id="a51fc944d872cf00c1e8e71ccdf8be264"></a>
18538<div class="memitem">
18539<div class="memproto">
18540<table class="mlabels">
18541 <tr>
18542 <td class="mlabels-left">
18543 <table class="memname">
18544 <tr>
18545 <td class="memname">std::string arm_compute::to_string </td>
18546 <td>(</td>
18547 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> &amp;&#160;</td>
18548 <td class="paramname"><em>termination</em></td><td>)</td>
18549 <td></td>
18550 </tr>
18551 </table>
18552 </td>
18553 <td class="mlabels-right">
18554<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18555 </tr>
18556</table>
18557</div><div class="memdoc">
18558
18559<p>Formatted output of the Termination type. </p>
18560<dl class="params"><dt>Parameters</dt><dd>
18561 <table class="params">
18562 <tr><td class="paramdir">[in]</td><td class="paramname">termination</td><td>Type to output</td></tr>
18563 </table>
18564 </dd>
18565</dl>
18566<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
18567
Jenkins52ba29e2018-08-29 15:32:11 +000018568<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01621">1621</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18569<div class="fragment"><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;{</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160; std::stringstream str;</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160; str &lt;&lt; termination;</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;}</div></div><!-- fragment -->
18570</div>
18571</div>
18572<a class="anchor" id="add33a9d992aeaa69d6940fd896ee5e75"></a>
18573<div class="memitem">
18574<div class="memproto">
18575<table class="mlabels">
18576 <tr>
18577 <td class="mlabels-left">
18578 <table class="memname">
18579 <tr>
18580 <td class="memname">std::string arm_compute::to_string </td>
18581 <td>(</td>
18582 <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#aa41d7415a5386798147cccae2333d5d4">CPUModel</a> &amp;&#160;</td>
18583 <td class="paramname"><em>cpu_model</em></td><td>)</td>
18584 <td></td>
18585 </tr>
18586 </table>
18587 </td>
18588 <td class="mlabels-right">
18589<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18590 </tr>
18591</table>
18592</div><div class="memdoc">
18593
18594<p>Formatted output of the CPUModel type. </p>
18595<dl class="params"><dt>Parameters</dt><dd>
18596 <table class="params">
18597 <tr><td class="paramdir">[in]</td><td class="paramname">cpu_model</td><td>Model to output</td></tr>
18598 </table>
18599 </dd>
18600</dl>
18601<dl class="section return"><dt>Returns</dt><dd>Formatted string. </dd></dl>
18602
18603<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01670">1670</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18604<div class="fragment"><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160;{</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; std::stringstream str;</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; str &lt;&lt; cpu_model;</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;}</div></div><!-- fragment -->
18605</div>
18606</div>
18607<a class="anchor" id="a6411da4e87e64e8859f8b725645ee9aa"></a>
18608<div class="memitem">
18609<div class="memproto">
18610 <table class="memname">
18611 <tr>
18612 <td class="memname">std::string arm_compute::to_string </td>
18613 <td>(</td>
18614 <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
18615 <td class="paramname"><em>args</em></td><td>)</td>
18616 <td></td>
18617 </tr>
18618 </table>
18619</div><div class="memdoc">
18620
18621<p>Formatted output of a vector of objects. </p>
18622<dl class="params"><dt>Parameters</dt><dd>
18623 <table class="params">
18624 <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> of objects to print</td></tr>
18625 </table>
18626 </dd>
18627</dl>
18628<dl class="section return"><dt>Returns</dt><dd>String representing args. </dd></dl>
18629
18630<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01711">1711</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18631<div class="fragment"><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;{</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; std::stringstream str;</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; str &lt;&lt; args;</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;}</div></div><!-- fragment -->
Jenkinsb3a371b2018-05-23 11:36:53 +010018632</div>
18633</div>
18634<a class="anchor" id="a37cc282b0852aab04b13a6e6566adda7"></a>
18635<div class="memitem">
18636<div class="memproto">
18637<table class="mlabels">
18638 <tr>
18639 <td class="mlabels-left">
18640 <table class="memname">
18641 <tr>
18642 <td class="memname">std::string arm_compute::to_string </td>
18643 <td>(</td>
18644 <td class="paramtype">const <a class="el" href="structarm__compute_1_1_winograd_info.xhtml">WinogradInfo</a> &amp;&#160;</td>
18645 <td class="paramname"><em>type</em></td><td>)</td>
18646 <td></td>
18647 </tr>
18648 </table>
18649 </td>
18650 <td class="mlabels-right">
18651<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18652 </tr>
18653</table>
18654</div><div class="memdoc">
18655
Jenkins52ba29e2018-08-29 15:32:11 +000018656<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01729">1729</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18657<div class="fragment"><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;{</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; std::stringstream str;</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; str &lt;&lt; type;</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;}</div></div><!-- fragment -->
18658</div>
18659</div>
18660<a class="anchor" id="a1d8c24abe3cf6edd704d126d1d2a5420"></a>
18661<div class="memitem">
18662<div class="memproto">
18663<table class="mlabels">
18664 <tr>
18665 <td class="mlabels-left">
18666 <table class="memname">
18667 <tr>
18668 <td class="memname">std::string arm_compute::to_string </td>
18669 <td>(</td>
18670 <td class="paramtype">const T &amp;&#160;</td>
18671 <td class="paramname"><em>val</em></td><td>)</td>
18672 <td></td>
18673 </tr>
18674 </table>
18675 </td>
18676 <td class="mlabels-right">
18677<span class="mlabels"><span class="mlabel">inline</span></span> </td>
18678 </tr>
18679</table>
18680</div><div class="memdoc">
18681
18682<p>Fallback method: try to use std::to_string: </p>
18683<dl class="params"><dt>Parameters</dt><dd>
18684 <table class="params">
18685 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Value to convert to string</td></tr>
18686 </table>
18687 </dd>
18688</dl>
18689<dl class="section return"><dt>Returns</dt><dd>String representing val. </dd></dl>
18690
18691<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l01743">1743</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18692
18693<p>References <a class="el" href="_toolchain_support_8h_source.xhtml#l00210">arm_compute::support::cpp11::to_string()</a>.</p>
18694<div class="fragment"><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;{</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">support::cpp11::to_string</a>(val);</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a1d8c24abe3cf6edd704d126d1d2a5420"><div class="ttname"><a href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const T &amp;val)</div><div class="ttdoc">Fallback method: try to use std::to_string: </div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l01743">TypePrinter.h:1743</a></div></div>
18695</div><!-- fragment -->
18696</div>
18697</div>
18698<a class="anchor" id="ad023d4ca1d3facf3975c941fd728a6f4"></a>
18699<div class="memitem">
18700<div class="memproto">
18701 <table class="memname">
18702 <tr>
18703 <td class="memname">std::string arm_compute::to_string_if_not_null </td>
18704 <td>(</td>
18705 <td class="paramtype">T *&#160;</td>
18706 <td class="paramname"><em>arg</em></td><td>)</td>
18707 <td></td>
18708 </tr>
18709 </table>
18710</div><div class="memdoc">
18711
18712<p>Formatted output if arg is not null. </p>
18713<dl class="params"><dt>Parameters</dt><dd>
18714 <table class="params">
18715 <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Object to print</td></tr>
18716 </table>
18717 </dd>
18718</dl>
18719<dl class="section return"><dt>Returns</dt><dd>String representing arg. </dd></dl>
18720
18721<p>Definition at line <a class="el" href="utils_2_type_printer_8h_source.xhtml#l00051">51</a> of file <a class="el" href="utils_2_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
18722
18723<p>References <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00064">to_string()</a>.</p>
18724<div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span>(arg == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;nullptr&quot;</span>;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">to_string</a>(*arg);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a1d8c24abe3cf6edd704d126d1d2a5420"><div class="ttname"><a href="namespacearm__compute.xhtml#a1d8c24abe3cf6edd704d126d1d2a5420">arm_compute::to_string</a></div><div class="ttdeci">std::string to_string(const T &amp;val)</div><div class="ttdoc">Fallback method: try to use std::to_string: </div><div class="ttdef"><b>Definition:</b> <a href="utils_2_type_printer_8h_source.xhtml#l01743">TypePrinter.h:1743</a></div></div>
18725</div><!-- fragment -->
Anthony Barbier06ea0482018-02-22 15:45:35 +000018726</div>
18727</div>
Anthony Barbier871448e2017-03-24 14:54:29 +000018728<a class="anchor" id="ac2a92cae51d2734a65676052adb33c22"></a>
18729<div class="memitem">
18730<div class="memproto">
18731 <table class="memname">
18732 <tr>
18733 <td class="memname">bool arm_compute::update_window_and_padding </td>
18734 <td>(</td>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018735 <td class="paramtype"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018736 <td class="paramname"><em>win</em>, </td>
18737 </tr>
18738 <tr>
18739 <td class="paramkey"></td>
18740 <td></td>
18741 <td class="paramtype">Ts &amp;&amp;...&#160;</td>
18742 <td class="paramname"><em>patterns</em>&#160;</td>
18743 </tr>
18744 <tr>
18745 <td></td>
18746 <td>)</td>
18747 <td></td><td></td>
18748 </tr>
18749 </table>
18750</div><div class="memdoc">
18751
18752<p>Update window and padding size for each of the access patterns. </p>
18753<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>
18754<dl class="params"><dt>Parameters</dt><dd>
18755 <table class="params">
18756 <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>
18757 <tr><td class="paramdir">[in]</td><td class="paramname">patterns</td><td>Access patterns used to calculate the final window and padding.</td></tr>
18758 </table>
18759 </dd>
18760</dl>
18761<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>
18762
Jenkinsb3a371b2018-05-23 11:36:53 +010018763<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00368">368</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000018764
Jenkins52ba29e2018-08-29 15:32:11 +000018765<p>References <a class="el" href="namespacearm__compute.xhtml#a1c28e5916fd54b778da115bfe646f588">calculate_max_window()</a>, <a class="el" href="_utility_8h_source.xhtml#l00091">arm_compute::utility::for_each()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5a5f3d4d4461121db2e4e3b4d3ee587f">IAccessWindow::update_padding_if_needed()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>, and <a class="el" href="_c_l_2_arithmetic_division_8cpp_source.xhtml#l00107">arm_compute::test::validation::valid_region</a>.</p>
Jenkinsb3a371b2018-05-23 11:36:53 +010018766<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; <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</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; <a class="code" href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">utility::for_each</a>([&amp;](<span class="keyword">const</span> IAccessWindow &amp; w)</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; window_changed |= w.update_window_if_needed(win);</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; patterns...);</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="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</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; <a class="code" href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">utility::for_each</a>([&amp;](IAccessWindow &amp; w)</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; padding_changed |= w.update_padding_if_needed(win);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; },</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; patterns...);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">return</span> window_changed;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1utility_xhtml_a067ebd28103d827b6ec17032e2344064"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#a067ebd28103d827b6ec17032e2344064">arm_compute::utility::for_each</a></div><div class="ttdeci">void for_each(F &amp;&amp;)</div><div class="ttdoc">Base case of for_each. </div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00091">Utility.h:91</a></div></div>
Kaizen8938bd32017-09-28 14:38:23 +010018767</div><!-- fragment -->
18768</div>
18769</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018770<a class="anchor" id="ab55486f1153a4c5f507d4923b59fc6a0"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018771<div class="memitem">
18772<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018773 <table class="memname">
18774 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010018775 <td class="memname">float32x4_t arm_compute::vexpq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018776 <td>(</td>
18777 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018778 <td class="paramname"><em>x</em></td><td>)</td>
18779 <td></td>
18780 </tr>
18781 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000018782</div><div class="memdoc">
18783
18784<p>Calculate exponential. </p>
18785<dl class="params"><dt>Parameters</dt><dd>
18786 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018787 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F32 format.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000018788 </table>
18789 </dd>
18790</dl>
18791<dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
18792
Kaizen8938bd32017-09-28 14:38:23 +010018793</div>
18794</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018795<a class="anchor" id="af7a0f3e622aa4bc8c6077d2262a04e2e"></a>
Kaizen8938bd32017-09-28 14:38:23 +010018796<div class="memitem">
18797<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010018798 <table class="memname">
18799 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010018800 <td class="memname">float32x4_t arm_compute::vfloorq_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010018801 <td>(</td>
18802 <td class="paramtype">float32x4_t&#160;</td>
18803 <td class="paramname"><em>val</em></td><td>)</td>
18804 <td></td>
18805 </tr>
18806 </table>
Kaizen8938bd32017-09-28 14:38:23 +010018807</div><div class="memdoc">
18808
18809<p>Calculate floor of a vector. </p>
18810<dl class="params"><dt>Parameters</dt><dd>
18811 <table class="params">
18812 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
18813 </table>
18814 </dd>
18815</dl>
18816<dl class="section return"><dt>Returns</dt><dd>The calculated floor vector. </dd></dl>
18817
Kaizen8938bd32017-09-28 14:38:23 +010018818</div>
18819</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018820<a class="anchor" id="acc6fd1bcd12ef1141e15401a04d31187"></a>
Kaizen8938bd32017-09-28 14:38:23 +010018821<div class="memitem">
18822<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010018823 <table class="memname">
18824 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010018825 <td class="memname">float32x2_t arm_compute::vinv_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010018826 <td>(</td>
18827 <td class="paramtype">float32x2_t&#160;</td>
18828 <td class="paramname"><em>x</em></td><td>)</td>
18829 <td></td>
18830 </tr>
18831 </table>
Kaizen8938bd32017-09-28 14:38:23 +010018832</div><div class="memdoc">
18833
18834<p>Calculate reciprocal. </p>
18835<dl class="params"><dt>Parameters</dt><dd>
18836 <table class="params">
18837 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18838 </table>
18839 </dd>
18840</dl>
18841<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18842
Anthony Barbierdbdab852017-06-23 15:42:00 +010018843</div>
18844</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018845<a class="anchor" id="a2e0f2412b4d1302272d1aeb85d21ab25"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018846<div class="memitem">
18847<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018848 <table class="memname">
18849 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010018850 <td class="memname">float32x4_t arm_compute::vinvq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018851 <td>(</td>
18852 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018853 <td class="paramname"><em>x</em></td><td>)</td>
18854 <td></td>
18855 </tr>
18856 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000018857</div><div class="memdoc">
18858
18859<p>Calculate reciprocal. </p>
18860<dl class="params"><dt>Parameters</dt><dd>
18861 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018862 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000018863 </table>
18864 </dd>
18865</dl>
18866<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
18867
Kaizen8938bd32017-09-28 14:38:23 +010018868</div>
18869</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018870<a class="anchor" id="afc415e7fc5e633a0b85b08b2bba5b5cf"></a>
Kaizen8938bd32017-09-28 14:38:23 +010018871<div class="memitem">
18872<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010018873 <table class="memname">
18874 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010018875 <td class="memname">float32x2_t arm_compute::vinvsqrt_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010018876 <td>(</td>
18877 <td class="paramtype">float32x2_t&#160;</td>
18878 <td class="paramname"><em>x</em></td><td>)</td>
18879 <td></td>
18880 </tr>
18881 </table>
Kaizen8938bd32017-09-28 14:38:23 +010018882</div><div class="memdoc">
18883
18884<p>Calculate inverse square root. </p>
18885<dl class="params"><dt>Parameters</dt><dd>
18886 <table class="params">
18887 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
18888 </table>
18889 </dd>
18890</dl>
18891<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
18892
Kaizen8938bd32017-09-28 14:38:23 +010018893</div>
18894</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018895<a class="anchor" id="ab8970d7aed07d8649f5e3088455948b8"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018896<div class="memitem">
18897<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018898 <table class="memname">
18899 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010018900 <td class="memname">float32x4_t arm_compute::vinvsqrtq_f32 </td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018901 <td>(</td>
18902 <td class="paramtype">float32x4_t&#160;</td>
18903 <td class="paramname"><em>x</em></td><td>)</td>
18904 <td></td>
18905 </tr>
18906 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000018907</div><div class="memdoc">
18908
18909<p>Calculate inverse square root. </p>
18910<dl class="params"><dt>Parameters</dt><dd>
18911 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018912 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000018913 </table>
18914 </dd>
18915</dl>
18916<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
18917
Kaizen8938bd32017-09-28 14:38:23 +010018918</div>
18919</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018920<a class="anchor" id="a1d090b80b655e7f8fd8977bb93808b04"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018921<div class="memitem">
18922<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018923 <table class="memname">
18924 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010018925 <td class="memname">float32x4_t arm_compute::vlogq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010018926 <td>(</td>
18927 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000018928 <td class="paramname"><em>x</em></td><td>)</td>
18929 <td></td>
18930 </tr>
18931 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000018932</div><div class="memdoc">
18933
18934<p>Calculate logarithm. </p>
18935<dl class="params"><dt>Parameters</dt><dd>
18936 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010018937 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F32 format.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000018938 </table>
18939 </dd>
18940</dl>
18941<dl class="section return"><dt>Returns</dt><dd>The calculated logarithm. </dd></dl>
18942
Anthony Barbier871448e2017-03-24 14:54:29 +000018943</div>
18944</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010018945<a class="anchor" id="ace593813d742d127296b09fa8ab3f85e"></a>
Kaizen8938bd32017-09-28 14:38:23 +010018946<div class="memitem">
18947<div class="memproto">
Kaizen8938bd32017-09-28 14:38:23 +010018948 <table class="memname">
18949 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010018950 <td class="memname">float32x4x2_t arm_compute::vmax2q_f32 </td>
Kaizen8938bd32017-09-28 14:38:23 +010018951 <td>(</td>
18952 <td class="paramtype">float32x4x2_t&#160;</td>
18953 <td class="paramname"><em>a</em>, </td>
18954 </tr>
18955 <tr>
18956 <td class="paramkey"></td>
18957 <td></td>
18958 <td class="paramtype">float32x4x2_t&#160;</td>
18959 <td class="paramname"><em>b</em>&#160;</td>
18960 </tr>
18961 <tr>
18962 <td></td>
18963 <td>)</td>
18964 <td></td><td></td>
18965 </tr>
18966 </table>
Kaizen8938bd32017-09-28 14:38:23 +010018967</div><div class="memdoc">
18968
18969<p>Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. </p>
18970<dl class="params"><dt>Parameters</dt><dd>
18971 <table class="params">
18972 <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Float input vector </td></tr>
18973 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Float input vector</td></tr>
18974 </table>
18975 </dd>
18976</dl>
18977<dl class="section return"><dt>Returns</dt><dd>The lane-by-lane maximum -&gt; float32x4x2 </dd></dl>
18978
Kaizen8938bd32017-09-28 14:38:23 +010018979</div>
18980</div>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000018981<a class="anchor" id="aba8de9eaa10a7cb45c5aa603585d0e4c"></a>
18982<div class="memitem">
18983<div class="memproto">
18984<table class="mlabels">
18985 <tr>
18986 <td class="mlabels-left">
18987 <table class="memname">
18988 <tr>
18989 <td class="memname"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> vmlaq_qasymm8 </td>
18990 <td>(</td>
18991 <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a>&#160;</td>
18992 <td class="paramname"><em>vd</em>, </td>
18993 </tr>
18994 <tr>
18995 <td class="paramkey"></td>
18996 <td></td>
18997 <td class="paramtype">float32x4_t&#160;</td>
18998 <td class="paramname"><em>vs</em>, </td>
18999 </tr>
19000 <tr>
19001 <td class="paramkey"></td>
19002 <td></td>
19003 <td class="paramtype">float32x4_t&#160;</td>
19004 <td class="paramname"><em>vo</em>&#160;</td>
19005 </tr>
19006 <tr>
19007 <td></td>
19008 <td>)</td>
19009 <td></td><td></td>
19010 </tr>
19011 </table>
19012 </td>
19013 <td class="mlabels-right">
19014<span class="mlabels"><span class="mlabel">inline</span></span> </td>
19015 </tr>
19016</table>
19017</div><div class="memdoc">
19018
19019<p>Perform a multiply-accumulate on all 16 components of a QASYMM8 vector. </p>
19020<p>vd*vs + vo</p>
19021<dl class="params"><dt>Parameters</dt><dd>
19022 <table class="params">
19023 <tr><td class="paramdir">[in]</td><td class="paramname">vd</td><td>Input vector value in QASYMM8 format </td></tr>
19024 <tr><td class="paramdir">[in]</td><td class="paramname">vs</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> multiplier in F32 format. The multiplier value must be duplicated across all four lanes. </td></tr>
19025 <tr><td class="paramdir">[in]</td><td class="paramname">vo</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> addend in F32 format. The addend value must be duplicated across all four lanes.</td></tr>
19026 </table>
19027 </dd>
19028</dl>
19029<dl class="section return"><dt>Returns</dt><dd>A 16-component vector in QASYMM8 format, saturated to fit </dd></dl>
19030
19031<p>Definition at line <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00034">34</a> of file <a class="el" href="_n_e_asymm_8inl_source.xhtml">NEAsymm.inl</a>.</p>
19032<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">// Convert uint8 vectors to uint16 vectors</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">const</span> uint8x8_t vd_low = vget_low_u8(vd);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">const</span> uint8x8_t vd_high = vget_high_u8(vd);</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; uint16x8_t vd_low_u16x8 = vmovl_u8(vd_low);</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; uint16x8_t vd_high_u16x8 = vmovl_u8(vd_high);</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">// Convert uint16 vectors to uint32 vectors</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; uint32x4_t A_u32x4 = vmovl_u16(vget_low_u16(vd_low_u16x8));</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; uint32x4_t B_u32x4 = vmovl_u16(vget_high_u16(vd_low_u16x8));</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; uint32x4_t C_u32x4 = vmovl_u16(vget_low_u16(vd_high_u16x8));</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; uint32x4_t D_u32x4 = vmovl_u16(vget_high_u16(vd_high_u16x8));</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Convert uint32 vectors to float32 vectors</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; float32x4_t A_f32x4 = vcvtq_f32_u32(A_u32x4);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; float32x4_t B_f32x4 = vcvtq_f32_u32(B_u32x4);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; float32x4_t C_f32x4 = vcvtq_f32_u32(C_u32x4);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; float32x4_t D_f32x4 = vcvtq_f32_u32(D_u32x4);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// vd = vd*vs + vo</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; A_f32x4 = vmlaq_f32(vo, A_f32x4, vs);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; B_f32x4 = vmlaq_f32(vo, B_f32x4, vs);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; C_f32x4 = vmlaq_f32(vo, C_f32x4, vs);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; D_f32x4 = vmlaq_f32(vo, D_f32x4, vs);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// Convert float32 vectors to uint32 vectors</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; A_u32x4 = vcvtq_u32_f32(A_f32x4);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; B_u32x4 = vcvtq_u32_f32(B_f32x4);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; C_u32x4 = vcvtq_u32_f32(C_f32x4);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; D_u32x4 = vcvtq_u32_f32(D_f32x4);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Convert uint32 vectors to uint16 vectors (with saturation)</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; vd_low_u16x8 = vcombine_u16(vqmovn_u32(A_u32x4), vqmovn_u32(B_u32x4));</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; vd_high_u16x8 = vcombine_u16(vqmovn_u32(C_u32x4), vqmovn_u32(D_u32x4));</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// convert uint16 vectors to uint8 vectors (with saturation)</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> vcombine_u8(vqmovn_u16(vd_low_u16x8), vqmovn_u16(vd_high_u16x8));</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}</div></div><!-- fragment -->
19033</div>
19034</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010019035<a class="anchor" id="aa6465367a67af2bae4ca46750231dae0"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019036<div class="memitem">
19037<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010019038 <table class="memname">
19039 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010019040 <td class="memname">float32x4_t arm_compute::vpowq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019041 <td>(</td>
19042 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019043 <td class="paramname"><em>val</em>, </td>
19044 </tr>
19045 <tr>
19046 <td class="paramkey"></td>
19047 <td></td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019048 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019049 <td class="paramname"><em>n</em>&#160;</td>
19050 </tr>
19051 <tr>
19052 <td></td>
19053 <td>)</td>
19054 <td></td><td></td>
19055 </tr>
19056 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000019057</div><div class="memdoc">
19058
19059<p>Calculate n power of a number. </p>
19060<p>pow(x,n) = e^(n*log(x))</p>
19061<dl class="params"><dt>Parameters</dt><dd>
19062 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010019063 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format. </td></tr>
19064 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Powers to raise the input to.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000019065 </table>
19066 </dd>
19067</dl>
19068<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
19069
Kaizen8938bd32017-09-28 14:38:23 +010019070</div>
19071</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010019072<a class="anchor" id="a3e59419da344d02daca9c5b274a1da45"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019073<div class="memitem">
19074<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010019075 <table class="memname">
19076 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010019077 <td class="memname">float32x4_t arm_compute::vtanhq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019078 <td>(</td>
19079 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019080 <td class="paramname"><em>val</em></td><td>)</td>
19081 <td></td>
19082 </tr>
19083 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000019084</div><div class="memdoc">
19085
19086<p>Calculate hyperbolic tangent. </p>
19087<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
Anthony Barbier46d59272017-05-04 09:15:15 +010019088<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 +000019089<dl class="params"><dt>Parameters</dt><dd>
19090 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010019091 <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000019092 </table>
19093 </dd>
19094</dl>
19095<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
19096
Anthony Barbier871448e2017-03-24 14:54:29 +000019097</div>
19098</div>
Jenkinsb3a371b2018-05-23 11:36:53 +010019099<a class="anchor" id="a0c10bb00a86edd8d0cd4c33b494f6cd4"></a>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019100<div class="memitem">
19101<div class="memproto">
Anthony Barbierdbdab852017-06-23 15:42:00 +010019102 <table class="memname">
19103 <tr>
Jenkinsb3a371b2018-05-23 11:36:53 +010019104 <td class="memname">float32x4_t arm_compute::vtaylor_polyq_f32 </td>
Anthony Barbierdbdab852017-06-23 15:42:00 +010019105 <td>(</td>
19106 <td class="paramtype">float32x4_t&#160;</td>
Anthony Barbier871448e2017-03-24 14:54:29 +000019107 <td class="paramname"><em>x</em>, </td>
19108 </tr>
19109 <tr>
19110 <td class="paramkey"></td>
19111 <td></td>
19112 <td class="paramtype">const std::array&lt; float32x4_t, 8 &gt; &amp;&#160;</td>
19113 <td class="paramname"><em>coeffs</em>&#160;</td>
19114 </tr>
19115 <tr>
19116 <td></td>
19117 <td>)</td>
19118 <td></td><td></td>
19119 </tr>
19120 </table>
Anthony Barbier871448e2017-03-24 14:54:29 +000019121</div><div class="memdoc">
19122
19123<p>Perform a 7th degree polynomial approximation using Estrin's method. </p>
19124<dl class="params"><dt>Parameters</dt><dd>
19125 <table class="params">
Anthony Barbierdbdab852017-06-23 15:42:00 +010019126 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F32 format. </td></tr>
19127 <tr><td class="paramdir">[in]</td><td class="paramname">coeffs</td><td>Polynomial coefficients table.</td></tr>
Anthony Barbier871448e2017-03-24 14:54:29 +000019128 </table>
19129 </dd>
19130</dl>
19131<dl class="section return"><dt>Returns</dt><dd>The calculated approximation. </dd></dl>
19132
Anthony Barbier871448e2017-03-24 14:54:29 +000019133</div>
19134</div>
19135<h2 class="groupheader">Variable Documentation</h2>
19136<a class="anchor" id="a3fed059965fe44cbe7ed4091d6b63acf"></a>
19137<div class="memitem">
19138<div class="memproto">
19139 <table class="memname">
19140 <tr>
19141 <td class="memname">constexpr uint8_t CONSTANT_BORDER_VALUE = 199</td>
19142 </tr>
19143 </table>
19144</div><div class="memdoc">
19145
19146<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>
19147
Jenkins52ba29e2018-08-29 15:32:11 +000019148<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00098">98</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019149
19150</div>
19151</div>
19152<a class="anchor" id="a869945609357fa552d94eb16f7aad4e9"></a>
19153<div class="memitem">
19154<div class="memproto">
19155 <table class="memname">
19156 <tr>
19157 <td class="memname">const std::array&lt;float32x4_t, 8&gt; exp_tab</td>
19158 </tr>
19159 </table>
19160</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019161<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 -->
Jenkinsb3a371b2018-05-23 11:36:53 +010019162<p>Exponent polynomial coefficients. </p>
19163
Anthony Barbierdbdab852017-06-23 15:42:00 +010019164<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00028">28</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
19165
Anthony Barbier871448e2017-03-24 14:54:29 +000019166</div>
19167</div>
19168<a class="anchor" id="a48fb9cf404e8f7043235bf14105c9793"></a>
19169<div class="memitem">
19170<div class="memproto">
19171 <table class="memname">
19172 <tr>
19173 <td class="memname">const std::array&lt;float32x4_t, 8&gt; log_tab</td>
19174 </tr>
19175 </table>
19176</div><div class="memdoc">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019177<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 -->
Jenkinsb3a371b2018-05-23 11:36:53 +010019178<p>Logarithm polynomial coefficients. </p>
19179
Anthony Barbierdbdab852017-06-23 15:42:00 +010019180<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
19181
Anthony Barbier871448e2017-03-24 14:54:29 +000019182</div>
19183</div>
19184<a class="anchor" id="a769d636d7a3c7c84579a5f477a18bc9d"></a>
19185<div class="memitem">
19186<div class="memproto">
19187 <table class="memname">
19188 <tr>
19189 <td class="memname">constexpr size_t MAX_DIMS = 6</td>
19190 </tr>
19191 </table>
19192</div><div class="memdoc">
19193
Jenkinsb3a371b2018-05-23 11:36:53 +010019194<p>Constant value used to indicate maximum dimensions of a <a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a>, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> and <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a>. </p>
19195
Anthony Barbier871448e2017-03-24 14:54:29 +000019196<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>
19197
19198</div>
19199</div>
19200<a class="anchor" id="af9876aedd664cac0ddeacddb40cb71cd"></a>
19201<div class="memitem">
19202<div class="memproto">
19203 <table class="memname">
19204 <tr>
19205 <td class="memname">constexpr float SCALE_PYRAMID_HALF = 0.5f</td>
19206 </tr>
19207 </table>
19208</div><div class="memdoc">
19209
Jenkinsb3a371b2018-05-23 11:36:53 +010019210<p>Constant value used to indicate a half-scale pyramid. </p>
19211
Jenkins52ba29e2018-08-29 15:32:11 +000019212<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00101">101</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019213
Jenkins52ba29e2018-08-29 15:32:11 +000019214<p>Referenced by <a class="el" href="validation_2_c_l_2_gaussian_pyramid_8cpp_source.xhtml#l00073">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_gaussian_pyramid_half_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::gaussian_pyramid_half()</a>, and <a class="el" href="validation_2reference_2_optical_flow_8cpp_source.xhtml#l00246">arm_compute::test::validation::reference::optical_flow()</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019215
19216</div>
19217</div>
19218<a class="anchor" id="a2ebcd5423d5fba468e7debd2e1aabe91"></a>
19219<div class="memitem">
19220<div class="memproto">
19221 <table class="memname">
19222 <tr>
19223 <td class="memname">constexpr float SCALE_PYRAMID_ORB = 8.408964152537146130583778358414e-01</td>
19224 </tr>
19225 </table>
19226</div><div class="memdoc">
19227
Jenkinsb3a371b2018-05-23 11:36:53 +010019228<p>Constant value used to indicate a ORB scaled pyramid. </p>
19229
Jenkins52ba29e2018-08-29 15:32:11 +000019230<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00104">104</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
Anthony Barbier871448e2017-03-24 14:54:29 +000019231
19232</div>
19233</div>
19234</div><!-- contents -->
19235</div><!-- doc-content -->
19236<!-- start footer part -->
19237<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
19238 <ul>
19239 <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li>
Jenkins52ba29e2018-08-29 15:32:11 +000019240 <li class="footer">Generated on Wed Aug 29 2018 15:31:41 for Compute Library by
Anthony Barbier871448e2017-03-24 14:54:29 +000019241 <a href="http://www.doxygen.org/index.html">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000019242 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
Anthony Barbier871448e2017-03-24 14:54:29 +000019243 </ul>
19244</div>
19245</body>
19246</html>